CSCE 548 SDLC Reading This lecture – The Software Development Life Cycle (SDLC), http://www.elucidata.com/refs/sdlc.pdf – Practical UML™: A Hands-On Introduction for Developers, http://dn.codegear.com/article/31863 Next lecture – McGraw: Chapter 3 CSCE 548 - Farkas 2 Software Engineering Building of SW systems of high quality Functional requirements Software Engineering Life Cycle Includes programming but not only programming Can a good programmer be a bad software engineer? CSCE 548 - Farkas 3 What is a “High Quality” System? Satisfies requirements Sophisticated Structured Supports abstraction Reusable Documented CSCE 548 - Farkas 4 SDLC Finite and definite period of time – Starts: when the SW product is conceived – Ends: when the SW is no longer used or available SDLC is composed of phases CSCE 548 - Farkas 5 SDLC Phases Initiation and planning: high-level view, goal of the project Requirement gathering and analysis: determine whether there are any problems Design: planning the system components and their interactions Implementation: implementing the project Testing: evaluate satisfaction of functional and nonfunctional requirements Maintenance: follow up on the project Retirement: remove system components CSCE 548 - Farkas 6 SDLC Models Waterfall (enhanced waterfall) V-model Evolutionary prototyping Rapid prototyping Spiral Reuse oriented Formal CSCE 548 - Farkas 7 Software development process Waterfall model Source: Wikipedia http://en.wikipedia.org/wiki/Software_development_process#Software_development_activities CSCE 548 - Farkas 8 Example SDLC CSCE 548 - Farkas 9 How the customer imagined it CSCE 548 - Farkas Copyright: This and the following slides on SDLC are modified from Project Cartoon http://www.projectcartoon.com/cartoon/1078 10 What the business analyst understood CSCE 548 - Farkas 11 How the architect designed it CSCE 548 - Farkas 12 What development believed the architect was describing CSCE 548 - Farkas 13 How the programmer implemented it CSCE 548 - Farkas 14 How the project manager explained it CSCE 548 - Farkas 15 How the project was documented CSCE 548 - Farkas 16 What operations installed CSCE 548 - Farkas 17 How the client was billed CSCE 548 - Farkas 18 Portion of original code that still can be used CSCE 548 - Farkas 19 What the client really needed CSCE 548 - Farkas 20 So if software engineering is hard already, why do we want to make it harder by adding security considerations? CSCE 548 - Farkas 21 Class Discussion on Projects Each class member presents: Area of interest Strengths and weaknesses Group status CSCE 548 - Farkas 22 Next Class Seven Touchpoints CSCE 548 - Farkas 23