Escolar Documentos
Profissional Documentos
Cultura Documentos
Kamalapriya D
SDLC
SDLC
The number and name of the stages varies, but the primary stages are conception, development, maturity and decline. development, The Software development life cycle (SDLC) therefore, refers to the development stage of the system s life cycle. cycle.
Every textbook has different names for the stages of the SDLC
Usually they stages are
Planning (just after Conception) Analysis Design Implementation Maintenance (starting Maturity)
1.4
Formal preliminary investigation of the problem at hand Presentation of reasons why system should or should not be developed by the organization
Analysis
Study of current procedures and information systems
Determine requirements
Study current system Structure requirements and eliminate redundancies
Design
Logical Design
Physical Design
Implementation
Implementation
Maintenance
System changed to reflect changing conditions System obsolescence
A good way to learn the stages of the SDLC is to create deliverables (output) of each stage in the process.
A Life Cycle model describes how the phases combine together to form a complete project. Some of the common life cycle models that are used in the software projects include
Waterfall Model:
Overall business requirements Software requirements
Planning
High-level design
Low-level design
Coding
Testing
A Waterfall model is characterized by three attributes: The project is divided into separate, distinct phases Each phase communicates to the next through pre-specified outputs pre When an error is detected, it is traced back to one previous phase at a time until it gets resolved at some earlier phase This model is useful when all the requirements are clear for the system development and very clearly demarcated phases are present Applicable when deliverables of each phase can be frozen before proceeding to the next phase The major drawback in this model arises from the delay in feedback among the phases, and thus the ineffectiveness of verification and validation activities.
Waterfall Strengths
Easy to understand, easy to use understand, Provides structure to inexperienced staff Milestones are well understood Sets requirements stability Good for management control (plan, staff, track) Works well when quality is more important than cost or schedule
Waterfall Deficiencies
All requirements must be known upfront Deliverables created for each phase are considered frozen inhibits flexibility Can give a false impression of progress Does not reflect problem-solving nature of problemsoftware development iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late)
The Spiral model is a software development model combining elements of both design and prototyping-in-stages, so it's a healthy mix of top-down and prototyping-intopbottombottom-up concepts The spiral model was defined by Barry Boehm. This model was not the first Boehm. model to discuss iteration, but it was the first model to explain why the iteration matters. As originally envisioned, the iterations were typically 6 months to 2 years long Each phase starts with a design goal (such as a user interface prototype as an early phase) and ends with the client (which may be internal) reviewing the progress thus far Analysis and engineering efforts are applied to each phase of the project, with an eye toward the end goal of the project
V Model
Overall Business Requirements Acceptance test design Acceptance Testing System Testing design
Software requirements
High-level design
System Testing
Low-level design
V model
V- model is a process where the development and testing phases can do parallely. parallely. Test design is done early while test execution is done in the end. There are different types of tests for each phase of the life cycle. Development phases are called as verification whereas testing phases are called as validation Verification means the software implements correctly or not. Validation means the software that has been built is traceable to the customer requirements or not. Left hand side of the V model contains SDLC in downhill direction whereas right hand side of the V model contains STLC in uphill direction
V model Contd..
Applicable when design of tests can be separated from the actual execution Verification - It is the activity, which ensures the work products of a given phase fully implement the inputs to that phase, or "the product is built right Validation - In its simplest terms, is the demonstration that the software implements each of the software requirements correctly and completely. In other words, the "right product is built "
Developers build a prototype during the requirements phase Prototype is evaluated by end users Users give corrective feedback Developers further refine the prototype When the user is satisfied, the satisfied, prototype code is brought up to the standards needed for a final product.
A preliminary project plan is developed An partial high-level paper model is created highThe model is source for a partial requirements specification A prototype is built with basic and critical attributes The designer builds
the database user interface algorithmic functions
The designer demonstrates the prototype, the user prototype, evaluates for problems and suggests improvements. This loop continues until the user is satisfied
Customers can see the system requirements as they are being gathered Developers learn from customers A more accurate end product Unexpected requirements accommodated Allows for flexible design and development Steady, visible signs of progress produced Interaction with the prototype stimulates awareness of additional needed functionality
Tendency to abandon structured program development for code-and-fix code-anddevelopment Bad reputation for quick-and-dirty quick-andmethods Overall maintainability may be overlooked The customer may want the prototype delivered. delivered. Process may continue forever (scope creep)
Requirements are unstable or have to be clarified As the requirements clarification stage of a waterfall model Develop user interfaces ShortShort-lived demonstrations New, original development With the analysis and design portions of objectobject-oriented development. development.
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 ) timeCutover phase -- installation of the system, user acceptance testing and user training
RAD Strengths
Reduced cycle time and improved productivity with fewer people means lower costs TimeTime-box approach mitigates cost and schedule risk Customer involved throughout the complete cycle minimizes risk of not achieving customer satisfaction and business needs Focus moves from documentation to code (WYSIWYG). WYSIWYG). Uses modeling concepts to capture information about business, data, and processes.
RAD Weaknesses
Accelerated development process must give quick responses to the user Risk of never achieving closure Hard to use with legacy systems Requires a system that can be modularized Developers and customers must be committed to rapid-fire activities in an rapidabbreviated time frame.
Reasonably well-known requirements wellUser involved throughout the life cycle Project can be time-boxed timeFunctionality delivered in increments High performance not required Low technical risks System can be modularized
Any Q s??