Midterm Flashcards
What is the definition of Software Engineering? (use IEEE)
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software and the study of it
Software engineering is concerned with BIG programs. name 7 central themes of Software engineering
Mastering complexity Software evolves Efficiency is of crucial importance You do it as a team Software has to support its users effectively Involves different disciplines SE is a balancing act
T/F If a software component works perfectly well in one environment, if should do so in another?
False
T/F The introduction of the term of Software Engineering was in a NATO conference in 1968/1969.
True
T/F We should include a feasibility study in the Requirement Engineering.
True
T/F Verification is “are we building the right system”?
False
T/F We should start testing activities in phase 1, on day 1, even if there is no source code yet.
True
T/F In 40-20-40 rule, maintenance counts for one of the 40.
False
T/F Perfective maintenance adapts to changes in the environment (both hardware and software).
False
T/F Manager of a software company should promote productivity and sacrifice quality and ethical approach a little bit if needed, because software engineering is a balancing act.
False
T/F In the context of Software Engineering, SaaS stands for Software as a Service.
True
T/F Build software component with and for reuse.
True
T/F Define software artifacts rigorously
True
T/FEstablish a software process that provides flexibility.
True
T/F Manage quality as informal as possible.
False
T/F Don’t limit software components interaction, and don’t control complexity with multiple perspectives and multiple levels of abstraction.
False
T/F Produce software in a stepwise fashion
True
T/F Prevent change in software development process
False
T/F Tradeoffs are inherit, so make them explicit and document them
True
T/F Uncertainty is unavoidable, so identify and manage it.
True
T/F Software engineering is a balancing act. Solutions are not right or wrong; at most they are better or worse.
True
T/F To improve design, study previous solutions to similar problems.
True
T/F Set quality objectives for each deliverable product.
True
T/F We cannot use quantitative measurements in decision-making, because it is not possible.
False
T/F As the deadline of the due date is approaching, we need to add more people in the team to speed it up.
False
T/F Agile projects do less planning than document-driven projects that means documentation is not important at all.
False
T/F Quality has to be designed in, and is not an afterthought
True
T/F Waterfall model is a good choice if the complete requirement is known accurately upfront.
True
T/F The V-Model is not a waterfall model
False
T/F Agile process prefer working software over comprehensive documentation.
True
T/F Agile process prefer following a plan to respond to change.
False
T/F We should never throw away a prototype, because we already spent money and time on it.
False