Software Development Life Cycle (SDLC)
What is Software Development Life Cycle-SDLC?
SDLC is a model that defines the ordered steps in building an information
system. These steps are discussed below:
1. System planning
The software project planning involves the estimate how much money, time,
and other resources required to complete to build a specific software.
Software project managers will use the historical data
(software metrics) and experience to guide the estimates. The estimates can
be affected mostly by the two factors: software
complexity
and
project size.
The planning objective is achieved through a process of information
discovery. The activities to perform during the the system planning are
1. determination of software scope 2. Resources.
The determination of software scope produces a scope statements about
software data, functions, performance, and constraints. For example, in
planning an ATM software project, we define the software scope as the
following:
-Data:
+input data: user authentication information (user name PIN code), and
transaction types (balance inquiry, withdrawal, and deposit)
+output data: transaction type, date, and time, terminal, card number,
account number, and current balance
-Functions:
+Read user information
+Authenticate user information
+Perform transactions (inquiry, withdrawal, deposit)
++inquiry: get available balance, get total balance, and display the message
++withdrawal: display menu of withdrawal amounts, and cancel option
++deposit: prompt user to enter deposit amount, receive input, instruct user
to insert envelope, display
error message, interact with database to credit account, etc.
-Performance: time to complete a transaction, a process,
respond time, time to switch between one transaction to another, etc.
-Constraints: available memory, a must to build software with C++
and Mysql database, etc.
2. System analysis
System Analysis task involves understand the specific requirements that must
be achieved to build a high-quality software. System analysis will describe
data, functions, performance, and constraints of the system in detail.
Requirements are refined, and analyzed to ensure their accuracy, clarity,
and completeness. Various models are done in stages including data model
(ERD), and process model (DFD).
3. System design
The goal of system design is to generate a model or presentation of the
system to be built. Hardware requirements of the system , programming
language , database structure are also stated. In this phase, database ,
program modules, and interfaces are designed. The models produced in system
analysis are basis to the system design phase.
4. System implementation
The design is translated into a machine-readable form. Code generation step
performs this task.
5. System support
The changes will made to the system. Changes will occur because of errors
found, because of
adapting to external environment or requirement of customer to enhance
software performance.