Download presentation
Presentation is loading. Please wait.
1
Rekayasa Perangkat Lunak
Kuliah 06
2
Outline of this presentation
The Generic Software Process Model Prototyping Model Incremental Model
3
Generic Software Process Model
Prototyping model Prototyping is the rapid development of a system Use if Only general objectives available Being unsure about Software requirement Efficiency of an algorithm Human-computer interaction
4
Generic Software Process Model
Prototyping model Uses of system prototypes to help customers and developers understand the requirements for the system Requirements elicitation. Users can experiment with a prototype to see how the system supports their work Continue …
5
Generic Software Process Model
Prototyping model Uses of system prototypes to help customers … Requirements validation. The prototype can reveal errors and omissions in the Requirements Prototyping can be considered as a risk reduction activity which reduces requirements risks
6
Generic Software Process Model
Prototyping model Prototyping benefits Misunderstandings between software users and developers are exposed Missing services may be detected and confusing services may be identified Continue …
7
Generic Software Process Model
Prototyping model Prototyping benefits A working system is available early in the process The prototype may serve as a basis for deriving a system specification
8
Generic Software Process Model
Prototyping model Other Prototyping benefits The system can support user training and system testing Improved system usability Closer match to the system needed Improved design quality Improved maintainability Reduced overall development effort
9
Generic Software Process Model
Prototyping model Approaches to Prototyping Evolutionary prototyping Throw-away prototyping
10
Generic Software Process Model
Prototyping model Approaches to Prototyping Evolutionary prototyping An approach to system development where an initial prototype is produced and refined through a number of stages to the final system
11
Generic Software Process Model
Prototyping model Prototyping Objectives The objective of evolutionary prototyping is to deliver a working system to end-users. The development starts with those requirements which are best understood.
12
Generic Software Process Model
Prototyping model Approaches to Prototyping Throw-away prototyping A prototype which is usually a partial implementation of the system is produced to help discover requirements problems and then discarded. The system is then developed using some other development process
13
Generic Software Process Model
Prototyping model Prototyping Objectives The objective of throw-away prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements which are poorly understood
14
Generic Software Process Model
Prototyping model Evolutionary Prototyping Must be used for systems where the specification cannot be developed in advance, e.g. Artificial Intelligent Systems and user interface systems Based on techniques which allow rapid system iterations
15
Generic Software Process Model
Prototyping model Evolutionary Prototyping Verification is impossible as there is no separate specification. Validation means demonstrating the adequacy of the system
16
Generic Software Process Model
Prototyping model Evolutionary Prototyping
17
Generic Software Process Model
Prototyping model Evolutionary Prototyping Specification, design, and implementation are inter-twined The system is developed as a series of increments that are delivered to the customer
18
Generic Software Process Model
Prototyping model Evolutionary Prototyping Techniques for rapid system development are used such as CASE tools and 4GLs User interfaces are usually developed using a GUI development toolkit
19
Generic Software Process Model
Prototyping model Evolutionary Prototyping Advantages Accelerated delivery of the system Rapid delivery and deployment are sometimes more important than functionality or long-term software maintainability
20
Generic Software Process Model
Prototyping model Evolutionary Prototyping Advantages User engagement with the system Not only is the system more likely to meet user requirements, but users are more likely to commit to the use of the system
21
Generic Software Process Model
Prototyping model Evolutionary Prototyping Problems Management problems Existing management processes assume a waterfall model of development Specialist skills are required which may not be available in all development teams
22
Generic Software Process Model
Prototyping model Evolutionary Prototyping Problems Maintenance problems Continual change tends to corrupt system structure so long-term maintenance is expensive Contractual problems No requirement document
23
Generic Software Process Model
Prototyping model Throw-away Prototyping Used to reduce requirements risk The prototype is developed from an initial specification, delivered for experiment then discarded
24
Generic Software Process Model
Prototyping model Throw-away Prototyping The throw-away prototype should NOT be considered as a final system Some system characteristics may have been left out Continue ...
25
Generic Software Process Model
Prototyping model Throw-away Prototyping The throw-away prototype should NOT be considered as a final system There is no specification for long-term maintenance The system will be poorly structured and difficult to maintain
26
Generic Software Process Model
Prototyping model Throw-away Prototyping
27
Generic Software Process Model
Prototyping model Throw-away Prototyping Developers may be pressured to deliver a throw-away prototype as a final system
28
Generic Software Process Model
Prototyping model Throw-away Prototyping This is not recommended It may be impossible to tune the prototype to meet non-functional requirements The prototype is inevitably undocumented Continue…
29
Generic Software Process Model
Prototyping model Throw-away Prototyping This is not recommended The system structure will be degraded through changes made during development Normal organisational quality standards may not have been applied
30
Generic Software Process Model
Prototyping Techniques Various techniques may be used for rapid development Paper Prototyping - Scratch Art Work Presentation Software Prototyping - Power Point (Microsoft) - Freelance Graphics (Lotus) - etc
31
Generic Software Process Model
Prototyping Techniques Various techniques may be used for rapid development Dynamic high-level language development Database programming - SQL Component and application assembly
32
Generic Software Process Model
Prototyping Techniques These are not mutually exclusive techniques – they are often used together Visual programming is an inherent part of most prototype development systems
33
Generic Software Process Model
User interface prototyping It is impossible to pre-specify the look and feel of a user interface in an effective way. Prototyping is essential UI development consumes an increasing part of overall system development costs
34
Generic Software Process Model
User interface prototyping User interface generators may be used to ‘draw’ the interface and simulate its functionality with components associated with interface entities Web interfaces may be prototyped using a web site editor
35
Generic Software Process Model
Prototyping model Key Point A prototype can be used to give end-users a concrete impression of the system’s capabilities Prototyping is becoming increasingly used for system development where rapid development is essential Continue…
36
Generic Software Process Model
Prototyping model Key Point Throw-away prototyping is used to understand the system requirements In evolutionary prototyping, the system is developed by evolving an initial version to the final version Continued …
37
Generic Software Process Model
Prototyping model Key Point Rapid development of prototypes is essential. This may require leaving out functionality or relaxing non-functional constraints Prototyping techniques include the use of very high-level languages, database programming and prototype construction from reusable components
38
Generic Software Process Model
Prototyping model Key Point Prototyping is essential for parts of the system such as the user interface which cannot be effectively pre-specified. Users must be involved in prototype evaluation
39
Prototyping Model Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil. Cakupan aktivitas prototyping model terdiri dari: Mendefinisikan objetif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat.
40
Kelemahan prototyping model:
Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang. Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
41
Generic Software Process Model
Incremental Model Fact: Software evolves over time Straight path to an end product is unrealistic Tight market deadlines Deliver limited version Core product requirements well understood Need for extensions foreseeable
42
Generic Software Process Model
Incremental Model Requirements design code test integrate O&M Release 1 release 2 release 3 release 4 Incremental development (each release adds more functionality)
43
Generic Software Process Model
Incremental Model design code test integrate O&M reqts version 1 version 2 version 3 lessons learnt Evolutionary development (each version incorporates new requirements)
44
Generic Software Process Model
Incremental Model Combines elements of the linear model and prototyping Produces “deliverable” increments First increment often core product Focuses on operational product (not throw-away prototype)
45
Generic Software Process Model
Incremental Model Used when not enough resources are available to deliver the complete product in time Increments help to manage technical risks (e.g. currently unavailable hardware)
46
Generic Software Process Model
Incremental Model Focuses attention on reuse options Focuses attention on early error elimination Puts quality objectives up front Integrates development and maintenance Provides a framework for hardware/software development
47
Generic Software Process Model
Incremental Model Contractual development often specifies process model and deliverables in advance Requires risk assessment expertise Needs refinement for general use
48
Incremental Model Merupakan kombinasi linear sequential model (diaplikasikan secara berulang) dan filosofi pengulangan dari prototyping model. Setiap tahapan linear sequential menghasilkan deliverable increment bagi perangkat lunak, dimana increment pertamanya merupakan sebuah produk inti yang mewakili kebutuhan dasar sistem. Produk inti ini nantinya dikembangkan menjadi increment-increment selanjutnya setelah digunakan dan dievaluasi sampai didapat produk yang lengkap dan memenuhi kebutuhan pemakai.
49
Kelemahan incremental model:
1. Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh. 2. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
50
Finished, Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.