I. Software Development Life Cycle (SDLC) : A. Definition

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

I.

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)


A. Definition
Software Development Life Cycle (SDLC) is a systematic process for building software that ensures the
quality and correctness of the software built. (Anon., n.d.)

B. Purpose
Software Development Life Cycle (SDLC) aims to create a high quality system that meets customer
expectations, is efficient and planned. The SDLC includes a detailed plan that explains how to plan, build,
and maintain specific software. Each phase of the software development life cycle has its own process and
products provided for the next phase. (Anon., n.d.)

C. Phases
1. Planning
This is the most important phase in the software development life cycle. The business analyst collects a
customer request based on the customer's business needs and records the requirements in the Business
Requirements Specification and then plans for the quality assurance requirements and recognition of the
risks involved is also done at this phase. (Rajkumar, 2019)

2. Analysis
Once the requirement information gathering and planning is done the next step is to define and document
the product requirements and get them approved by the customer. This process conducted with the help of
“Software Requirement Specification” document also known as “SRS” document. “SRS” consists of all the
product requirements to be designed and developed during the project life cycle. (Anon., n.d.)

3. Design
This design phase serves as input for the next phase of the model. There are two kinds of design documents
developed in this phase: (Anon., n.d.)
❖ High-Level Design (HLD)
• Brief description and name of each module
• An outline about the functionality of every module
• Interface relationship and dependencies between modules
• Database tables identified along with their key elements
• Complete architecture diagrams along with technology details

❖ Low-Level Design (LLD)


• Functional logic of the modules
• Database tables, which include type and size
• Complete detail of the interface
• Addresses all types of dependency issues
• Listing of error messages
• Complete input and outputs for every module

1
4. Implementation
This is the phase where we start building the software and start writing the code for the product in the chosen
programming language. In the coding phase, tasks are divided into units or modules and assigned to the
various developers. It is also the longest phase of the Software Development Life Cycle process.
(Anon., n.d.)

5. Testing & Integration


When the software is ready, it is sent to the testing department where Test team tests it thoroughly for
different defects. This is done to verify that the entire application works according to the customer
requirement. Once the QA makes sure that the software is error-free and stable, the final deployment process
starts. (Rajkumar, 2019)

6. Maintenance
Once the system is deployed, and customers start using the developed system, following 3 activities occur:
❖ Bug fixes reported because of some scenarios which are not tested at all
❖ Upgrade applications to newer Software versions
❖ Add some new features into the existing software
The main focus of this SDLC phase is to ensure that needs continue to be met and that the system continues
to perform as per the specification mentioned in the first phase. (Anon., n.d.)

D. Some popular SDLC models


1. V-model
In this type of SDLC model testing and the development, the phase is planned in parallel. It is also known
as Verification and Validation (V&V) model. In this, each phase of SDLC must be completed before the
next phase starts. It follows a sequential design process same like waterfall model. (Rajkumar, 2019)

2. Spiral model
The spiral model is a risk-driven process model and mostly it adapts to the large and complicated projects
where risk is high. This model works in an iterative nature. Every Iteration starts with a planning and ends
with the product evaluation by client. It is also a combination of both prototype development process and
waterfall model. (Rajkumar, 2019)
3. Waterfall model
This is a traditional model. It is also known as Sequential Design Process, often used in SDLC. In this
approach, the whole process of the software development is divided into various phases. In this SDLC
model, the outcome of one phase acts as the input for the next phase. This methodology is preferred in
projects where quality is more important as compared to schedule or cost. This methodology is also best
suitable for short term projects where the requirements will not change. (Rajkumar, 2019)

2
4. Agile model
Agile methodology is a practice which promotes continue interaction of development and testing during
the SDLC process of any project. In the Agile method, the entire project is divided into small incremental
builds. All of these builds are provided in iterations, and each iteration lasts from one to three weeks.
(Anon., n.d.)
5. Big bang model
This model is focusing on all types of resources in software development and coding, with no or very little
planning. The requirements are understood and implemented when they come. This model works best for
small projects with smaller size development team which are working together. It is also useful for
academic software development projects. (Anon., n.d.)

II. ANALYSIS AND DESIGN


A. Data types and variables use in program
Variable Type Purpose
N int Maximum number of employees can be stored
n int Used in loop function
i int Used in loop function
names string Employees name
IDs int Employees ID
day int Working day
sum int The total employee salary can be received
option int Option that user choose

B. Conditional statements and loop statement


1. Conditional statements
a) If-else
This program uses “if-else” with condition to checking the number of employees.

b) Switch…case
This program uses “switch…case ” and put functions into "cases".

c) Do…while
This program uses “do…while” with condition and display the options on the program.

2. Loop statement
a) For
This program uses “for” loop with condition to enter employees information, view employees information
and view the salary of employees by number of working days.

3
III. IMPLEMENTATION
A. Code

4
5
1. Main function
a) Source code

b) Explanation
❖ Declare “static int option;”.
❖ Initialize the “do ... while ( )” loop with the condition “option != 6”.
❖ Enter the options display on the program.
❖ Use “switch…case ” and put functions into "cases":
• "case 1": Run function “Enter employees information”
• "case 2": Run function “View employees information”
• "case 3": Run function “Enter the number of books sold”

6
• "case 4": Run function “Salary of employees”
• "case 5": Run function “Revenue of the store”
• "case 6": If the user selects option 6, the program will display the text “EXITING
PROGRAM ...”
• "default": If the user selects an option that is not in the "Menu" then the program will
display the text “YOU HAVE ENTERED INVALID VALUE, PLEASE ENTER
AGAIN !”

2. Function 1: Enter employees information


a) Source code

b) Explanation
❖ Declare "const int N = 10;" , "static int n = 0;" , "static string[] names = new string[N];" , "static
int[] IDs = new int[N];" , "static int[] day = new int[N];" above.
❖ Declare “int i = 0;”
❖ Use “if-else” with condition (n + k <= N) to checking the number of employees and the program
will display the text “ERROR: ADD TOO MANY EMPLOYEES. PLEASE ENTER
AGAIN!” with the request to re-enter if the user enters it incorrectly.
❖ Initialize the “for (int i = 0; i < n + k; i++)” loop to enter employees information.

7
3. Function 2: View employees information
a) Source code

b) Explanation
❖ Use “if ” and "while" with condition (n > 0) to display the number of employees entered in the
software.
❖ Initialize the “for (int i = 0; i < n; i++)” loop to view employees information.

4. Function 3: Enter the number of books sold


a) Source code

b) Explanation
❖ Declare "static int eb;" , "static int jb;" , "static int kb;" above. ("eb" is English book, "jb" is
Japanese book, "kb" is Korean book).

8
5. Function 4: Salary of employees
a) Source code

b) Explanation
❖ Declare "static int[] sum = new int[N];" above.
❖ Initialize the “for (int i = 0; i < n; i++)” loop and use the calculation "sum[i] = (100000 * day[i]);"
to view the salary of employees by number of working days (100.000 VND/day).

6. Function 5: Revenue of the store


a) Source code

b) Explanation
❖ Declare "static int rv;" above, ("rv" is revenue).
❖ Use the calculation "rv = ((eb * 600000) + (jb * 500000) + (kb * 400000));" to view the store
revenue by the number of books sold, (English book = 600.000 VND, Japanese = 500.000 VND,
Korean book = 400.000 VND).

9
IV. REFERENCES
Anon., n.d. guru99. [Online]
Available at: https://www.guru99.com/what-is-software-engineering.html
[Accessed 21 04 2020].
Rajkumar, 2019. softwaretestingmaterial. [Online]
Available at: https://www.softwaretestingmaterial.com/sdlc-software-development-life-
cycle/?fbclid=IwAR2pWUoHzjLN2UEHQlEvUvdF3gAkEdF6GSuJULqZMKjDqce5R5eBa7rSoa8
[Accessed 21 04 2020].

10

You might also like