software development process is the practice of organising the design and construction of software and its deployment in context.
Effective software development processes remain the holy grail of software development and over the years many contenders have emerged and then gone out of fashion. These vary in the detail of what activities they prescribe, their related artefacts, how the activities should be carried out in relation to one another, and how often each activity should be revisited. There are, however, some fundamental development activities that are well understood and common to most approaches. In very broad terms:
Analysis involves understanding the problem which the software is intended to solve, i.e., the requirements in context, with validation as the means to check that understanding.
Design involves describing, conceptually, a software solution that meets the requirements of the problem.
Implementation involves realising such a solution in software.
Testing involves making sure that the solution has certain inherent qualities, with verification as a means to check its adequacy with respect to the specified requirements and validation as a means to check that the solution does address the problem.
Deployment involves making the developed solution available in its context of operation and use.
Note: validation and verification are sometimes confused. One way to understand the distinction is to think of validation as addressing the question ‘are we solving the right problem?’ and verification as addressing the question ‘are we solving the problem right?’
|Section 1: Introduction|
|Introduction to Software Training||FREE||00:40:00|
|Praesent sit amet lacus imperdiet, semper libero non, convallis lectus. Nunc nisi quam, dignissim ut luctus non, dignissim pellentesque massa. Etiam ac fermentum risus, vitae dictum quam.|
|Object Oriented Design Patterns||00:35:00|
|Design Patterns, Introduction, Factory Method|
|Overview of Software Testing||00:30:00|
|Introduction, History, Importance of Testing|
|Section 2: Advanced Computing|
|Advanced Database Development||00:25:00|
|Pellentesque eu lectus mattis libero dapibus posuere.|