Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rekayasa Perangkat Lunak Kuliah 06. Outline of this presentation The Generic Software Process Model – Prototyping Model – Incremental Model 2.

Similar presentations


Presentation on theme: "Rekayasa Perangkat Lunak Kuliah 06. Outline of this presentation The Generic Software Process Model – Prototyping Model – Incremental Model 2."— Presentation transcript:

1 Rekayasa Perangkat Lunak Kuliah 06

2 Outline of this presentation The Generic Software Process Model – Prototyping Model – Incremental Model 2

3 3 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 Generic Software Process Model

4 4 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 … Generic Software Process Model

5 5 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 Generic Software Process Model

6 6 Prototyping model  Prototyping benefits  Misunderstandings between software users and developers are exposed  Missing services may be detected and confusing services may be identified  Continue … Generic Software Process Model

7 7 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 Generic Software Process Model

8 8 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 Generic Software Process Model

9 9 Prototyping model  Approaches to Prototyping 1 Evolutionary prototyping 2 Throw-away prototyping Generic Software Process Model

10 10 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 Generic Software Process Model

11 11 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. Generic Software Process Model

12 12 Prototyping model  Approaches to Prototyping 2 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 Generic Software Process Model

13 13 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 Generic Software Process Model

14 14 Prototyping model 1 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 Generic Software Process Model

15 15 Prototyping model 1 Evolutionary Prototyping  Verification is impossible as there is no separate specification.  Validation means demonstrating the adequacy of the system Generic Software Process Model

16 16 Prototyping model 1 Evolutionary Prototyping Generic Software Process Model

17 17 Prototyping model 1 Evolutionary Prototyping  Specification, design, and implementation are inter-twined  The system is developed as a series of increments that are delivered to the customer Generic Software Process Model

18 18 Prototyping model 1 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 Generic Software Process Model

19 19 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 Generic Software Process Model

20 20 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 Generic Software Process Model

21 21 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 Generic Software Process Model

22 22 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 Generic Software Process Model

23 23 Prototyping model 2 Throw-away Prototyping  Used to reduce requirements risk  The prototype is developed from an initial specification, delivered for experiment then discarded Generic Software Process Model

24 24 Prototyping model 2 Throw-away Prototyping  The throw-away prototype should NOT be considered as a final system 1.Some system characteristics may have been left out 2.Continue... Generic Software Process Model

25 25 Prototyping model 2 Throw-away Prototyping  The throw-away prototype should NOT be considered as a final system 2.There is no specification for long- term maintenance 3.The system will be poorly structured and difficult to maintain Generic Software Process Model

26 26 Prototyping model 2 Throw-away Prototyping Generic Software Process Model

27 27 Prototyping model 2 Throw-away Prototyping  Developers may be pressured to deliver a throw-away prototype as a final system Generic Software Process Model

28 28 Prototyping model 2 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 … Generic Software Process Model

29 29 Prototyping model 2 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 Generic Software Process Model

30 30 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 Generic Software Process Model

31 31 Prototyping Techniques  Various techniques may be used for rapid development  Dynamic high-level language development  Database programming - SQL  Component and application assembly Generic Software Process Model

32 32 Prototyping Techniques  These are not mutually exclusive techniques – they are often used together  Visual programming is an inherent part of most prototype development systems Generic Software Process Model

33 33 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 Generic Software Process Model

34 34 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 Generic Software Process Model

35 35 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 … Generic Software Process Model

36 36 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 … Generic Software Process Model

37 37 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 Generic Software Process Model

38 38 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 Generic Software Process Model

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: 1.Mendefinisikan objetif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui. 2.Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype 3.Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat. 39

40 Kelemahan prototyping model: 1.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. 2.Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien. 40

41 41 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 Generic Software Process Model

42 42 Requirements designcodetestintegrateO&M designcodetestintegrateO&M designcodetestintegrateO&M designcodetestintegrateO&M Release 1 release 2 release 3 release 4 Incremental development (each release adds more functionality) Incremental Model Generic Software Process Model

43 43 designcodetestintegrateO&Mreqts designcodetestintegrateO&Mreqts designcodetestintegratereqts version 1 version 2 version 3 lessons learnt Evolutionary development (each version incorporates new requirements) Incremental Model Generic Software Process Model

44 44 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) Generic Software Process Model

45 45 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) Generic Software Process Model

46 46 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 Generic Software Process Model

47 Incremental Model – Contractual development often specifies process model and deliverables in advance – Requires risk assessment expertise – Needs refinement for general use 47 Generic Software Process Model

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. 48

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. 49

50 50


Download ppt "Rekayasa Perangkat Lunak Kuliah 06. Outline of this presentation The Generic Software Process Model – Prototyping Model – Incremental Model 2."

Similar presentations


Ads by Google