process(1) - SOEN 6441 Advanced Programming Practices 1...

This preview shows page 1 - 5 out of 28 pages.

Concordia University Department of Computer Science and Software Engineering ADVANCED PROGRAMING PRACTICES Software development models Predictive and agile models Joey Paquet, 2006-2017 1 SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering At its core, software development aims at producing code. However, if one want to produce large, complex, high quality applications, other activities are to be added, based on additional quality concerns: Are we building the right software? Do we really know what the client needs? If not, we may be building the wrong software features, and missing important features. Do we have a solid general plan of action for the design of our entire system? If not, later additions will be requiring major redesigns. Is our produced software properly tested before it is delivered? If not, the resulting software will fail, with disastrous consequences to our client and our reputation. How do we develop the system now so that its structure will sustain further development before deployment, or maintenance after deployment? If not, our system will become exponentially harder to develop/maintain, until ultimately it needs to be redone from scratch. Software development is a complex activity that requires many more activities and concerns than the core production of software artifacts through coding. Software development Joey Paquet, 2006-2017 2 SOEN 6441 - Advanced Programming Practices
Concordia University Department of Computer Science and Software Engineering One of the earlier software development models was the waterfall model, in which the following phases are followed in order, producing some artifacts : The original waterfall model maintains that one should move to a phase only when its preceding phase is reviewed and verified, and that going back to a previous phase is not possible, or prohibitively costly. Developed from traditional Engineering processes, where physical artifacts are produced and can hardly be changed as they are designed, produced and used. However, software is a malleable artifact, i.e. it can be changed at any time during its lifetime. Software development phases: the waterfall model Joey Paquet, 2006-2017 3 SOEN 6441 - Advanced Programming Practices Problem Elicitation Design Realization Testing Deployment Maintenance Requirements Specification Design Documents Software Units, System Testing Plan Deployment Plan Maintenance Plan
Concordia University Department of Computer Science and Software Engineering A software development model is a definition of a group of related precepts, tasks, or artifacts, that are deemed necessary for the production of software.

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture