Final Exam Study Guide
Planning Phase
–✔ makes modifications easier to fix in a project
Organizing Phase
-✔ hiring the right people and placing them in the right roles
Monitoring Phase
-✔ project progress tracking process
Adjusting Phase
-✔ changing areas of the project that need to be changed
Describe a way to simplify a complex problem.
-✔ we divide the problem into smaller segments by following the certain type of activities:
The problem would have to be broken down into small, doable sections. Then, the next thing to
do would be to determine whether the software system solution should be made and broken
down along the lines of the small sections. This would be decomposition.
How do we find the number of communication paths in a group of people of n number?
-✔ the sum (n-1)
Important nontechnical concerns in large software development are:
-✔ estimation and planning
What must we understand before jumping into implementing the solution?
-✔ Problem description and the requirements
, SWE 3313: Intro to Software Engineering
Final Exam Study Guide
What is the main areas that need to be coordinates in large software projects?
-✔ Process, product, and people
The key to attacking large and complex problems is to consider some form of simplification
through the following types of activities:
-✔ Decomposition Modularization Separation Incremental iterations
SDLC
-✔ Software Development Life Cycle
UML
-✔ Unified Modeling Language
What are statements that constrain the ways in which the software can be designed and
implemented?
-✔ Design constraints are affirmations that limit the methods in which the software can be
made and used.
List three of the typical kinds of non-functional requirements.
-✔ Some typical kinds of non-functional requirements are: performance, modifiability, and
usability.
Define the depth versus the breadth issue in software complexity.
-✔ The depth issue deals with the connections and associations among items. Those
connections may be through the sharing of data, or through the transfer of control, or both.
Breadth issue, however, addresses things like: interfaces with other systems, major functions,
and features within each functional area, types of data and/or data structures, and simultaneous
users.