What is Software Development Life Cycle?
SDLC is short for Software / System Development Life Cycle. It is the process or series of planned activities, standardized by ISO/IEC 12207, that software follows during its design and development.
Major aim of following Software Development Life Cycle is to produce high quality software that meets customer’s expectations and is built within estimated cost and time.
fig:Phases of SDLC
There are six phases in every software / systems development life cycle:
Requirement Analysis: In this phase, following points are considered –
Design: This is the second phase of SDLC. Following points are required to be considered in this-
Implementation / Coding: This is the third and most important phase as main development starts here and it’s the main concern of developers. Actual coding with database design starts in this phase. This can be called as longest phase of life cycle.
Testing: This is the next step after coding gets complete. In this phase the actual and expected requirements of the system are compared and any discrepancies are reported to developer. Software is checked for bugs (errors in code), which are then corrected by developers.
Software Testing can be divided into various types: Blackbox testing (Testing person does not know the internal working of software) and white box testing (Testing person also checks the code of the system)
Types of Functional / Blackbox testing: Unit testing, systems testing, integration testing, acceptance testing, performance testing, load testing, stress testing.
Boundary Value analysis is a technique used in BBT (Blackbox testing)
Types of Structural / Whitebox testing: Code coverage, branch coverage, segment coverage, equivalence partitioning are some techniques used in white box testing. Control Flow Models are also part of WBT.
Deployment: After software is tested on developers site and customer’s site, then it is installed / deployed at customer’s site and is ready to use.
Maintenance: After the customer starts using the software, the actual issues that pop up are rectified by the software development team from time to time. This completes the life cycle of the software product.
There are various kinds of software development life cycle models followed within different organizations these days. Some of the examples are waterfall model, iterative model, spiral model, v-model, big-bang model, agile model, RAD model etc.
Advantages of SDLC:
Disadvantages of SDLC:
What is ISDM?
Information System Development Methodology (ISDM) is the framework used to plan, structure and control the process of developing an information system. By utilizing the techniques used within this framework development team can effectively and efficiently define the scope, time and cost of the application to be developed.
Here are few types of Information System Development Methodologies:
Agile Software Development Methodology – This is also sometimes known as incremental model. The application software is developed in rapid incremental cycles. The output of each cycle is called as release. Each release is built on previous functionality and is thoroughly tested to ensure application software quality. An example is Extreme Programming.
Scrum Methodology – This is a type of agile methodology, but works on the idea of empirical approach or experimenting rather than observing. Work or application development is divided into small parts or sprints, i.e. periodic evaluation of the application to be developed. Sprints can be of 1 week, 2 week duration, i.e. work done in 1 week is evaluated by developers & users of system, and its advantages and limitations are discussed, any modifications are incorporated.
System / Software Development Life Cycle (SDLC) - It is the process or series of planned activities that software follows during its design and development. Phases are: Requirement Analysis, Design, Coding, Testing, Deployment and Maintenance.
Dynamic Systems Development Model Methodology (DSDM) – It is a type of agile methodology which helps to provide right solution at right time. This is a scalable approach which focuses on early delivery of project within budget.
Crystal Methods Methodology – In this methodological analysis, the project process is given less importance rather the people involved in development team are given more priority. Team building skills, communication skills and interaction are more prominent.
Feature Driven development (FDD) - Application is developed based upon its features, in short and simple cycles.
Joint Application Development (JAD) – This type of process includes, involving the client or end user in the development of application / software right from the beginning. Joint sessions of developers and users are set up, where they discuss the requirement at every stage.
Rational Unified Process (RUP) – This is an iterative approach which includes all software development methodologies in one package.
Rapid Application Development (RAD) – To develop high quality products quickly is the main process of this methodology. To speed up the development timelines, product / software components are often re-used and prototyping is utilized to get clear requirements.
Lean Development (LD) – Customer satisfaction is of highest priority at this stage. Main idea behind this approach is to get maximum value for customer’s investment.
What is Agile Process?
Agile Model of software development is incremental and iterative process which focuses on delivering the software product in small rapid cycles.
At end of each cycle inputs from developers and customers are incorporated in development of product. Such small cycles are called ‘build’ and output of each build is called a ‘release’.
Scrum meetings or ‘sprint’ or ‘iterations’ are conducted periodically to review and revise the software after every release. Cross functional teams work on software product to discuss requirements, design, code, testing etc.
Advantages of Agile Process
Customer is satisfied as his inputs are taken at end of each release.
Disadvantages of Agile Process
Lean and Kanban Software Development, Extreme Programming, Crystal Methodology, Dynamic System Development Model, Feature Driven Development and Scrum are some of the Agile Software Development Methodologies being used in software industries. Out of these Scrum is most common.Scrum is an agile methodology which is a lightweight agile project management framework with wide pertinence for managing and controlling software development product.
Test cases for complete system
Student_Login:
S No. |
Steps |
Expected Result |
Actual Result |
1 |
Enter username |
|
|
2 |
Enter Password |
|
|
3 |
Click Submit button |
Login successful, page gets redirected to home page. |
|
Manage_details:
S No. |
Steps |
Expected Result |
Actual Result |
1 |
Follow login process as in above case. |
Login successful, user enters the system |
|
2 |
Open form |
Form opens |
|
3 |
Enter name, age, roll no, class, subjects |
|
|
4 |
Click Submit |
Data gets saved into the system |
|
5 |
Click on edit, corresponding to form |
|
|
6 |
Enter new age |
|
|
7 |
Click Save button |
Age gets saved into the system. |
|
Some key characteristics that are common in all Agile Applications are:
Participation of user at every stage of software development.
Rapid Application development (RAD) model –
In RAD model, all modules or components of system are developed parallel as if they were small independent projects. These are time bound, customers can provide quick and when delivered as a prototype.
There are five phases in RAD –
Advantages of RAD:
Disadvantages of RAD:
Software Development Life Cycle (SDLC) - It is the process or series of planned activities that software follows during its design and development.
There are six phases in every software / systems development life cycle:
Advantages of SDLC:
Disadvantages of SDLC:
We can broadly divide the approaches of system development into two:
Here we discuss three widely used agile methodologies:
Scrum Methodology – In this approach, work or application development is divided into small parts or sprints, i.e. periodic evaluation of the application to be developed. Sprints can be of 1 week, 2 week duration, i.e. work done in 1 week is evaluated by developers & users of system, and its advantages and limitations are discussed, any modifications are incorporated.
Dynamic Systems Development Model Methodology (DSDM) – This method, helps to provide right solution at right time. This is a scalable approach which focuses on early delivery of project within budget.
Joint Application Development (JAD) – This type of process includes, involving the client or end user in the development of application right from the beginning. Joint sessions of developers and users are set up, where they discuss the requirement at every stage and proceed subsequently.
Details
Other Assignments
Related Solution
Other Solution