SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Software Development Process

E. Haodudin Nurkifli
Teknik Informatika
Universitas Ahmad Dahlan
Kuliah 2 : Administrative dan Introduction
2 Oktober 2010
Feb 24, 2014
Part 2
Software Development Process

Eko AB – Analisis dan Perancangan Algoritma

2
Outline


Systems vs. Software Development



Difficulties in Software Develoment



Software Development Life Cycle



User Involvement



Case Tools Support

Eko AB – Analisis dan Perancangan Algoritma

3
Systems Development


Systems development is
concerned with all aspects
of computer-based systems
development including
– hardware,
– software and
– Human activities



May not even include
software as part of the
solution

Eko AB – Analisis dan Perancangan Algoritma

4
Software Development


Software development is focused soly on producing a
software system that will satisfy user requirement.



Software: computer programs and associated
documentation

• Software development may be considered as part of
systems development
Eko AB – Analisis dan Perancangan Algoritma

5
The Main Players
 Developers

– Those who will produce the system
 End-users

– Those who may directly operate the system
 Owners

or sponsors - clients

– Those who commission the project, pay for it or
have the power to halt it

Eko AB – Analisis dan Perancangan Algoritma

6
Difficulties in Software Development


Sotware quality: whether the software “fits for purpose”, satisfies
all user requirements.



Example failures
– It might work, but dreadful to use (user)
– It is pretty, but does not do anything useful (user)
– Users and owners may not know how to ask for what they really want,
e.g. “We built what they said they wanted” (developer)
– Budget and time constraints often conflict with doing the job properly,
e.g. “There was not enough time to do it any better” (developer)
– Difficulties for the possession of blended skills, e.g. “Do not blame
me, I never done object-oriented analysis before” (developer)

Eko AB – Analisis dan Perancangan Algoritma

7
Difficulties in Software Development


Productivity: the progress of the project, and the
resources (including time and money) that it consumes
along the way (much related to project management)



Example failures
– A system that is promised but not delivered (user)
– It is no use delivering now, we need it last April (owner)
– Projects that overspend their budget (owner)
– Requirements drift, e.g. user changes their minds
frequently(develper)
– Implementation not feasible, e.g. we said it was impossible, but
no-one listened (developer)
How to overcome them?

Eko AB – Analisis dan Perancangan Algoritma

8
Software Development Process


Subdividing the process of software development into
different phases



Ease of management to produce appropriate quality
standard and to stay within the allocated budgest



Help to identify and allocate developers’ skills
appropriately, and thus improve the quality of the task
completion



Known as project life cycle model

Eko AB – Analisis dan Perancangan Algoritma

9
Project Life Cycle


Two important precursor
phases are

Don´t blindly follow the
path to automation. The
very first question is
whether or not you even
need a computer
system...”

– Strategic Information Systems
Planning
– Business Modelling


Focus on organisation needs



They are not computational



Universially accepted for
commercially oriented
computer system development

Eko AB – Analisis dan Perancangan Algoritma

10
Generic Life Cycle Models


The Waterfall Model



Prototyping



Iterative and Incremental Development



The Unified Process Life Cycle

Eko AB – Analisis dan Perancangan Algoritma

11
Waterfall Life Cycle
Requirements specification
Functional specification
Acceptance test specifications

System
System
Engineering
Engineering
Requirements
Analysis
Analy sis

Unit test report
Sub-system test report
System test report
Acceptance test report
Completed system

Design
Design

Construction

Software architecture specification
System test specification
Design specification
Sub-system test specification
Unit test specification
Change requests
Change request report
Eko AB – Analisis dan Perancangan Algoritma

Testing
Code

Installation
Code

Maintenance
Maintenance

12
Waterfall Life Cycle
• The traditional life cycle (TLC) for information
systems development.
• So called because of the difficulty of returning to
an earlier phase.
• The drawback of the waterfall model is the
difficulty of accommodating change after the
process is underway

Eko AB – Analisis dan Perancangan Algoritma

13
TLC with Iteration

The cost of
this form of
iteration
increases as
the project
progresses
making it
impractical
and not
effective
Eko AB – Analisis dan Perancangan Algoritma

14
Problems with TLC


Real projects rarely follow such a simple sequential life
cycle
– Lapsed time between systems engineering and the
final installation is long
– Iterations are almost inevitable in real projects but are
expensive & problematic with the TLC
– Unresponsive to changes during project as iteration is
difficult



Therefore, this model is only appropriate when the
requirements are well-understood

Eko AB – Analisis dan Perancangan Algoritma

15
Strengths of TLC
 Provide

a very structured way to system
development

 Tasks

in phases may be assigned to
specialized teams.

 Project

progress evaluated at the end of each
phase, and assessment made as to whether
the project should proceed

Eko AB – Analisis dan Perancangan Algoritma

16
Prototyping Life Cycle
• Not intended to deliver the final working system
• Quickly built up to explore some aspects of the system
• May be used as part of other iterative life cycle
Initial
analys is

Define
objectives

Specify

Prototyping
com pleted

Eko AB – Analisis dan Perancangan Algoritma

Evaluate

Cons truct

17
Prototyping – Advantages


Early demonstrations of system functionality help
identify any misunderstandings between developer
and client



Client requirements that have been missed are
identified



Difficulties in the interface can be identified



The feasibility and usefulness of the system can be
tested, even though, by its very nature, the prototype
is incomplete

Eko AB – Analisis dan Perancangan Algoritma

18
Prototyping – Problems:
 The

client may perceive the prototype as part of
the final system

 The

prototype may divert attention from
functional to solely interface issues

 Prototyping

requires significant user
involvement

 Managing

the prototyping life cycle requires
careful decision making

Eko AB – Analisis dan Perancangan Algoritma

19
Incremental Development
Initial
requirements
gathering and
project planning

Planning

Risk analysis

Risk analysis
based on user
reaction to plan

Further planning
based on user
comments

User
evaluation
of
increments

Risk analysis
based on initial
requirements

Go, no-go decision
Risk assessment
Progress towards
final system

User evaluation

Software development

Develop first
increment
Develop next
increment

The Spiral Model
(Boehm, 1988)

Eko AB – Analisis dan Perancangan Algoritma

20
Incremental Development


Iterative problem solving: repeats activities, each can be
viewed as a mini-project



Incremental delivery, either external or internal release



New release = new functionality + (improved) previous
release



Several approaches to structuring iterations
– Define and implement the key system functions
– Focus on one subsystem at a time
– Define by complexity or risk of certain components

Eko AB – Analisis dan Perancangan Algoritma

21
Unified Process Life Cycle

The Unified Process System Development Life Cycle
Eko AB – Analisis dan Perancangan Algoritma

22
Unified Process Life Cycle

Iteration

Eko AB – Analisis dan Perancangan Algoritma

23
Unified Process Life Cycle
 Captures
 The

many elements of best practice

phases are:

– Inception is concerned with determining the scope
and purpose of the project;
– Elaboration focuses requirements capture and
determining the structure of the system;
– Construction's main aim is to build the software
system;
– Transition deals with product installation and rollout.
Eko AB – Analisis dan Perancangan Algoritma

24
Choose Appropriate Life Cycle
• TCL is highly predictive
• Prototyping, Spiral and UP life cycle models are highly
adaptive

Predictive versus adaptive approaches to the SDLC
Eko AB – Analisis dan Perancangan Algoritma

25
User Involvement
 As

well as use appropriate process model,
user involvement and CASE tools support
also very improtant for project success

 User’s

can be involved at various levels

– As part of the development team (DSDM)
– Via a consultative approach
– In fact gathering

Eko AB – Analisis dan Perancangan Algoritma

26
CASE Tools


CASE-Computer Aided Software Engineering, typically
provide a range of features including:
– Model and technical support
• checks for syntactic correctness, consistency and completeness
• Layering, navigation to linked diagrams
• repository support, traceability
• report generation
• system simulation, performance analysis

– Software construction
• Code generation
• Reverse engineering
Eko AB – Analisis dan Perancangan Algoritma

27
Reading
• Text Chapter 2, 3

Eko AB – Analisis dan Perancangan Algoritma

28
Execises
1.

Distinguish between client and user.

2.

Define software quality.

3.

What are the main difference between quality problems and
productivity problems?

4.

Advantages and disadvantages of TLC, and how to overcome
the disadvantges?

5.

Differences between prototyping and incremental
development?

6.

Identify the ways and potential problems with user
involvement?

7.

What do you think is meant by the term failure when it is
applied to an IS project?

Eko AB – Analisis dan Perancangan Algoritma

29

Weitere ähnliche Inhalte

Was ist angesagt?

software engineering
software engineeringsoftware engineering
software engineering
ramyavarkala
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2
Siddharth Ayer
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
Tech_MX
 

Was ist angesagt? (20)

software engineering
software engineeringsoftware engineering
software engineering
 
CSC426 - Software Engineering Lecture Note Cont'd
CSC426   - Software Engineering Lecture Note Cont'dCSC426   - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note Cont'd
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Unit2
Unit2Unit2
Unit2
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Unified Process
Unified Process Unified Process
Unified Process
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introduction
 
CSC426 - Software Engineering Lecture Note
CSC426   - Software Engineering Lecture NoteCSC426   - Software Engineering Lecture Note
CSC426 - Software Engineering Lecture Note
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Sdlc
Sdlc Sdlc
Sdlc
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 

Ähnlich wie Pertemuan 2-apbo-software-developmeng-processing

Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
moduledesign
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
ADARSHN40
 

Ähnlich wie Pertemuan 2-apbo-software-developmeng-processing (20)

SDLC and Software Process Models Introduction ppt
SDLC and Software Process Models Introduction pptSDLC and Software Process Models Introduction ppt
SDLC and Software Process Models Introduction ppt
 
Software Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptxSoftware Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptx
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
The process
The processThe process
The process
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Lecture #02 ECS-511.pptx
Lecture #02 ECS-511.pptxLecture #02 ECS-511.pptx
Lecture #02 ECS-511.pptx
 
2. Software process
2. Software process2. Software process
2. Software process
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
SE 1a SDLC Session BCU.ppt
SE 1a SDLC Session BCU.pptSE 1a SDLC Session BCU.ppt
SE 1a SDLC Session BCU.ppt
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Soft lifecycle
Soft lifecycleSoft lifecycle
Soft lifecycle
 
SE_Module1new.ppt
SE_Module1new.pptSE_Module1new.ppt
SE_Module1new.ppt
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
System Development
System  DevelopmentSystem  Development
System Development
 

Mehr von Abi Bobon

Pertemuan 1 pendahuluan
Pertemuan 1   pendahuluanPertemuan 1   pendahuluan
Pertemuan 1 pendahuluan
Abi Bobon
 
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagramPertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Abi Bobon
 
Pertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-codePertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-code
Abi Bobon
 
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-javaPertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Abi Bobon
 
Pertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasiPertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasi
Abi Bobon
 
Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1
Abi Bobon
 
Pertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagramPertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagram
Abi Bobon
 
Pertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagramPertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagram
Abi Bobon
 
Pertemuan 5-apbo
Pertemuan 5-apboPertemuan 5-apbo
Pertemuan 5-apbo
Abi Bobon
 
Pertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-conceptPertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-concept
Abi Bobon
 
Pertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagramPertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagram
Abi Bobon
 

Mehr von Abi Bobon (11)

Pertemuan 1 pendahuluan
Pertemuan 1   pendahuluanPertemuan 1   pendahuluan
Pertemuan 1 pendahuluan
 
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagramPertemuan 12-apbo-componen-diagram-dan-deployment-diagram
Pertemuan 12-apbo-componen-diagram-dan-deployment-diagram
 
Pertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-codePertemuan 10-apbo-mapping-uml-to-code
Pertemuan 10-apbo-mapping-uml-to-code
 
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-javaPertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
 
Pertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasiPertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasi
 
Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1Pertemuan 9a-apbo-obyek-dan-klass1
Pertemuan 9a-apbo-obyek-dan-klass1
 
Pertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagramPertemuan 6-2-sequence-diagram
Pertemuan 6-2-sequence-diagram
 
Pertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagramPertemuan 6-1-apbo-interaction-diagram
Pertemuan 6-1-apbo-interaction-diagram
 
Pertemuan 5-apbo
Pertemuan 5-apboPertemuan 5-apbo
Pertemuan 5-apbo
 
Pertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-conceptPertemuan 3-apbo-oo-concept
Pertemuan 3-apbo-oo-concept
 
Pertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagramPertamuan 4-apbo-use-case-diagram
Pertamuan 4-apbo-use-case-diagram
 

Pertemuan 2-apbo-software-developmeng-processing

  • 1. Software Development Process E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 2 : Administrative dan Introduction 2 Oktober 2010 Feb 24, 2014
  • 2. Part 2 Software Development Process Eko AB – Analisis dan Perancangan Algoritma 2
  • 3. Outline  Systems vs. Software Development  Difficulties in Software Develoment  Software Development Life Cycle  User Involvement  Case Tools Support Eko AB – Analisis dan Perancangan Algoritma 3
  • 4. Systems Development  Systems development is concerned with all aspects of computer-based systems development including – hardware, – software and – Human activities  May not even include software as part of the solution Eko AB – Analisis dan Perancangan Algoritma 4
  • 5. Software Development  Software development is focused soly on producing a software system that will satisfy user requirement.  Software: computer programs and associated documentation • Software development may be considered as part of systems development Eko AB – Analisis dan Perancangan Algoritma 5
  • 6. The Main Players  Developers – Those who will produce the system  End-users – Those who may directly operate the system  Owners or sponsors - clients – Those who commission the project, pay for it or have the power to halt it Eko AB – Analisis dan Perancangan Algoritma 6
  • 7. Difficulties in Software Development  Sotware quality: whether the software “fits for purpose”, satisfies all user requirements.  Example failures – It might work, but dreadful to use (user) – It is pretty, but does not do anything useful (user) – Users and owners may not know how to ask for what they really want, e.g. “We built what they said they wanted” (developer) – Budget and time constraints often conflict with doing the job properly, e.g. “There was not enough time to do it any better” (developer) – Difficulties for the possession of blended skills, e.g. “Do not blame me, I never done object-oriented analysis before” (developer) Eko AB – Analisis dan Perancangan Algoritma 7
  • 8. Difficulties in Software Development  Productivity: the progress of the project, and the resources (including time and money) that it consumes along the way (much related to project management)  Example failures – A system that is promised but not delivered (user) – It is no use delivering now, we need it last April (owner) – Projects that overspend their budget (owner) – Requirements drift, e.g. user changes their minds frequently(develper) – Implementation not feasible, e.g. we said it was impossible, but no-one listened (developer) How to overcome them? Eko AB – Analisis dan Perancangan Algoritma 8
  • 9. Software Development Process  Subdividing the process of software development into different phases  Ease of management to produce appropriate quality standard and to stay within the allocated budgest  Help to identify and allocate developers’ skills appropriately, and thus improve the quality of the task completion  Known as project life cycle model Eko AB – Analisis dan Perancangan Algoritma 9
  • 10. Project Life Cycle  Two important precursor phases are Don´t blindly follow the path to automation. The very first question is whether or not you even need a computer system...” – Strategic Information Systems Planning – Business Modelling  Focus on organisation needs  They are not computational  Universially accepted for commercially oriented computer system development Eko AB – Analisis dan Perancangan Algoritma 10
  • 11. Generic Life Cycle Models  The Waterfall Model  Prototyping  Iterative and Incremental Development  The Unified Process Life Cycle Eko AB – Analisis dan Perancangan Algoritma 11
  • 12. Waterfall Life Cycle Requirements specification Functional specification Acceptance test specifications System System Engineering Engineering Requirements Analysis Analy sis Unit test report Sub-system test report System test report Acceptance test report Completed system Design Design Construction Software architecture specification System test specification Design specification Sub-system test specification Unit test specification Change requests Change request report Eko AB – Analisis dan Perancangan Algoritma Testing Code Installation Code Maintenance Maintenance 12
  • 13. Waterfall Life Cycle • The traditional life cycle (TLC) for information systems development. • So called because of the difficulty of returning to an earlier phase. • The drawback of the waterfall model is the difficulty of accommodating change after the process is underway Eko AB – Analisis dan Perancangan Algoritma 13
  • 14. TLC with Iteration The cost of this form of iteration increases as the project progresses making it impractical and not effective Eko AB – Analisis dan Perancangan Algoritma 14
  • 15. Problems with TLC  Real projects rarely follow such a simple sequential life cycle – Lapsed time between systems engineering and the final installation is long – Iterations are almost inevitable in real projects but are expensive & problematic with the TLC – Unresponsive to changes during project as iteration is difficult  Therefore, this model is only appropriate when the requirements are well-understood Eko AB – Analisis dan Perancangan Algoritma 15
  • 16. Strengths of TLC  Provide a very structured way to system development  Tasks in phases may be assigned to specialized teams.  Project progress evaluated at the end of each phase, and assessment made as to whether the project should proceed Eko AB – Analisis dan Perancangan Algoritma 16
  • 17. Prototyping Life Cycle • Not intended to deliver the final working system • Quickly built up to explore some aspects of the system • May be used as part of other iterative life cycle Initial analys is Define objectives Specify Prototyping com pleted Eko AB – Analisis dan Perancangan Algoritma Evaluate Cons truct 17
  • 18. Prototyping – Advantages  Early demonstrations of system functionality help identify any misunderstandings between developer and client  Client requirements that have been missed are identified  Difficulties in the interface can be identified  The feasibility and usefulness of the system can be tested, even though, by its very nature, the prototype is incomplete Eko AB – Analisis dan Perancangan Algoritma 18
  • 19. Prototyping – Problems:  The client may perceive the prototype as part of the final system  The prototype may divert attention from functional to solely interface issues  Prototyping requires significant user involvement  Managing the prototyping life cycle requires careful decision making Eko AB – Analisis dan Perancangan Algoritma 19
  • 20. Incremental Development Initial requirements gathering and project planning Planning Risk analysis Risk analysis based on user reaction to plan Further planning based on user comments User evaluation of increments Risk analysis based on initial requirements Go, no-go decision Risk assessment Progress towards final system User evaluation Software development Develop first increment Develop next increment The Spiral Model (Boehm, 1988) Eko AB – Analisis dan Perancangan Algoritma 20
  • 21. Incremental Development  Iterative problem solving: repeats activities, each can be viewed as a mini-project  Incremental delivery, either external or internal release  New release = new functionality + (improved) previous release  Several approaches to structuring iterations – Define and implement the key system functions – Focus on one subsystem at a time – Define by complexity or risk of certain components Eko AB – Analisis dan Perancangan Algoritma 21
  • 22. Unified Process Life Cycle The Unified Process System Development Life Cycle Eko AB – Analisis dan Perancangan Algoritma 22
  • 23. Unified Process Life Cycle Iteration Eko AB – Analisis dan Perancangan Algoritma 23
  • 24. Unified Process Life Cycle  Captures  The many elements of best practice phases are: – Inception is concerned with determining the scope and purpose of the project; – Elaboration focuses requirements capture and determining the structure of the system; – Construction's main aim is to build the software system; – Transition deals with product installation and rollout. Eko AB – Analisis dan Perancangan Algoritma 24
  • 25. Choose Appropriate Life Cycle • TCL is highly predictive • Prototyping, Spiral and UP life cycle models are highly adaptive Predictive versus adaptive approaches to the SDLC Eko AB – Analisis dan Perancangan Algoritma 25
  • 26. User Involvement  As well as use appropriate process model, user involvement and CASE tools support also very improtant for project success  User’s can be involved at various levels – As part of the development team (DSDM) – Via a consultative approach – In fact gathering Eko AB – Analisis dan Perancangan Algoritma 26
  • 27. CASE Tools  CASE-Computer Aided Software Engineering, typically provide a range of features including: – Model and technical support • checks for syntactic correctness, consistency and completeness • Layering, navigation to linked diagrams • repository support, traceability • report generation • system simulation, performance analysis – Software construction • Code generation • Reverse engineering Eko AB – Analisis dan Perancangan Algoritma 27
  • 28. Reading • Text Chapter 2, 3 Eko AB – Analisis dan Perancangan Algoritma 28
  • 29. Execises 1. Distinguish between client and user. 2. Define software quality. 3. What are the main difference between quality problems and productivity problems? 4. Advantages and disadvantages of TLC, and how to overcome the disadvantges? 5. Differences between prototyping and incremental development? 6. Identify the ways and potential problems with user involvement? 7. What do you think is meant by the term failure when it is applied to an IS project? Eko AB – Analisis dan Perancangan Algoritma 29

Hinweis der Redaktion

  1. Strategic Information Systems Planning. As we saw in Chapter 1, information systems work within the context of an organization and must satisfy its current requirements as well as providing a basis from which future needs can be addressed. In order to do this, strategic plans are developed for the organization as a whole and within their context a strategic view of information systems needs can be formed. For example, in the Agate case study a strategic decision may be made to target multinational companies for international advertising campaigns. This has consequences for campaign management and its supporting information systems. Business modelling. In order to determine how an information system can support a particular business activity it is important to understand how the activity is performed and how it contributes to the objectives of the organization. Campaign management is an important business function for Agate and it should be modelled in order to determine how it is carried out, thus providing some of the parameters for subsequent information systems development.
  2. Strategic Information Systems Planning. As we saw in Chapter 1, information systems work within the context of an organization and must satisfy its current requirements as well as providing a basis from which future needs can be addressed. In order to do this, strategic plans are developed for the organization as a whole and within their context a strategic view of information systems needs can be formed. For example, in the Agate case study a strategic decision may be made to target multinational companies for international advertising campaigns. This has consequences for campaign management and its supporting information systems. Business modelling. In order to determine how an information system can support a particular business activity it is important to understand how the activity is performed and how it contributes to the objectives of the organization. Campaign management is an important business function for Agate and it should be modelled in order to determine how it is carried out, thus providing some of the parameters for subsequent information systems development.
  3. Perform an initial analysis. All software development activity utilizes valuable re­sources. Embarking upon a prototyping exercise without some initial analysis is likely to result in an ill-focused and unstructured activity producing poorly designed software. Define prototype objectives. Prototyping should have clearly stated objectives. A proto­typing exercise may involve many iterations, each iteration resulting in some improv­ement to the prototype. This may make it difficult for the participants in a prototyping exercise to determine if there is sufficient value to continue the prototyping. However, with clearly defined objectives it should be possible to decide if they have been achieved. Specify prototype. Although the prototype is not intended for extended operation it is important that it embodies the requisite behaviour. It is almost certainly the case that the proto­type will be subject to modification and this will be easier if the software is built according to sound design principles. Construct prototype. Since it is important that prototype development is rapid, the use of a rapid development environment is appropriate. For example, if an interactive system is being prototyped, environments such as DelphiTM or Visual Basic® can be most effective. Evaluate prototype and recommend changes. The purpose of the prototype is to test or explore some aspect of the proposed system. The prototype should be evaluated with respect to the objectives identified at the beginning of the exercise. If the objectives have not been met then the evaluation should specify modifications to the prototype so that it may achieve its objectives. The last three stages are repeated until the objectives of the prototyping exercise are achieved.