Topic9 SDLC
-
Upload
nurliyana-maludin -
Category
Documents
-
view
224 -
download
0
Transcript of Topic9 SDLC
-
8/8/2019 Topic9 SDLC
1/61
STIM5013 IT For Manager
Discovering Computers 2010: Living in a Digital WorldChapter 14
1
Topic EightInformation Systems Development
-
8/8/2019 Topic9 SDLC
2/61
-
8/8/2019 Topic9 SDLC
3/61
Obj ectives Overview
Describe the varioustools used in object
modeling
Explain the activitiesperformed in the
design phase
Recognize the developprograms activity is
part of systemdevelopment
Discuss the activitiesperformed in the
implementation phase
Discuss the purpose of the activities
performed in theoperation, support, and
security phase
Discovering Computers 2010: Living in a Digital WorldChapter 12
3See Page 619for Detailed Objectives
-
8/8/2019 Topic9 SDLC
4/61
Wh at is System Development?
System development is a set of activitiesused to build an information system
A system is a set of components that
interact to achieve acommon goal
An informationsystem (IS) is a
collection of hardware, software,
data, people, andprocedures that worktogether to producequality information
System developmentactivities are grouped
into ph ases , and iscalled the systemdevelopment life
cycle (SDLC)
Discovering Computers 2010: Living in a Digital WorldChapter 12
4Page 620
-
8/8/2019 Topic9 SDLC
5/61
Wh at is System Development?
Discovering Computers 2010: Living in a Digital WorldChapter 12
5Pages 620 621Figure 12-1
-
8/8/2019 Topic9 SDLC
6/61
Wh at is System Development?
System development should follow three generalguidelines:
Discovering Computers 2010: Living in a Digital WorldChapter 12
6Page 621
Group activities or tasks into phases
Group activities or tasks into phases
Involve users
Involve users
Define standards
Define standards
-
8/8/2019 Topic9 SDLC
7/61
Wh at is System Development?
System development should involve representatives from eachdepartment in which the proposed system will be used
Discovering Computers 2010: Living in a Digital WorldChapter 12
7Page 622Figure 12-2
-
8/8/2019 Topic9 SDLC
8/61
Wh at is System Development?
Pro ject management is the process of planning,scheduling, and then controlling the activities duringsystem development
To plan and schedule a project efficiently, the projectleader identifies:
Discovering Computers 2010: Living in a Digital WorldChapter 12
8Page 623
Project scope RequiredactivitiesTime estimatesfor each activity
Cost estimatesfor each activity
Order of activities
Activities thatcan take place atthe same time
-
8/8/2019 Topic9 SDLC
9/61
Wh at is System Development?
Discovering Computers 2010: Living in a Digital WorldChapter 12
9Page 623Figure 12-3a
Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Gantt Charts below Chapter 12
A popular toolused to planand schedule
the timerelationships
among projectactivities is a
Gantt chart
-
8/8/2019 Topic9 SDLC
10/61
Wh at is System Development?
Discovering Computers 2010: Living in a Digital WorldChapter 12
10Page 624Figure 12-3b
Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click PERT Charts below Chapter 12
A PERT chartalso can be
used forplanning and
scheduling time
-
8/8/2019 Topic9 SDLC
11/61
Wh at is System Development?
Feasi b ility is a measure of how suitable thedevelopment of a system will be to theorganization
Discovering Computers 2010: Living in a Digital WorldChapter 12
11Pages 624 - 625
Operationalfeasibility
Schedulefeasibility
Technicalfeasibility
Economicfeasibility
-
8/8/2019 Topic9 SDLC
12/61
Wh at is System Development?
Documentation is the collection andsummarization of data and information
A project notebook contains all documentation for asingle project
Users and IT professionals refer to existingdocumentation when working with and modifyingcurrent systems
Discovering Computers 2010: Living in a Digital WorldChapter 12
12Page 625
-
8/8/2019 Topic9 SDLC
13/61
Wh at is System Development?
During system development, members of the projectteam gather data and information using severaltechniques
Discovering Computers 2010: Living in a Digital WorldChapter 12
13Pages 625 626Figure 12-4
Reviewdocumentation Observe Survey
Interview JAD Sessions Research
-
8/8/2019 Topic9 SDLC
14/61
Wh o Initiates a SystemDevelopment Pro ject?
A user may request a new or modified system
Organizations may want to improve hardware, software, or other
technology
Situations beyond an organization s control might require a change
Management might mandate a change
A user may request a new or modified information system using a requestfor system services or a project request
Discovering Computers 2010: Living in a Digital WorldChapter 12
14Page 626
-
8/8/2019 Topic9 SDLC
15/61
Wh o Initiates a SystemDevelopment Pro ject?
Discovering Computers 2010: Living in a Digital WorldChapter 12
15Page 627Figure 12-5
-
8/8/2019 Topic9 SDLC
16/61
Planning P h ase
The planning p h ase for a project begins when thesteering committee receives a project request
Four major activities are performed:
Discovering Computers 2010: Living in a Digital WorldChapter 12
16Page 628
Review and
approve theproject requests
Review and
approve theproject requests
Prioritize theproject requests
Prioritize theproject requests
AllocateresourcesAllocate
resources
Form a project
developmentteam
Form a project
developmentteam
-
8/8/2019 Topic9 SDLC
17/61
A nalysis P h ase
The analysis p h ase consists of two majoractivities:
Discovering Computers 2010: Living in a Digital WorldChapter 12
17Pages 629 - 631
Conduct a preliminaryinvestigation
Determines anddefines the exactnature of the problemor improvementInterview the user whosubmitted the request
Determines anddefines the exactnature of the problemor improvementInterview the user whosubmitted the request
Perform detailedanalysis
Study how the currentsystem works
Determine the userswants, needs, andrequirementsRecommend a solution
Study how the currentsystem works
Determine the userswants, needs, andrequirementsRecommend a solution
-
8/8/2019 Topic9 SDLC
18/61
A nalysis P h ase
Discovering Computers 2010: Living in a Digital WorldChapter 12
18Pages 629 630Figure 12-6
Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Feasibility Study below Chapter 12
-
8/8/2019 Topic9 SDLC
19/61
A nalysis P h ase
Process modeling (structured analysis and design) is ananalysis and design technique that describes processesthat transform inputs into outputs
Discovering Computers 2010: Living in a Digital WorldChapter 12
19Page 631
Entity-relationship
diagrams
Data flowdiagrams
ProjectdictionaryClick to view Web Link,click Chapter 12, Click Web
Link from left navigation,then click Process Modelingbelow Chapter 12
-
8/8/2019 Topic9 SDLC
20/61
A nalysis P h ase
An entity-relations h ipdiagram (ERD) is a toolthat graphically shows
the connections amongentities in a systemEntities are objects inthe system that havedata
Discovering Computers 2010: Living in a Digital WorldChapter 12
20Page 632Figure 12-7
-
8/8/2019 Topic9 SDLC
21/61
A nalysis P h ase
A data flow diagram(DFD) is a tool thatgraphically shows the
flow of data in a system Data flows Processes Data stores Sources
Discovering Computers 2010: Living in a Digital WorldChapter 12
21Page 632Figure 12-8
-
8/8/2019 Topic9 SDLC
22/61
A nalysis P h ase
The pro ject dictionary contains all thedocumentation and deliverables of a project
Structured English is astyle of writing thatdescribes the steps ina process
Discovering Computers 2010: Living in a Digital WorldChapter 12
22Page 633Figure 12-9
-
8/8/2019 Topic9 SDLC
23/61
A nalysis P h ase
A decision ta b le is a table thatlists a variety of conditionsand the actions thatcorrespond to each condition
A decision tree also showsconditions and actions, but itshows them graphically
Discovering Computers 2010: Living in a Digital WorldChapter 12
23Page 633
-
8/8/2019 Topic9 SDLC
24/61
A nalysis P h ase
Decision ta b le Decision tree
Discovering Computers 2010: Living in a Digital WorldChapter 12
24Page 633Figures 12-10 12-11
-
8/8/2019 Topic9 SDLC
25/61
A nalysis P h ase
The data dictionary stores the data item s name,description, and other details about each dataitem
Discovering Computers 2010: Living in a Digital WorldChapter 12
25Page 634Figure 12-12
-
8/8/2019 Topic9 SDLC
26/61
-
8/8/2019 Topic9 SDLC
27/61
A nalysis P h ase
A use case diagramgraphically shows howactors (users) interact
with the informationsystemDiagrams areconsidered easy tounderstand
Discovering Computers 2010: Living in a Digital WorldChapter 12
27Page 634Figure 12-13
-
8/8/2019 Topic9 SDLC
28/61
A nalysis P h ase
A class diagramgraphically showsclasses and subclasses
in a systemEach class can have oneor more subclassesSubclasses use
inheritance to inheritmethods and attributesof higher levels
Discovering Computers 2010: Living in a Digital WorldChapter 12
28Page 635Figure 12-14
-
8/8/2019 Topic9 SDLC
29/61
A nalysis P h ase
The system proposal assesses the feasibility of each alternative solution
The steering committee discusses the systemproposal and decides which alternative to pursue
Discovering Computers 2010: Living in a Digital WorldChapter 12
29Pages 635 - 636
Packagedsoftware
Customsoftware Outsourcing
Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Vertical Market Software below Chapter 12
-
8/8/2019 Topic9 SDLC
30/61
Design P h ase
The design p h ase consists of two major activities
Discovering Computers 2010: Living in a Digital WorldChapter 12
30Page 638
Acquire hardwareand software
Develop all of thedetails of the new
or modified
information system
-
8/8/2019 Topic9 SDLC
31/61
Design P h ase
To acquire the necessary hardware and software:
Discovering Computers 2010: Living in a Digital WorldChapter 12
31Pages 638 - 640
Use researchtechniques such ase-zines
Identify technical
specifications
RFQ, RFP, or RFI issent to potentialvendors or VARs
Solicit vendorproposals Various techniquesare used todetermine the bestproposal
Test and evaluate
vendor proposals
Systems analystmakesrecommendation tosteering committee
Make a decision
Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click E-Zines below Chapter 12
-
8/8/2019 Topic9 SDLC
32/61
Design P h ase
The next step is to develop detailed designspecifications Sometimes called a physical design
Discovering Computers 2010: Living in a Digital WorldChapter 12
32Page 640
Databasedesign
Input and
outputdesign
Programdesign
-
8/8/2019 Topic9 SDLC
33/61
Design P h ase
Systems analysts typically develop two types of designs for each input and output
Discovering Computers 2010: Living in a Digital WorldChapter 12
33Page 641Figures 12-18 12-19
Mockup Layout c h art
-
8/8/2019 Topic9 SDLC
34/61
Design P h ase
A prototype (proof of concept) is a working modelof the proposed system Prototypes have inadequate or missing documentation Users tend to embrace the prototype as a final system Should not eliminate or replace activities
Discovering Computers 2010: Living in a Digital WorldChapter 12
34Pages 641 - 642
-
8/8/2019 Topic9 SDLC
35/61
Design P h ase
Computer-aided software engineering (CASE)tools are designed to support one or moreactivities of system developmentCASE tools sometimes contain the following tools:
Discovering Computers 2010: Living in a Digital WorldChapter 12
35Page 642
Projectrepository Graphics Prototyping
Qualityassurance
Codegenerator Housekeeping
Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click CASE Toolsbelow Chapter 12
-
8/8/2019 Topic9 SDLC
36/61
Design P h ase
Discovering Computers 2010: Living in a Digital WorldChapter 12
36Page 642Figure 12-20
-
8/8/2019 Topic9 SDLC
37/61
Design P h ase
Many people should review the detailed designspecifications
An inspection is a formal review of any systemdevelopment deliverable A team examines the deliverables to identify errors
Discovering Computers 2010: Living in a Digital WorldChapter 12
37Page 642
-
8/8/2019 Topic9 SDLC
38/61
Implementation P h ase
The purpose of the implementation p h ase is toconstruct the new or modified system and thendeliver it
Discovering Computers 2010: Living in a Digital WorldChapter 12
38Page 643
Develop
programs
Develop
programs
Install andtest the new
system
Install andtest the new
systemTrain usersTrain users
Convert tothe newsystem
Convert tothe newsystem
-
8/8/2019 Topic9 SDLC
39/61
Implementation P h ase
The program development life cycle follows thesesteps:
Discovering Computers 2010: Living in a Digital WorldChapter 12
39Page 643
1 Analyze the requirements
2 Design the solution
3 Validate the design
4 Implement the design
5 Test the solution
6 Document the solution
-
8/8/2019 Topic9 SDLC
40/61
Implementation P h ase
Various tests should be performed on the newsystem
Discovering Computers 2010: Living in a Digital WorldChapter 12
40Page 644
Unit test
Verifies thateachindividual
program orobject worksby itself
Verifies thateachindividual
program orobject worksby itself
Systems test
Verifies thatall programsin an
applicationworktogetherproperly
Verifies thatall programsin an
applicationworktogetherproperly
Integrationtest
Verifies thatanapplication
works withotherapplications
Verifies thatanapplication
works withotherapplications
Acceptancetest
Checks thenew systemto ensure
that it workswith actualdata
Checks thenew systemto ensure
that it workswith actualdata
-
8/8/2019 Topic9 SDLC
41/61
Implementation P h ase
Training involves showing users exactly how theywill use the new hardware and software in thesystem One-on-one sessions Classroom-style lectures Web-based training
Discovering Computers 2010: Living in a Digital WorldChapter 12
41Page 644Figure 12-21
-
8/8/2019 Topic9 SDLC
42/61
Implementation P h ase
One or more of four conversion strategies can beused to change from the old system to the newsystem
Discovering Computers 2010: Living in a Digital WorldChapter 12
42Pages 644 645Figure 12-22
-
8/8/2019 Topic9 SDLC
43/61
Operation, Support, and Security P h ase
The purpose of the operation, support, andsecurity p h ase is to provide ongoing assistance foran information system and its users after thesystem is implemented
Discovering Computers 2010: Living in a Digital WorldChapter 12
43Page 645
Performmaintenance
activities
Monitorsystem
performance
Assess systemsecurity
Click to view Web Link,click Chapter 12, Click WebLink from left navigation,then click Chief Security Officer below Chapter 12
-
8/8/2019 Topic9 SDLC
44/61
Operation, Support, and Security P h ase
A computer security plan should do the following:
Discovering Computers 2010: Living in a Digital WorldChapter 12
44Page 646
Identify allinformationassets of an
organization
Identify allsecurity risks
that may causean information
asset loss
For each risk,identify the
safeguards thatexist to detect,prevent, and
recover from aloss
-
8/8/2019 Topic9 SDLC
45/61
A lternatives to Conventional SDLCs
Four Possibilities:a. Prototypingb. Joint Application Design
c. Rapid ApplicationDevelopment
d. Component BasedDevelopment
-
8/8/2019 Topic9 SDLC
46/61
Prototyping
Working model of a proposed system
Instead of spending a lot of time producing very detailed
specifications, the developers find out only what the userswant developers quickly create a prototype.
This approach is also known as evolutionary development.
-
8/8/2019 Topic9 SDLC
47/61
Joint A pplication Design
Joint application design (JAD) is a group-based method forcollecting user requirements and creating system designs.
In contrast to the SDLC requirements analysis, JAD has agroup meeting in which all users meet simultaneously withanalysts.
-
8/8/2019 Topic9 SDLC
48/61
R apid A pplication Development
Rapid application development (RAD) is a methodology andtools that make it possible to develop systems faster,especially systems where the user interface is an importantcomponent.
Typical RAD packages include the following:
GUI development environment
Reusable componentsCode generatorProgramming language
-
8/8/2019 Topic9 SDLC
49/61
Component- based Development
Components are self-contained packages of functionalitythat have clearly defined, open interfaces with high-levelapplication services such as, interface icons (small), onlineordering (a business component)
Components can be distributed dynamically for reuse acrossmultiple applications and heterogeneous computingplatforms.
-
8/8/2019 Topic9 SDLC
50/61
Managerial Considerations
The traditional SDLC approach often works well for largeprojects with well-defined requirements, where there is not alot of time pressure.
Prototyping requires effective management to make sure thatthe iterations of prototyping do not continue indefinitely.
RADmay be less appropriate than conventional programminglanguages for larger projects, or those with a lot of real-time
processing.JAD is easy for senior management to understand, yet it isdifficult and expensive to get all people in the same place at thesame time.
-
8/8/2019 Topic9 SDLC
51/61
Managerial Considerations ( cont.)
A component-based application architecture providesseveral business benefits, but the execution of component-based development requires special training and skill.
End-user development is also a possibility for largerprojects whose priorities are not high enough to lead to atimely response from the central IS unit.
Outsourcing should always be considered by large andcomplex systems with a significant risk of failure, yet thedisadvantages should be reviewed carefully.
-
8/8/2019 Topic9 SDLC
52/61
WHY SOFTW ARE PR OJE CTS FA IL
Discovering Computers 2010: Living in a Digital WorldChapter 12
52
-
8/8/2019 Topic9 SDLC
53/61
Most Pro jects Start wit h Optimism
... and sometimes evenwild enthusiasm
-
8/8/2019 Topic9 SDLC
54/61
-
8/8/2019 Topic9 SDLC
55/61
Cause: Inadequate Engineeringand Management Practices
... and too often wedo not look to the futureto guide our actions today .
-
8/8/2019 Topic9 SDLC
56/61
Background
Software failures are common in both large commercial projectsand government projects.
Organizations do not routinely collect data on their softwarecosts, schedules, or quality.
The material cited herein is based on public domainpublications and past DoD studies.
-
8/8/2019 Topic9 SDLC
57/61
A Survey of 1,500 Software Pro jects
L ate andover budget
Averagecost growth
exceeds 89%
Projectscanceledbeforecompletion
Software projectscompleted on timeand on budget
The average final product contains 61% of the originallyspecified features.
16%
31%
53%
Ref: CHAOS Study, Standish Group, Summer 1996, 1999.
-
8/8/2019 Topic9 SDLC
58/61
One Common C h aracteristic:Too Muc h Effort Spent on R ework
State of Practice
* Ref: Standish Group, www.standishgroup.com, 1996, 1999.a
Development Integration and System Test
60 - 80 % of effort and cost*
too much effort, time, and cost spent on removing defects
found during testing (software quality is important!)
-
8/8/2019 Topic9 SDLC
59/61
Top 10 R easons for Software Failures
1. Insufficient senior staff and/or inexperienced softwareengineering cadre
2. Acquirers and developers lack experience working as ateam
3. Inadequate contract incentives to encourage use of modern software engineering practices
4. Inadequate process emphasis
5. Inadequate project management methodology
-
8/8/2019 Topic9 SDLC
60/61
Top 10 R easons for Software Failures
6. Software objectives are not fully understood or specified;they change frequently (and grow) during the project
7. Size matters large projects get into trouble more frequentlythan smaller ones do
8. Inadequate planning and estimating
9. Software issues are considered too late in the system-development process
10. Technology used is new to the organization
-
8/8/2019 Topic9 SDLC
61/61
Defense Science Board (DS B) R ecommendations*
1. Collect, disseminate and employ best practices
2. Stress software past performance, consider
non-traditional sources
3. Restructure contract incentives
4. Develop serious training and education
5. Initiate independent expert reviews
6. Strengthen the technology base*