01 Software and UML Flashcards
software engineering approaches
- water fall
- incremental
- evolved
waterfall model flow
- communication
- planning
- modeling
- construction
- deployment
when should we use waterfall model
- well defined requirements
- adequate resources
- good team expertise
- not too large project
- no urgent need
Incremental model flow
- communication
- planning
- construction
- deployment
- incremental 1
when should we use incremental model
- requirements reasonably defined
- quick prototype
- new technology involved
- team is not very skilled
evolutionary process models
- designed to accommodate software product changing over time
- combination of iterative and incremental
- breakdown work into smaller chunks, prioritise chunks
- spiral model, prototyping model
prototyping model flow
- communication
- quick plan
- model quick design
- prototype construction
- deployment, evaluation and feedback
when should we use prototyping model
- small, low cost system
- unclear, incomplete requirement
- active customer involvement
- lack of experience
spiral model
- communication
- planning
- modeling
- construction
- deployment
each phase has a milestone
when should we use spiral model
- unclear requirements
- able to tolerate high risk
- large scale and complex
- frequent releases
what is UML modeling
represent system using graphical notation
UML models
structure model - class diagram
behavior model
- use case diagram
- activity diagram
- sequence diagram
- state diagram
structure models
display organization of components making up the system and their relationship
behavioral model
show dynamic behaviour of a system, how it respond to stimulus
stimulus types
- data: to be processed by system
- events: triggers the system
data driven modeling
shows entire sequence of actions from initial input to corresponding output