Bank Case Study
Bank Case Study
Bank Case Study
16
Table of Contents
1. Introduction ................................................................ 4
2. Background ................................................................ 5
5. Roles ........................................................................ 12
8. Summary ................................................................... 39
Phases of SDLC............................................................. 39
1. Introduction
2. Background
Per Elliott & Strachan & Radford (2004), The initial concepts of
SDLC were originated in the 1960s to develop large scale
functional business systems in an age of large scale bus iness
conglomerates. In the earliest days of computer programming,
the only models that were used to develop complex things like
that were in construction and manufacturing industries. Thus, it
made a lot of sense that the structured approaches used in those
industries should be applied on developing computer systems as
well. For instance, in the construction fields, the business analysts
would first understand the client’s requirement. The steps follow
by architects designing solutions and engineers to dev elop and
build the buildings, bridges or roads. Coming to the last step,
test, refine and sign the certificate for the products.
Consequently, in the 1970s, a large groups of business analysts of
construction and manufacturing industries had got into the f ield
of computing to analyze the business requirement for the new
systems. A significant number of engineers had also entered the
field of computing as programmers.
Not limited to the listed models below, there are various models
used in the software development life cycle process.
Waterfall
Iterative
Agile
Rapid Application Development (RAD)
The activities can be broken down into a very detail level but at
the same time they can be grouped into fiv e (5) core categories:
Plan, Design, Develop, Test and Deploy.
Plan
Deploy Design
Test Develop
Stage 1: Plan
Stage 2: Design
Stage 3: Develop
After the best or the most appropriate design has been selected,
implementation starts immediately. Programmers should develop
the software according to the DDS and at the same time follow
the coding standards defined by the company’s closely.
Programming tools should be limited to those provided by the
company as well to ensure all programmers can align their works.
Functional Specification (FS) should be written by programmers to
record all the functions that are provided at a technical level.
Software Development Life Cycle 9
Stage 4: Test
Stage 5: Deploy
5. Roles
Project Manager
Model 1: Waterfall
Requirement
Design
Implementation
Testing
Deployment
Maintenance
1. Requirement
Requirement Phase mainly focuses on communicating with
business users to gather and analyze requirements. Project
managers try their best to understand and analyze the
business, capture all the details of user’s needs, define the
scope and arrange resources in the Business Case
Documentation.
2. Design
With the Business Case Documentation in hand prepared in
Requirement Phase, Business Analysts evaluate and start on the
logical design the software by making use of the information
and requirements that are collected by the Project Managers.
Based on the high-level design which has fulfilled all the user
requirements, System Analysts transform the high -level design
to the physical design which put hardware and software
technology into consideration. System architecture is defined
at Design Phase as well.
3. Implementation
Implementation Phase is where the actual code is written.
Programmers develop the software according to the
instructions recorded on the documents prepared in
Requirement and Design phases. Their output is the Functional
Specification which files all the details of the functions that
are implemented.
4. Testing
With the inputs from the Implementation Phase, testers in
Testing Phase will draft the Test Plans based of the Functional
Specification. Programmers prepare the Test Plan in a check
list to examine if every function are executable as expected.
Business Analysts prepare the Test Pla n for the users which
focuses on meeting the user requirements. Finally, Quality
Control (QC) experts gather all the documentations from all
previous phases and do an overall test on every aspect on a
deeper level that are documented including system
architecture, technology used, etc.
Software Development Life Cycle 15
5. Deployment
After receiving a “PASS” from the Testing Phase, the product is
said to be ready to release. Software or Application will either
be deployed to production servers or release for users to install
on their own machine.
6. Maintenance
In reality, it is inevitable there are some defects or issues come
up. In addition, the world keeps changing every day and as a
result enhancements are necessary from time to time.
Maintenance Phase is for catering such situation and deliver
changes to the users again. Within Maintenance Phase, a
subset of SDLC Waterfall Model is involved.
1. Requirement
• Business Case Documentation
2. Design
• Software Requirement Specification
• Design Documentation Specification
3. Implementation
• Functional Specification
4. Testing
• Test Plans
5. Deployment
• Deployment Plan
• Contingency Plan
Applications of model
Advantages
Disadvantages
Model 2: Iterative
Requirements
Design Design
Implement Implement
Test Test
Design
Implement
Test
Design Design
Implement Implement
Test Test
Deployment
Maintenance
1. Requirement
Same as Waterfall Model, Requirement Phase focuses on
communicating with business users and prepare the Business
Case Documentation.
2. Design
Similar to Water Model, Business Analysts and System
Analysts work on the logical and physical designs
respectively to prepare the Software Requirement
Specification and Design Specification Document. However,
there is design which holistically recorded how the software
is going to be implemented and there are several subset of
designs for programmers to go through the implementation
and testing which is isolated from other subset of designs. In
addition, the subset of designs can be modified after every
round of build. Therefore, the subset of designs is not
finalized until reaching the Deployment Phase.
3. Implementation
Programmers develop the software accor ding to the subset
of design passed from Design Phase. Functional
Specification will be prepared for each subset of
implementation.
4. Testing
Programmers, business users and QC experts will all be
involved for each subset of testing. However, business users
will only focus on the limited scope that is covered in the
currently build but programmer and QC experts have to
cover all the implemented functions every time. In addition,
for the last build before going to the Deployment Phase, the
three parties not only have to do the subset of testing, they
have to conduct the testing as a full system test as well.
5. Deployment
6. Maintenance
Again, like Waterfall Model, it is inevitable that every
software needs to be maintenance. Therefore, a subset of
SDLC Iterative Model is going to take part in Maintenance
Phase.
1. Requirement
• Business Case Documentation
2. Design
• Software Requirement Specification
• Design Documentation Specification
3. Implementation
• Functional Specification
4. Testing
• Test Plans
5. Deployment
• Deployment Plan
• Contingency Plan
Applications of model
Advantages
Disadvantages
Model 3: Agile
Requirement
Deployment Design
Testing Implementation
Build 1
Requirement
Deployment Design
Testing Implementation
Build 2
1. Requirement
As requirements cannot be gathered completely at the
beginning, close relation with business users is necessary to
gather feedbacks after every release. However, a Business
Case Documentation is still needed at the startup of the
project to briefly describe the scope and goal of the
project. Resources might have to evaluate and rearrange at
each build.
2. Design
Very limited amount of time will be put on designing the
software as a whole due to the uncertainty. Design ers mainly
focus on the build that is working on but the goal of all the
builds will still follow the scope that is defined in the
Business Case Documentation. Software Requirement
Specification and Design Specification Documentation are
expected to be short and simple listing out what is covered
in the current build.
3. Implementation
Programmers tend to have more “freedom” in Agile Model
implementation due to the brief documentation s provided.
However, they are still required to follow strictly on the
coding standard. Functional Specification usually covers the
core functions and skipping the details.
4. Testing
A very high responsibility falls on the testers due to limited
information found in the documentations especially for the
QC experts. Business users tend to test on a very high level
or not even includes business users in the Testing Phase.
5. Deployment
Usually product release to users two – three (2-3) weeks
after the requirements have been placed. Deployment Plan
tends to focus on how to deliver the product but with limited
information of the contingency plan because another build
will be coming up tightly and the issue can be fixed there.
Software Development Life Cycle 23
1. Requirement
• Business Case Documentation
2. Design
• Software Requirement Specification
• Design Documentation Specification
3. Implementation
• Functional Specification
4. Testing
• Test Plans
5. Deployment
• Deployment Plan
• Contingency Plan
Applications of model
Advantages
Disadvantages
Prototype 1
Prototype 2
Prototype 3
Final
Releasing
Product
1. Business Modeling
The information flow and the information distribution are
identified between different business channels. A Business
Analysis Report is prepared to find out the essential
information for the business such as how it can be acquired,
how it can be processed and what ar e the elements driving
the information flow and distribution.
2. Data Modeling
With the inputs of Business Modeling Phase, all the necessary
information should have been identified. At Data Modeling
Phase, the identified information is transformed to certain
data sets or data objects which will be further evaluated
and defined their relationships in relevance to the Business
Model.
3. Process Modeling
The defined data set passed from Data Modeling Phas e will
be further processed by adding business information fl ow to
achieve the business objectives that are identified at
Business Modeling Phase. Any changes or enhancements on
the data sets will be done at Process Modeling Phase.
Operation of create, retrieve, update or delete (CRUD) of a
data object should be defined at this phase as well.
4. Application Generation
Automated tools will be used to convert all the Process
Models into program code and pull them together as a
prototype.
5. Testing & Turnover
The newly generated prototype will be independently tested
at this phase without taking consideration of the functions
that are implemented in other prototypes. However, the
integration between prototypes should be tested thoroughly.
Software Development Life Cycle 27
Business Modeling
• Business Analysis Report
Data Modeling
• Data Sets / Data Objects
Process Modeling
• Data Sets / Data Obejcts with functionalities
Application Generation
• Program / Codes
Application of model
Advantages
Disadvantages
7. Comparison Studies
Project Variables
Time Cost
Features Quatity
Quality Features
Time Cost
Waterfall Approach
Features and Quality are some fixed deliverables for the waterfall
approach. In QS System, the full set of tendering functio ns should
be provided as a workable system. Even only 5% of the functions
are not implemented, the other 95% of the implemented functions
are treated as useless work. Consequently, Time and Cost have a
much big chance to be varied in order to fulfill the requirements
of Features and Quality. It would be more appropriate to follow
the six (6) phases of waterfall approach to ensure all features and
quality to be delivered because the team cannot move forward
to the next phase until the current phase is done. For example,
the programmers cannot swap or skip to the next phase until they
have finished all the implementations. Likewise, testers cannot
proceed to deployment unless all the tests are passed. With
waterfall approach, it can help ensuring QS System to provide full
features at launch. Nevertheless, the application might not be
Software Development Life Cycle 31
Agile Approach
In reverse, Time and Cost are the fixed deliverables for agile
approach. The team is given a fixed time to implement the
application with quality. The tradeoff will be the only left v ariable
– Features. The most important feature of the Approval App is the
approval function – be able to approve or reject the tasks. Other
features are necessary but can be missed out for the application
to work. Hence, in order to deliver on time with li mited cost
together with certain quality, giving up the number of features is
the only choice.
product. Thus, the time that are used for planning, implementi ng
and testing could end up to be wasted and the “high -quality”
features are treated as useless.
Software Development Life Cycle 33
This case study will drill into the SDLC of another two applications
– Ecommerce Website and Enterprise Financial Application. RAD
approach will be chosen to implement the Ecommerce Website
and Enterprise Financial Application will make use of Iterative
approach.
Project Variables
Time Cost
Quatity Features
Features Quality
Time Cost
Time and Cost are the fixed deliverables in RAD approach. It best
fits for the applications or software that have to be released
while the need for it is hot and be there when a market is for it.
Users can tolerate if there are not many choices in the market
and they are willing to wait for the fixings and enhancements of
the application. As a result, Quality and Features are negotiable.
Iterative Approach
Can Approval app get along with RAD then? Likewise, RAD shares
the similarities of Agile which both have Time and Cost as fixed
deliverables. Yet, RAD has a more flexible perspective on Quality
Software Development Life Cycle 38
8. Summary
Deliverables of SDLC
Phases of SDLC
9. Meeting Minutes
Next N/A
Meeting