Slide 1: A
Malathi Contents : Contents Software Engineering
Types Of Applications
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)
Iso quality standards
CONCLUSION Slide 3: Software Engineering Definition: Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software and the study of these approaches; that is, the application of ”engineering”
to software. History : History Then the first modern “digital computer” appeared in the early 1940s
Programming language started to appear in the 1950s Continue…. Slide 5: Major languages:
ALGOL The Software Development Life Cycle or SDLC was also starting to appear as a Consensus for centralized construction of software in the mid 1980s. Types of Software Application : Types of Software Application System software
Engineering and scientific software
Personal computer software
Artificial intelligence software Slide 7: Software Development Life Cycle (SDLC) SDLC Models : SDLC Models A framework that describes the activities performed at each stage of a software development project. : Waterfall Model
V-Shaped SDLC Model
Rapid Application Model (RAD)
Spiral SDLC Model
Incremental SDLC Model Waterfall Model : Waterfall Model Requirements – defines needed information, function, behavior, performance and interfaces.
Design – data structures, software architecture, interface representations, algorithmic details.
Implementation – source code, database, user documentation, testing. Continue…. When to use the Waterfall Model : When to use the Waterfall Model Requirements are very well known
Product definition is stable
Technology is understood
New version of an existing product
Porting an existing product to a new platform. V-Shaped SDLC Model : V-Shaped SDLC Model A variant of the Waterfall that emphasizes the verification and validation of the product.
Testing of the product is planned in parallel with a corresponding phase of development Continue…. When to use the V-Shaped Model : When to use the V-Shaped Model Excellent choice for systems requiring high reliability – hospital patient control applications
All requirements are known up-front
When it can be modified to handle changing requirements beyond analysis phase
Solution and technology are known Continue…. Rapid Application Model (RAD) : Rapid Application Model (RAD) Requirements planning phase (a workshop utilizing structured discussion of business problems)
User description phase – automated tools capture information from users
Construction phase – productivity tools, such as code generators, screen generators, etc. inside a time-box. (“Do until done”)
Cutover phase -- installation of the system, user acceptance testing and user training When to use RAD : When to use RAD Reasonably well-known requirements
User involved throughout the life cycle
Project can be time-boxed
Functionality delivered in increments
High performance not required
Low technical risks
System can be modularized Incremental SDLC Model : Incremental SDLC Model Construct a partial implementation of a total system
Then slowly add increased functionality
The incremental model prioritizes requirements of the system and then implements them in groups.
Each subsequent release of the system adds function to the previous release, until all designed functionality has been implemented. When to use the Incremental Model : When to use the Incremental Model Risk, funding, schedule, program complexity, or need for early realization of benefits.
Most of the requirements are known up-front but are expected to evolve over time
A need to get basic functionality to the market early
On projects which have lengthy development schedules
On a project with new technology Spiral SDLC Model : Spiral SDLC Model Adds risk analysis, and 4gl RAD prototyping to the waterfall model
Each cycle involves the same sequence of steps as the waterfall process model When to use Spiral Model : When to use Spiral Model When creation of a prototype is appropriate
When costs and risk evaluation is important
For medium to high-risk projects
Long-term project commitment unwise because of potential changes to economic priorities
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected (research and exploration) Slide 20: ISO Quality Standards
Quality assurance systems are defined as the organizational structure, responsibilities, procedures, processes, and resources for implementing quality management.
ISO 9000 describes the quality elements that must be present for a quality assurance system to be compliant with the standard, but it does not describe how an organization should implement these elements.
ISO 9001 is the quality standard that contains 20 requirements that must be present in an effective software quality assurance system. CONCLUSION : CONCLUSION The structure imposed by this SDLC is specifically designed to maximize theprobability of a successful software development effort. Slide 22: Thank You