8. Design Process Flashcards
(14 cards)
System Development Life Cycle Phases
Analysis phase
Design phase
Implementation phase
Testing phase
SDLC Analysis Phase
Defines a programs goals
SDLC Design Phase
Defines specifics of how to build a program.
SDLC Implementation Phase
Writing the program.
SDLC Testing Phase
Checks that the programs correctly meets the goals.
Waterfall Approach
A program can be built by carrying out the SDLC phases in sequence
Agile Approach (or Spiral Approach)
A program can be built by doing small amounts of each SDLC phases in sequence, and then repeating
Object
- A grouping of data (variables)
- Operations that can be performed on that data (functions).
Abstraction
To have a user interact with an item at a high-level, with lower-level internal details hidden from the user (aka information hiding or encapsulation)
Abstract Data Type (ADT)
- A data type whose creation and update are constrained to specific well-defined operations.
- A class can be used to implement an ADT.
Universal Modeling Language (UML)
- A modeling language for software design
- Uses different types of diagrams to visualize structure and behavior of programs.
- UML consists of several structural and behavioral diagrams
Software Requirements Rpecification (SRS),
- Document describing all requirements for the software product.
- Analysis phase
- UML diagrams for several use cases.
Waterfall pro/con
Pros
- Requirements set early, in agreement with client
- Progress and time to completion easily measured
Cons
- Mistakes noticed late may require starting over
- When requirements change, can’t go back to an
earlier phase
Agile pro/con
Pro
- Frequent developer communication
- Easier to handle requirement changes
Con
- Final design uncertain as iterations repeat
- Cycles repeat as more and more problems are found, making product completion difficult