n301/SoftEng2 n301.tplt Enemies of software projects: unclear, unstable requirements inadequate customer communication inefficient team communication unecessary complexity ineffective team behavior How People Solve Problems Software engineering models Waterfall Spiral Controlled Iteration Incremental Controlled Iteration The Waterfall Model Based on Construction Model Easy to understand Once a phase is complete, it is not revisited Staff can specialize 'Assembly line' approach Waterfall Model Problems with the Waterfall Software development is about problem solving Requirements aren't fully known before design design requirements evolve during coding, etc The Spiral Model Four Sectors Pass through sectors for prototype Another pass to get first Iteration Repeat More realistic than waterfall Difficult and expensive in real world Spiral Model The Controlled Iteration Model Four Phases: Inception Elaboration Construction Transition Controlled Interation Design activities User level use cases Package diagrams Sequence diagrams Class diagrams Class implementation System build UML Guide UML Guide UML Editor UML Editor Another UML Editor