Download presentation
Presentation is loading. Please wait.
1
Rekayasa Perangkat Lunak Part-6
Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
2
Outline of this presentation
The Generic Software Process Model Prototyping Model Incremental Model Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 … Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 … Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
9
Generic Software Process Model
Prototyping model Approaches to Prototyping Evolutionary prototyping Throw-away prototyping Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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. Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
16
Generic Software Process Model
Prototyping model Evolutionary Prototyping Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 ... Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
26
Generic Software Process Model
Prototyping model Throw-away Prototyping Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
27
Generic Software Process Model
Prototyping model Throw-away Prototyping Developers may be pressured to deliver a throw-away prototype as a final system Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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… Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
30
Generic Software Process Model
Prototyping Techniques Various techniques may be used for rapid development Paper Prototyping - Scracth Art Work Presentation Software Prototyping - Power Point (Microsoft) - Freelance Graphics (Lotus) - etc Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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… Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 … Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
39
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
40
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) Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
41
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) Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
42
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) Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
43
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) Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
44
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
45
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 Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
46
Finished, Questions? Rekayasa Perangkat Lunak Copyright © Feb-2009 by Fakultas Teknologi Informasi
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.