Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Systems development life cycle
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Models == [[File:Systems Development Life Cycle.gif|right|thumb|upright=2.2|A ten-phase version of the systems development life cycle<ref name="US DJ03" />]]{{More citations needed section|date=January 2024}} SDLC provides a set of phases/steps/activities for system designers and developers to follow. Each phase builds on the results of the previous one.<ref name="US DJ03">US Department of Justice (2003). [https://www.justice.gov/archive/jmd/irm/lifecycle/table.htm INFORMATION RESOURCES MANAGEMENT] Chapter 1. Introduction.</ref><ref name="EverettSoftware07">{{cite book |chapter-url=https://books.google.com/books?id=z8UdPmvkBHEC&pg=PA29 |chapter=Chapter 2: The Software Development Life Cycle |title=Software Testing: Testing Across the Entire Software Development Life Cycle |author=Everatt, G.D. |author2=McLeod, R Jr |publisher=John Wiley & Sons |pages=29β58 |year=2007 |isbn=9780470146347}}</ref><ref name="UnhelkarTheArt16">{{cite book |url=https://books.google.com/books?id=ZqnMBQAAQBAJ&pg=PA56 |title=The Art of Agile Practice: A Composite Approach for Projects and Organizations |author=Unhelkar, B. |publisher=CRC Press |pages=56β59 |year=2016 |isbn=9781439851197}}</ref><ref name="LandPract12">{{cite book |url=https://books.google.com/books?id=SsBF_lVbK_gC&pg=PA341 |title=Practical Support for Lean Six Sigma Software Process Definition: Using IEEE Software Engineering Standards |author=Land, S.K.|author-link= Susan K. Land |author2=Smith, D.B. |author3=Walz, J.W. |publisher=John Wiley & Sons |pages=341β3 |year=2012 |isbn=9780470289952}}</ref> Not every project requires that the phases be sequential. For smaller, simpler projects, phases may be combined/overlap.<ref name="US DJ03" /> === Waterfall === The oldest and best known is the [[waterfall model]], which uses a linear sequence of steps.<ref name="EverettSoftware07" /> Waterfall has different varieties. One variety is as follows:<ref name="US DJ03" /><ref name="EverettSoftware07" /><ref>{{cite web |url=http://www.computerworld.com/s/article/71151/System_Development_Life_Cycle |title=QuickStudy: System Development Life Cycle |first=Russell |last=Kay |date=May 14, 2002 |work=ComputerWorld}}</ref><ref name="TaylorIntro08">{{cite book |url=https://books.google.com/books?id=gqpZDNc5_Y4C&pg=SA12-PA6 |title=Introduction to Logistics Engineering |author=Taylor, G.D. |publisher=CRC Press |pages=12.6β12.18 |year=2008 |isbn=9781420088571}}</ref> ==== Preliminary analysis ==== Conduct with a preliminary analysis, consider alternative solutions, estimate costs and benefits, and submit a preliminary plan with recommendations. :* Conduct preliminary analysis: Identify the organization's objectives and define the nature and scope of the project. Ensure that the project fits with the objectives. :* Consider alternative solutions: Alternatives may come from interviewing employees, clients, suppliers, and consultants, as well as competitive analysis. :* Cost-benefit analysis: Analyze the costs and benefits of the project. ==== Systems analysis, requirements definition ==== Decompose project goals{{Clarify|reason=Where did the goals come from?|date=January 2023}} into defined functions and operations. This involves gathering and interpreting facts, diagnosing problems, and recommending changes. Analyze end-user information needs and resolve inconsistencies and incompleteness:<ref>{{cite book|title=Information Systems Control and Audit |url=https://resource.cdn.icai.org/48513bos30870-sm-cp5.pdf |publisher=Institute of Chartered Accountants of India|chapter=Chapter 5|page=5.28|date=August 2013}}</ref> :* Collect facts: Obtain end-user requirements by document review, client interviews, observation, and questionnaires. :* Scrutinize existing system(s): Identify pros and cons. :* Analyze the proposed system: Find solutions to issues and prepare specifications, incorporating appropriate user proposals. ==== Systems design ==== At this step, desired features and operations are detailed, including screen layouts, [[business rule]]s, [[process flow diagram|process diagram]]s, [[pseudocode]], and other deliverables. ==== Development ==== Write the code. ==== Integration and testing ==== Assemble the modules in a testing environment. Check for errors, bugs, and interoperability. ==== Acceptance, installation, deployment ==== Put the system into production. This may involve training users, deploying hardware, and loading information from the prior system. ==== Maintenance ==== Monitor the system to assess its ongoing fitness. Make modest changes and fixes as needed. To maintain the quality of the system. Continual monitoring and updates ensure the system remains effective and high-quality.<ref>{{cite web |last1=Shah |first1=Kazim |title=The Maintenance Phase Of Software Development Life Cycle |url=https://www.primetechnologiesglobal.com/blog/maintenance-phase-of-software-development-life-cycle |website=primetechnologiesglobal |publisher=kazim shah |access-date=12 May 2024}}</ref> ==== Evaluation ==== The system and the process are reviewed. Relevant questions include whether the newly implemented system meets requirements and achieves project goals, whether the system is usable, reliable/available, properly scaled and fault-tolerant. Process checks include review of timelines and expenses, as well as user acceptance. ==== Disposal ==== At end of life, plans are developed for discontinuing the system and transitioning to its replacement. Related information and infrastructure must be repurposed, archived, discarded, or destroyed, while appropriately protecting security.<ref>{{cite web |last=Radack |first=S. |date=n.d. |title=The system development life cycle (SDLC) |url=https://csrc.nist.rip/publications/nistbul/april2009_system-development-life-cycle.pdf |publisher=National Institute of Standards and Technology}}</ref> In the following diagram, these stages are divided into ten steps, from definition to creation and modification of IT work products: === Systems analysis and design === [[Systems analysis|Systems analysis and design]] (SAD) can be considered a meta-development activity, which serves to set the stage and bound the problem. SAD can help balance competing high-level requirements. SAD interacts with distributed enterprise architecture, enterprise I.T. Architecture, and business architecture, and relies heavily on concepts such as partitioning, interfaces, personae and roles, and deployment/operational modeling to arrive at a high-level system description. This high-level description is then broken down into the components and modules which can be analyzed, designed, and constructed separately and integrated to accomplish the business goal. SDLC and SAD are cornerstones of full life cycle product and system planning. === Object-oriented analysis and design === [[Object-oriented analysis and design]] (OOAD) is the process of analyzing a problem domain to develop a conceptual [[model]] that can then be used to guide development. During the analysis phase, a programmer develops written requirements and a formal vision document via interviews with stakeholders. The conceptual model that results from OOAD typically consists of [[use cases]], and [[class diagram|clas]]s and [[interaction diagram]]s. It may also include a [[user interface]] mock-up. An output [[Artifact (software development)|artifact]] does not need to be completely defined to serve as input of object-oriented design; analysis and design may occur in parallel. In practice the results of one activity can feed the other in an iterative process. Some typical input artifacts for OOAD: * [[Conceptual model (computer science)|Conceptual model]]: A conceptual model is the result of object-oriented analysis. It captures concepts in the problem domain. The conceptual model is explicitly independent of implementation details. * [[Use case]]s: A use case is a description of sequences of events that, taken together, complete a required task. Each use case provides [[Scenario (computing)|scenarios]] that convey how the system should interact with actors (users). Actors may be end users or other systems. Use cases may further elaborated using diagrams. Such diagrams identify the actor and the processes they perform. * [[System Sequence Diagram]]: A System Sequence diagrams (SSD) is a picture that shows, for a particular use case, the events that actors generate, their order, including inter-system events. * User interface document: Document that shows and describes the user interface. * [[Data model]]: A data model describes how data elements relate to each other. The data model is created before the design phase. Object-oriented designs map directly from the data model. Relational designs are more involved. === System lifecycle === The system lifecycle is a view of a system or proposed system that addresses all phases of its existence to include system conception, design and development, production and/or construction, distribution, operation, maintenance and support, retirement, phase-out, and disposal.<ref>{{cite book |author=Blanchard and Fabrycky |title=Systems Engineering and Analysis, Fourth Edition |publisher=Prentice Hall |year=2006 |page=19}}</ref> ==== Conceptual design ==== The [[conceptual design]] stage is the stage where an identified need is examined, requirements for potential solutions are defined, potential solutions are evaluated, and a system specification is developed. The system specification represents the technical requirements that will provide overall guidance for system design. Because this document determines all future development, the stage cannot be completed until a conceptual [[design review]] has determined that the system specification properly addresses the motivating need. Key steps within the conceptual design stage include: *Need identification *Feasibility analysis *System requirements analysis *System specification *Conceptual design review ==== Preliminary system design ==== During this stage of the system lifecycle, subsystems that perform the desired system functions are designed and specified in compliance with the system specification. Interfaces between subsystems are defined, as well as overall test and evaluation requirements.<ref>{{cite book |author=Dr. Joahn Gouws |title=Introduction to Engineering, System Engineering |publisher=Melikon Pty Ltd |year=2007}}</ref> At the completion of this stage, a development specification is produced that is sufficient to perform detailed design and development. Key steps within the preliminary design stage include: *Functional analysis *Requirements allocation *Detailed trade-off studies *Synthesis of system options *Preliminary design of engineering models *Development specification *Preliminary design review For example, as the system analyst of Viti Bank, you have been tasked to examine the current information system. Viti Bank is a fast-growing bank in [[Fiji]]. Customers in remote rural areas are finding difficulty to access the bank services. It takes them days or even weeks to travel to a location to access the bank services. With the vision of meeting the customers' needs, the bank has requested your services to examine the current system and to come up with solutions or recommendations of how the current system can be provided to meet its needs. ==== Detail design and development ==== This stage includes the development of detailed designs that brings initial design work into a completed form of specifications. This work includes the specification of interfaces between the system and its intended environment, and a comprehensive evaluation of the systems logistical, maintenance and support requirements. The detail design and development is responsible for producing the product, process and material specifications and may result in substantial changes to the development specification. Key steps within the detail design and development stage include: *Detailed design *Detailed synthesis *Development of engineering and [[prototype]] models *Revision of development specification *Product, process, and material specification *Critical design review ==== Production and construction ==== During the production and/or construction stage the product is built or assembled in accordance with the requirements specified in the product, process and material specifications, and is deployed and tested within the operational target environment. System assessments are conducted in order to correct deficiencies and adapt the system for continued improvement. Key steps within the product construction stage include: *Production and/or construction of system components *Acceptance testing *System distribution and operation *Operational testing and evaluation *System assessment ==== Utilization and support ==== Once fully deployed, the system is used for its intended operational role and maintained within its operational environment. Key steps within the utilization and support stage include: *System operation in the user environment *Change management *System modifications for improvement *System assessment ==== Phase-out and disposal ==== Effectiveness and efficiency of the system must be continuously evaluated to determine when the product has met its maximum effective lifecycle.<ref>{{cite journal |last1=Cunningham |first1=James |title=HERC Maintenance |url=https://www.hercbpm.com.au/ |url-status=dead |journal=Fargo |volume=XXI |issue=North Avenue |page=49 |archive-url=https://web.archive.org/web/20130121125359/http://hercbpm.com.au/ |archive-date=21 January 2013 |access-date=13 May 2009}}</ref> Considerations include: Continued existence of operational need, matching between operational requirements and system performance, feasibility of system phase-out versus maintenance, and availability of alternative systems.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)