240 likes | 364 Views
This lesson delves into the Waterfall model of software engineering, outlining its separate and distinct phases including requirements analysis, design, implementation, verification, and validation. Each phase follows a strict order, and any bugs found may necessitate revisiting previous stages. We explore the benefits, such as quick results when requirements are understood, and the disadvantages, including limited user interaction and difficulty adapting to changing requirements. A case study on a Music Compilation system highlights practical applications of the Waterfall model and the importance of thorough analysis for efficiency and maintainability.
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