Академический Документы
Профессиональный Документы
Культура Документы
MEMBANGUN APLIKASI
Badrus Zaman, S.Kom., M.C
What is Software ?
1. Software is developed or
engineered, it is not manufactured
in the classical sense.
2. Software doesn't wear out. But it
does deteriorate!
3. Although the industry is moving
toward component-based assembly,
most software continues to be
custom built.
Software Application
system software
real-time software
business software
engineering/ scientific software
embedded software
PC software
AI software
webApps (Web applications)
Some of Software Myths
Program baru
konfigurasi sistem PL
gunakan lagi (reuse) program yang
sudah ada.
What is it?
Sebuah road map untuk menghasilkan produk
yang berkualitas tinggi dan jelas waktunya.
Road map itulah yang kita sebut sebagai
software process.
Who does it?
Insinyur s/w dan manajernya
menyesuaikan proses terhadap kebutuhan
dan kemudian melaksanakannya, serta pihak
yang meminta dibuatkan s/w memiliki peran
penting dalam proses s/w.
Aktifitas dalam SW
Process
Spesifikasi apa yang dilakukan
sistem dan batasan pembangunan
Pembangunan Produksi dari
Sistem perangkat lunak
Validasi Pemeriksaan apakah PL
sesuai dengan pemesanan
Evolusi Pengubahan PL sesuai
dengan perubahan permintaan dan
kebutuhab zaman.
Pertanyaan berikut harus
dikonfirmasi
Masalah apa yang ingin dipecahkan?
Apakah karakteristik entitas yang dipakai
untuk memecahkan masalah tersebut?
Bagaimanakah entitas tersebut diwujudkan?
Bagaimanakah entitas tersebut dibangun?
Pendekatan apakah yang akan dipakai dalam
desain dan pembangunan entitas?
Bagaimanakah dukungan terhadap entitas
untuk waktu yang lama jika ada permintaan
(koreksi, penyesuaian, dan pembaharuan)
dari pengguna?
22
Three Generic Phases 1
The
definition phase focuses on
what.
What information is to be processed,
what function and performance are desired,
what system behavior can be expected,
what interfaces are to be established,
what design constraints exist, and
what validation criteria are required to
define a successful system.
23
Three Generic Phases 2
The development phase focuses on how.
That is, during development a software
engineer attempts to define:
how data are to be structured,
how function is to be implemented within a software
architecture,
how procedural details are to be implemented,
how interfaces are to be characterized,
how the design will be translated into a programming
language (or nonprocedural language), and
how testing will be performed.
24
Three Generic Phases 3
The support phase focuses on change associated with
error correction, adaptations required as the software's
environment evolves, and changes due to enhancements
brought about by changing customer requirements.
The support phase reapplies the steps of the definition
and development phases but does so in the context of
existing software.
Four types of change are encountered during the support
phase:
Correction
Adaptation
Enhancement
Prevention
25
Software Process
Models
Strategi pengembangan perangkat lunak
yang meliputi proses, metode, tools pada
fase generik
Dipilih berdasarkan kekhasan projek atau
aplikasi, metode and tools yg digunakan,
dan kebutuhan untuk mengontrol dan
men-deliverednya
L. B. S. Raccoon
27
THE LINEAR SEQUENTIAL
MODEL
Sometimes called the classic life cycle
or the waterfall model,
The linear sequential model suggests a
systematic, sequential approachs to
software development that begins at the
system level and progresses through
analysis, design, coding, testing, and
support.
28
THE LINEAR SEQUENTIAL
MODEL
29
Problems Encounter
30
THE PROTOTYPING
MODEL
Often, a customer defines a set of general objectives for software
but does not identify detailed input, processing, or output
requirements. The developer may be unsure of the algorithm
efficiency, the operating system adaptability, or the human/ machine
interaction form should take.
Begins with requirements gathering. Developer and customer meet
and define the overall objectives for the software, identify whatever
requirements are known, and outline areas where further definition
is mandatory. A "quick design" then occurs.
The quick design focuses on a representation of those aspects of
the software that will be visible to the customer/user (e.g., input
approaches and output formats). The quick design leads to the
construction of a prototype.
The prototype is evaluated by the customer/ user and used to refine
requirements for the software to be developed. Iteration occurs as
the prototype is tuned to satisfy the needs.
31
32
Problematic issues
1. No one has considered overall software quality or long-term
maintainability. When informed that the product must be rebuilt so
that high levels of quality can be maintained, the customer cries foul
and demands that "a few fixes" be applied to make the prototype a
working product. Too often, software development management
relents.
2. The developer often makes implementation compromises in order
to get a prototype working quickly. An inappropriate operating
system or programming language may be used simply because it is
available and known; an inefficient algorithm may be implemented
simply to demonstrate capability. After a time, the developer may
become familiar with these choices and forget all the reasons why
they were inappropriate. The less-than-ideal choice has now
become an integral part of the system.
33
THE RAD MODEL
Rapid application development (RAD) is an incremental
software development process model that emphasizes
an extremely short development cycle.
The RAD model is a high-speed adaptation of the
linear sequential model in which rapid development is
achieved by using component-based construction.
If requirements are well understood and project scope is
constrained, the RAD process enables a development
team to create a fully functional system within very
short time periods (e.g., 60 to 90 days) [MAR91].
Used primarily for information systems applications.
34
35
EVOLUTIONARY SOFTWARE
PROCESS MODELS
There is growing recognition that software, like all complex
systems, evolves over a period of time.
Business and product requirements often change as
development proceeds, making a straight path to an end
product unrealistic; tight market deadlines make completion
of a comprehensive software product impossible, but a
limited version must be introduced to meet competitive or
business pressure; a set of core product or system
requirements is well understood, but the details of product or
system extensions have yet to be defined.
In these and similar situations, software engineers need a
process model that has been explicitly designed to
accommodate a product that evolves over time.
36
THE INCREMENTAL
MODEL
The incremental model combines elements of the linear
sequential model (applied repetitively) with the iterative
philosophy of prototyping. Each linear sequence produces a
deliverable increment of the software [MDE93].
For example, word-processing software developed using the
incremental paradigm might deliver basic file management,
editing, and document production functions in the first
increment; more sophisticated editing and document
production capabilities in the second increment; spelling and
grammar checking in the third increment; and advanced page
layout capability in the fourth increment.
It should be noted that the process flow for any increment can
incorporate the prototyping paradigm.
37
38
Terimakasih
Any Question?