350 likes | 1.03k Views
SDLC. Software Development Life Cycle. SDLC. Acronym for s ystem d evelopment l ife c ycle . Is the process of developing information systems through: Investigation Analysis Design Implementation Maintenance . SDLC. Also known as: information systems development or
E N D
SDLC Software Development Life Cycle
SDLC • Acronym for system development life cycle. • Is the process of developing information systems through: • Investigation • Analysis • Design • Implementation • Maintenance
SDLC • Also known as: • information systems development or • application development • Is a systems approach to problem solving • Is made up of several phases, each comprised of multiple steps ….
The Software Concept • Identifies and defines a need for the new system • The existing system is evaluated • Deficiencies are identified • This can be done by: • Interviewing users of the system • Consulting with support personnel
A Requirements Analysis • Analyses the information needs of the end users • The new system requirements are defined • The deficiencies in the existing system must be addressed with specific proposals for improvement
The Architectural Design • Creates a blueprint for the design with the necessary specifications for: • the hardware • the software • the people • the data resources • the security issues • the physical construction
Coding and Debugging • Creates and programs the final system • The new components and programs must be obtained and installed
System Testing • Evaluates the system's actual functionality in relation to expected or intended functionality • Users of the system must be trained in its use • All aspects of performance must be tested • If necessary, adjustments must be made at this stage
System Put to Use • Can be done in various ways: • The new system can be phased in, according to application or location, and the old system gradually replaced • In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once
System Evaluation • Once the new system is up and running for a while, it should be exhaustively evaluated • Maintenance must be kept up rigorously at all times • Users of the system should be kept up-to-date concerning the latest modifications and procedures
Various SDLC Approaches • The waterfall model, the original SDLC method • Rapid Application Development (RAD) • Joint Application Development (JAD) • The fountain model • The spiral model • Build and fix • Synchronize-and-stabilize • Frequently, several models are combined into some sort of hybrid process
Documentation • Is crucial regardless of the type of model chosen or devised for any application • Is usually done in parallel with the development process.
Waterfall Model • Linear and sequential • Distinct goals for each phase of development • Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance with no overlapping or going over previous steps
Waterfall Model • Does not allow for much reflection or revision • Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage
Joint Application Development • A methodology that involves the client or end user in the design and development of an application, through a succession of collaborative workshops called JAD sessions • Is thought to lead to faster development times and greater client satisfaction, because the client is involved throughout the development process
Rapid Application Development • A concept that products can be developedfaster and of higher quality through: • Gathering requirements using workshops or focus groups • Prototyping and early, reiterative user testing of designs • The re-use of software components • A rigidly paced schedule that defers design improvements to the next product version • Less formality in reviews and other team communication • Is a variation of JAD
Build • A build is a version of a program • As a rule, a build is a pre-release version and as such is identified by a build number, rather than by a release number • Reiterative (repeated) builds are an important part of the development process
Build • Throughout development, application components are collected and repeatedly compiled for testing purposes, to ensure a reliable final product • Build tools, such as Make or Ant, enable developers to automate some programming tasks • As a verb, to build can mean either to write code or to put individual coded components of a program together
Synchronise and Stabilise • Is a systems development life cycle model in which teams work in parallel on individual application modules • They frequently synchronise their code with that of other teams • They debug (stabilise) code regularly throughout the development process.
Synchronise and Stabilise • The sync-and-stabilize model offers advantages over the older waterfall model, which is strictly sequential in nature • Sync-and-stabilize development allows for changes at any point in the process • It can be flexible, and more easily able to respond to market requirement changes