480 likes | 639 Views
Rekayasa Perangkat Lunak. Bagian 6. 2. Outline of this presentation. The Generic Software Process Model Prototyping Model Incremental Model. FAKULTAS TEKNOLOGI INFORMASI. REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6. Generic Software Process Model. Prototyping model
E N D
Bagian 6 REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6 2
Outline of this presentation The Generic Software Process Model Prototyping Model Incremental Model FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 … FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 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 … FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Generic Software Process Model Prototyping model • Approaches to Prototyping • Evolutionary prototyping • Throw-away prototyping FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 bestunderstood. FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 poorlyunderstood FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Generic Software Process Model Prototyping model • Evolutionary Prototyping FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Generic Software Process Model Prototyping model • Throw-away Prototyping • The throw-away prototype should NOTbe considered as a final system • Some system characteristics may have been left out • Continue ... FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Generic Software Process Model Prototyping model • Throw-away Prototyping • The throw-away prototype should NOTbe considered as a final system • There is no specification for long-term maintenance • The system will be poorly structured and difficult to maintain FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Generic Software Process Model Prototyping model • Throw-away Prototyping FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Generic Software Process Model Prototyping model • Throw-away Prototyping • Developers may be pressured to deliver a throw-away prototype as a final system FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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… FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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… FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 … FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
design design design design code code code code test test test test integrate integrate integrate integrate O&M O&M O&M O&M Release 1 Incremental development (each release adds more functionality) Requirements release 2 release 3 release 4 Generic Software Process Model Incremental Model FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
reqts reqts design design code code test test integrate integrate O&M O&M version 1 lessons learnt version 2 lessons learnt Evolutionary development (each version incorporates new requirements) version 3 reqts design code test integrate Generic Software Process Model Incremental Model FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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) FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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) FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
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 FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Incremental Model Contractual development often specifies process model and deliverables in advance Requires risk assessment expertise Needs refinement for general use Generic Software Process Model FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6
Finished, Questions? FAKULTAS TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK – KP146 – 3 SKS – BAG 6