executive summary of the three research papers: (1) Holism vs. Reductionism, (2) SDLC Models and (3) Data Backup/Disaster Planning.

profileakotl29540
sdlc_updated.docx

Running head: SDLC MODELS 1

SDLC MODELS 10

System Development Life Cycle Models

Table of Contents Introduction 3 A Four-Step SDLC Process 3 A Seven-Step SDLC Process 6 Comparison of the two SDLC processes 8 References 10

System Development Life Cycle Models

Introduction

Development of software and information systems follow the system development lifecycle process or SDLC process. An SDLC process starts with planning for the software development and ends with the maintenance of the developed product. In between, the SDLC process goes through multiple phases. Based on the complexity of the software to be developed and many other factors like cost, time, team size and others, the SDLC process is broken down into multiple phases or steps (Dennis, Wixom, & Roth, 2014). The paper will cover two of such SDLC processes, a seven-step SDLC process, and a four-step SDLC process.

Four-Step SDLC Process

A four-step SDLC process has the steps of requirement analysis, development, testing and implementation. The four-step model is a very basic SDLC model that has the primary steps of the development process. An example of a four-step model is the spiral model (Sommerville, 2011).

The requirement analysis phase starts with a feasibility study. The feasibility study initiates the planning for the software if the outcome of the feasibility study is favorable. Then the planning covers the scheduling, resource planning, and cost-benefit analysis and so on (Wang, 2011). The requirements of the software are collected from interviewing the primary stakeholders and other system investigation methods. However, it may not need to define all requirements strictly before the starting of the development phase. It may take some iterative or incremental approach during the process and may go through the requirement analysis phase in the next iterations (Wang, 2011).

The system development step starts with designing the system components based on the available requirement details. It may develop the entire system in a single development step or there may be iterations (Dennis, Wixom, & Roth, 2014). In the iterative approach, the system is developed incrementally. The primary functions of the system are developed first. In some four-step SDLC models, end users are asked for reviewing the incrementally developed solutions in each iteration (Wang, 2011).

The testing step checks the software against some testing plan. The testing phase is used for validating the software against various standards. It also verifies if all of the requirements have been met and the system is working properly (Sommerville, 2011). If there is some bug or incompatibility in the system, then that is corrected.

After successful testing, the software is implemented in its targeted environment. After installation, the maintenance step starts. During this step, it checks whether the system needs some additional customization or not and whether it is working properly (Sommerville, 2011).

There are various advantages of this four-step SDLC process. Some of those advantages are,

1. It does not need to follow some strict requirement set from the beginning of the project.

2. In general, the model is flexible with the change management process and helps to add changes in the requirement during the review step in the SDLC process (Sommerville, 2011).

3. It is mostly suitable for developing software in rapid approach.

4. Development of small and medium scale software with less complexity are ideal for the SDLC model.

5. In general, a small team of developers, testers, and project managers is enough for this project. The team members sometimes possess multiple skills for performing cross-functional roles (Richardson & Thies, 2012).

There are some limitations of the four-step SDLC model. Some of those limitations are,

1. The model is not suitable for large scale and complex software and information system development process.

2. The steps of the SDLC process are not clearly distinguished. The steps are overlapped with other steps. For example, testing step starts in parallel with the development phase (Richardson & Thies, 2012).

An illustration of a four-step SDLC process is,

Figure 1: The Four Step SDLC model(

Seven-Step SDLC Process

A seven-step SDLC model is a refinement of the four-step SDLC model. In the seven-step SDLC model the steps of the four-step SDLC model are refined into more steps. For example, the requirement analysis step in the four-step model covers the planning and requirement analysis other than the initial planning phase. The same is true for the development phase. In the four step model, there is one development phase that does the design and development of the software. In the seven-step model, such steps are broken down into multiple steps so that one step is focused on some particular set of activities like planning, design, development and so on (Sommerville, 2011). An example of seven-step SDLC process is the waterfall model.

The SDLC process starts with the feasibility study and initial planning. It checks whether the software can be developed in a feasible way or not. If the feasibility study is completed successfully, then the SDLC process starts the requirement analysis step (Dennis, Wixom, & Roth, 2014).

In the requirement analysis step, a system investigation process collects the system requirements. In general, the system requirements should be well defined and non-ambiguous. The functional and non-functional requirements should be categorized clearly.

After collecting the requirements, the system design step starts. The system components, connections among the system components are defined and designed in this step (Dennis, Wixom, & Roth, 2014).

Based on the system designs, the system development process starts. During the system development process. The coding and unit testing for the entire system is completed. In general, the development phase may take some incremental approach to building the solution faster (Dennis, Wixom, & Roth, 2014).

After finishing the development step, the testing phase starts to integrate the system components and checks those for any bug or incompatibility problem until all system components are successfully connected to one another. The test plan covers all types of testing (Richardson & Thies, 2012). Additionally, the system goes through the acceptance testing by the targeted users. The testing process verifies whether all requirements have been met or not and validates the system against the required standards.

During the implementation phase, the system is implemented in the targeted environment. After the implementation, a longer and ongoing phase starts. The phase is called the maintenance phase. During this phase, it checks whether the system is working as expected or not and does customizations if asked for (Wang, 2011).

There are various advantages of following the seven-step SDLC process. Some of those advantages are,

1. The seven-step SDLC model has clear distinctions of the steps in the process.

2. The SDLC model is suitable for the development of large-scale solutions and complex solutions (Sommerville, 2011).

3. If needed, it can also follow an iterative or incremental approach.

4. The limitations are,

5. It is not suitable for small-scale software development projects.

6. It consumes more time and cost.

7. There must be a large team with more than one members with the same skill set (Dennis, Wixom, & Roth, 2014).

An illustration of the model is,

Figure 2: The Seven-Step Model

Comparison of the two SDLC processes

The four-step SDLC model and the seven-step SDLC model, both has the same objective of developing a software or an information system successfully. The activities of each of the processes are essentially the same. However, the four-step SDLC model contains the basic steps needed for development of a software or an information system. Whereas, the seven-step SDLC model follows the same process with more steps. Hence, the seven step model is a more refined version of the four-step model (Sommerville, 2011). A four step model is mostly incremental and iterative in nature. Whereas, a seven-step model may be incremental or iterative to a lesser degree compared to the four-step model.

The steps in the four-step model are not clearly distinguished from one another. A single step covers activities for more than one functions. On the contrary, the steps in a seven step model are clearly distinguished and has different sets of activities.

The four-step model is suitable for the development of the small to medium scale software with lesser complexity. On the other hand, the seven-step SDLC model is suitable for the development of medium to large scale software and systems with more complexity (Sommerville, 2011). The four-step model is more rapid and agile in nature. It depends on a small team of developers with cross-functional skills. On the other hand, a seven-step model is applied on large projects and it will need a large team with multiple resources for the same skill set.

Hence, both of the models has the same objective but the application of the models are different. The applications of the models depend on the time, cost, complexity, team size and many other environmental factors.

References Dennis, A., Wixom, B. H., & Roth, R. M. (2014). Systems Analysis and Design. John Wiley & Sons. Richardson, T., & Thies, C. N. (2012). Secure Software Design. Burlington: Jones & Bartlett Publishers. Sommerville, I. (2011). Software Engineering. NY: Pearson. Wang, Y. (2011). Software Engineering Foundations. NY: CRC Press.

Planning

Requirement Analysis

Design

Development

Testing

Implementation

Maintanance

Requirement Analysis

Development

Implementation

Testing