Pertemuan 2-apbo-software-developmeng-processing
description
Transcript of Pertemuan 2-apbo-software-developmeng-processing
Apr 10, 2023
Software Development Process
E. Haodudin Nurkifli
Teknik Informatika
Universitas Ahmad DahlanKuliah 2 : Administrative dan Introduction
2 Oktober 2010
Eko AB – Analisis dan Perancangan Algoritma 2
Part 2Software Development Process
Eko AB – Analisis dan Perancangan Algoritma 3
Systems vs. Software Development
Difficulties in Software Develoment
Software Development Life Cycle
User Involvement
Case Tools Support
Outline
Eko AB – Analisis dan Perancangan Algoritma 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 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 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 7
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)
Difficulties in Software Development
Eko AB – Analisis dan Perancangan Algoritma 8
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)
Difficulties in Software Development
How to overcome them?
Eko AB – Analisis dan Perancangan Algoritma 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 10
Project Life Cycle
Two important precursor
phases are– Strategic Information Systems
Planning
– Business Modelling
Focus on organisation needs
They are not computational
Universially accepted for
commercially oriented
computer system development
Don´t blindly follow the path to
automation. The very first question is
whether or not you even need a
computer system...”
Eko AB – Analisis dan Perancangan Algoritma 11
Generic Life Cycle Models
The Waterfall Model
Prototyping
Iterative and Incremental Development
The Unified Process Life Cycle
Eko AB – Analisis dan Perancangan Algoritma 12
Waterfall Life Cycle
System System Engineering Engineering
Design Design
Code
Construction
Testing
Maintenance Maintenance
Analysis Requirements Analy sis
Code Installation
Requirements specificationFunctional specificationAcceptance test specifications
Unit test reportSub-system test reportSystem test reportAcceptance test reportCompleted system
Software architecture specificationSystem test specificationDesign specificationSub-system test specificationUnit test specification
Change requestsChange request report
Eko AB – Analisis dan Perancangan Algoritma 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 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 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 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 17
Prototyping Life Cycle
Initial analysis
Define objectives
Specify
Construct Evaluate Prototyping completed
• 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
Eko AB – Analisis dan Perancangan Algoritma 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 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 20
The Spiral Model
(Boehm, 1988)
Progress towards final system
Develop first increment
Develop next increment
Risk analysis based on initial
requirements Planning Risk analysis
User evaluation Software development
Risk analysis based on user
reaction to plan
Go, no-go decision Risk assessment
User evaluation
of increments
Further planning based on user
comments
Initial requirements
gathering and project planning
Incremental DevelopmentIncremental Development
Eko AB – Analisis dan Perancangan Algoritma 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 22
The Unified Process System Development Life Cycle
Unified Process Life CycleUnified Process Life Cycle
Eko AB – Analisis dan Perancangan Algoritma 23
Unified Process Life Cycle
Iteration
Eko AB – Analisis dan Perancangan Algoritma 24
Unified Process Life Cycle
Captures many elements of best practice
The 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 25
Predictive versus adaptive approaches to the SDLC
Choose Appropriate Life CycleChoose Appropriate Life Cycle
• TCL is highly predictive
• Prototyping, Spiral and UP life cycle models are highly
adaptive
Eko AB – Analisis dan Perancangan Algoritma 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 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 28
Reading
• Text Chapter 2, 3
Eko AB – Analisis dan Perancangan Algoritma 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?