Systems Development Life Cycle
The Systems Development Life Cycle
Abstract
System development life cycle is a tool or technique which is used to help develop new or upgrade systems, this being hardware, software or how a business operates. SDLC is used to describe the process for building an information system in a structured and logical way. This is usually used by system analysis who will research into current problems and requirements which should always be of a high quality meeting or exceeding customer’s expectations; completed within time line, budget agreed and should work effectively and efficiently in the current or planned infrastructure. If it does not meet all these requirements then it is most probably a waste of resources, time and money resulting in an already created information system.
Prototyping is a tool which is used during the development of systems and it allows developers to create test models of the system such as the interface which doesn’t function. This allows the developers to get a feel of how the application looks and see if the system is going to achieve its expected design purpose (new systems have unexpected problems and this helps to remove these problems).
A use case model can be used by developers to aid them in creating the desired system. This documentation allows the developer to see how different users will interact with a system by the means of diagrams. This gives them an idea of how the system is used allowing them to progress onto creating the system using provided documentation (developers should be able to create a system using all there provided documentation with minimal extra input).
1 Introduction
Computer, technology, hardware and software are always changing with upgrades to current technologies, development of new technologies and extinction of old technology. A company needs to stay ahead of its competitors if they are planning on selling their services or products so they need to have proficient technology to do this efficiently and quickly as possible, whilst not costing in the long run.
This is why companies use such tools as a system development life cycle, prototyping and use case model in order to research into these new technologies to determine if they are financially possible, worth installing and most importantly going to increase performance and efficiency.
2 System Development Life Cycle
The systems development life cycle (SDLC) also known as software development life cycle is a technique used within systems engineering and software engineering. It is a type of methodology used to describe the process for building an information system in a deliberate, structured and methodical way repeating each stage of the life cycle. The systems development life cycle, according to (Wikipedia 2009) “originated in the 1960s to develop large scale functional business systems in an age of large scale business conglomerates. Information systems activities revolved around heavy data processing and number crunching routines”.
A SDLC is a process used by any systems analyst to develop an information system that meets all set requirements and validation for their customer. All these systems should be of a high quality meeting or exceeding customer’s expectations, completed within the time line agreed and budget. It should work effectively and efficiently in the current or planned infrastructure and also be inexpensive to maintain or enhance.
Systems development life cycle is made up of multiple phases (See Systems Development Life Cycle Life-Cycle Phases picture on page 10), four that are very important: planning, analysis, design and implementation/maintenance. A systems analysis can perform these phases using already created models (systems development life cycle models). There are several of these models available such as: rapid application development (RAD), waterfall, open source and joint application design (JAD) all having positives and negatives (See Strength and Weaknesses of SDLC table on page 10), in different situations but there is no right or wrong to type of method used (See Comparison of Methodologies table on page 10) as long as the final product is of a high quality meeting or exceeding the customers expectation and within their time line and agreed budget.
Planning is a very important stage for a systems analysis, this is the stage where the systems analysis has to determine the goals of the project and create a high level view of the project in an attempt to gain funding from higher management. A feasibility study can sometimes be used to help present the project to higher management.
Analysis is the next important step which is performed to find out what is the problem, possible solutions and if it’s better for the company to perform an upgrade or install a completely new system. This is achieved by the systems analysis ripping apart the current system until they learn how everything works.
Before implementation of a system can be achieved the systems analysis needs to design the new system or upgrades. This is where the systems analysis describes the system in detail, including screen layouts, business rules, process diagrams, pseudo code, a complete entity relationship diagram and other documentation. The main purpose of this step is so that the new system or upgrades are described in as much detail as possible so skilled professionals can develop the new system or upgrade with minimal additional input.
3 Prototyping
New systems or upgrades are created by developers but there is no certainty that the end system will achieve its expected design purpose and new systems often have unexpected problems; (“The conventional purpose of a prototype is to allow users of the software to evaluate developers’ proposals for the design of the eventual product by actually trying them out, rather than having to interpret and evaluate the design based on descriptions†(Wikipedia 2009)). A prototype is a tool/technique available to developers usually used during the design stages, allowing them to design alternatives, make alterations, test theories and confirm performance before starting production of the new system (“A prototype typically simulates only a few aspects of the features of the eventual program, and may be completely different from the eventual implementation.†(Wikipedia 2009)).
3.1 Prototyping Types
‘Prototyping’ falls into multiple categories depending on the type of prototype and what the prototype is used for, such as creating the interface for a program but not the code, or creating half the program to test that specific area. There is no general agreement on what makes a prototype (Wikipedia 2009), so most prototypes fall into any of these four categories: proof-of-principle prototyping, form study prototype, visual prototype and functional prototype.
3.1.1 Proof-of-Principle Prototype
This type of prototype is used to test some parts of the design without having to create the full system, project or interface.
3.1.2 Form Study Prototype
This type of prototype allows the developers to explore the basic size, look and feel of the product without having to simulate the actual function or exact visual appearance of the product.
3.1.3 Visual Prototype
Visual prototypes are used by the developer to simulate the appearance and colours of the intended product, but will not contain any of the background functions such as basic operation.
3.1.4 Functional Prototype
Functional prototype is the developer trying to simulate the final design and functionality of the product; this is the developer’s final check for design flaws, problems and allows last minute improvements.
4 Use Case Models
A use case model is used by developers when creating a project; “the use case diagram is the first that designers will work with when starting a project†(Visual Case Tool – UML Tutorial 2009). A use case model shows the developer how a user will interact with a system by the means of diagrams (see Use Case Model Diagram on page 11) or simple instructions; (“A Use Case represents a discrete unit of interaction between a user (human or machine) and the system.†(The Use Case Model 2009)).
In basic terms a use case model is a set of scenarios which will occur between users the system and what will happen in each scenario such as: a user entering their login details and then clicking on the login button. The use case model will tell the developers exactly how the user will interact with the system and on each scenario what the server will do. Using this knowledge the developers have the ability to create the new system with the ‘use case model’ and other documentation without needing further input or documentation.
5 Conclusion
In this report the following has been covered: system development life cycle, prototyping and use case model. As you probably know from reading this report all three of these are to try and make it easier to research into new or upgrading systems, by providing developers with enough documentation allowing them to develop an information system, high management can have more of an input and understanding of the new system because of the ‘use case model’ and ‘prototypes’. All of these should create a more efficient information system helping increase sales and efficiency of the company.
6 Bibliography
Wikipedia 2009, Systems Development Life Cycle, online, retrieved 15 November 2009, from http://en.wikipedia.org/wiki/System_development_life_cycle.
Wikipedia 2009, Prototype, online, retrieved 15 November 2009, from http://en.wikipedia.org/wiki/Prototype.
Wikipedia 2009, Software Prototyping, online, retrieved 15 November 2009, from http://en.wikipedia.org/wiki/Software_prototyping.
Visual Case Tool – UML Tutorial 2009, online, retrieved 17 November 2009, from http://www.pata.org/patasite/fileadmin/docs/issuestrends/I_T_Mar07_The_Non-Hub_Story.pdf.
The Use Case Model 2009, online, retrieved 28 September 2007, from http://www.sparxsystems.com/resources/tutorial/use_case_model.html.
7 Appendix
Systems Development Life Cycle Life-Cycle Phases (Wikipedia 2009)
Comparison of Methodologies (Wikipedia 2009)
SDLC
RAD
Open Source
Objects
JAD
Prototyping
End User
Control
Formal
MIS
Weak
Standards
Joint
User
User
Time Frame
Long
Short
Medium
Any
Medium
Short
Short
Users
Many
Few
Few
Varies
Few
One or Two
One
MIS Staff
Many
Few
Hundreds
Split
Few
One or Two
None
Transaction/DSS
Transaction
Both
Both
Both
DSS
DSS
DSS
Interface
Minimal
Minimal
Weak
Windows
Crucial
Crucial
Crucial
Documentation and Training
Vital
Limited
Internal
In Objects
Limited
Weak
None
Integrity and Security
Vital
Vital
Unknown
In Objects
Limited
Weak
Weak
Reusability
Limited
Some
Maybe
Vital
Limited
Weak
None
Strength and Weaknesses of SDLC (Wikipedia 2009)
Strengths
Weaknesses
Control
Increased development time
Monitor large projects
Increased development cost
Detailed steps
Systems must be defined up front
Evaluate costs and completion targets
Rigidity
Documentation
Hard to estimate costs, project overruns
Well defined user input
User input is sometimes limited
Ease of maintenance
Development and design standards
Tolerates changes in MIS staffing
Order Now