240 likes | 359 Views
Software Engineering. Waterfall. Lesson 7. Waterfall. Waterfall: Separate and distinct phases of specification and development Every phase follows the previous phase If a bug is found the previous phase is do again. Waterfall. Project Planning. Risk Analysis and Management.
E N D
Software Engineering Waterfall Lesson 7
Waterfall • Waterfall: • Separate and distinct phases of specification and development • Every phase follows the previous phase • If a bug is found the previous phase is do again
Waterfall Project Planning Risk Analysis and Management Requirements Analysis Design Analysis Is there also a bug? Software Implementation V&V (Verification & Validation) Is there a bug? Maintness
Waterfall Notice: The last phase is V&V, the Maintenance is another Process!!!
Waterfall Some Benefits • user interaction in the first phase and in the last phase • quick results (if the requirements are well-understood) • avoids to make prototypes
Waterfall Some Disadvantages • user interaction in the first phase and in the last phase • difficult to respond to changing customer requirements • if a bug is found, longer development time
Software Engineering Waterfall: Case Study by Fausto Giunchiglia Lesson 4
Using Waterfall Model • Research Project • Requirements • Planning • Milestones
Feasibility Study • Building Music Compilation • Cool Web Service • Case Base Reasoning and Collaborative Filtering Algorithms • Song Repository • Technical Solution • Resources
Requirements Analysis • Functional Requirements • Add song • Find a song from the repository • Browsing the previous compilations • Browsing recommendation • Delete song • Reorder song list • Edit header • Download Compilation
Requirements Analysis • Non-Functional Requirements • CBR algorithms • J2EE technology • Modularity • Using different Song Repository • User Interface (outsourcing) • Requirements Document
Architectural Design Logical Architecture: • Prototyping of User Interface (outsourcing) • Three Tier Architecture (J2EE Technology) • Information System Design Physical Architecture: • Component Definition
Main Components Web Server Application Server DB Server Songs Repository CBR Server
Data Logic Presentation Logic <<build>> DB Server <<forward>> <<link>> Business Logic <<RMI>> CBR Server Songs Repository
Implementation • Technology Evaluation (J2EE Container) • Detailed UML Schema • Development • HTML Integration • Testing
In reality • The requirements can change! • Napster closed! • Review of Waterfall phases
Requirements Analysis • Non-Functional Requirements • CBR algorithms • J2EE technology • Modularity • Using different Song Repository • User Interface • Requirements Document
Main Components Web Server Application Server DB Server Songs Repository CBR Server
Data Logic Presentation Logic <<build>> DB Server <<forward>> <<link>> Business Logic <<RMI>> CBR Server Songs Repository
Conclusion • A good analysis can preserve development time and maintainability • Software Engineering must manage many aspects