0% found this document useful (0 votes)
92 views

Chapter 8. Software Prototyping

The document discusses software prototyping. It notes that prototypes developed early in the software process can help identify misunderstandings between developers and users, missing requirements, confusing interfaces, and inconsistencies. Prototypes provide a working system quickly to demonstrate feasibility and usefulness. Prototypes can also be used for user training and system testing. The document outlines evolutionary prototyping, which aims to deliver a working system, and throw-away prototyping, which validates requirements without delivering a system. Incremental development follows standards but requires establishing architecture early. The document also discusses prototyping techniques like executable specification languages and reusable components.

Uploaded by

Rijoy Mukherjee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

Chapter 8. Software Prototyping

The document discusses software prototyping. It notes that prototypes developed early in the software process can help identify misunderstandings between developers and users, missing requirements, confusing interfaces, and inconsistencies. Prototypes provide a working system quickly to demonstrate feasibility and usefulness. Prototypes can also be used for user training and system testing. The document outlines evolutionary prototyping, which aims to deliver a working system, and throw-away prototyping, which validates requirements without delivering a system. Incremental development follows standards but requires establishing architecture early. The document also discusses prototyping techniques like executable specification languages and reusable components.

Uploaded by

Rijoy Mukherjee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

4/29/2015 Chapter 8.

 Software Prototyping

Chapter 8. Software Prototyping

   ‐. The benefits of developing a prototype early in the software process are :

  (1) Misunderstandings between software developers and users may be identified as the system functions 

                    are demonstrated.

  (2) Missing user services may be detected.

  (3) Difficult‐to‐use or confusing user services may be identified and refined.

  (4) Software development staff may find incomplete and/or inconsistent requirements as the prototype is

     developed.

  (5) A working, albeit limited, system is available quickly to demonstrate the feasibility and usefulness of

                     the application to management.

  (6) The prototype serces as a basis for writing the specification for a production quality system.

   ‐. Software prototypes also have other uses:

  (1) User training

  (2) System testing

   ‐. The final stage of the process is prototype evaluation.

   ‐. There are non‐technical managerial problems which may make it difficult to use prototyping in some organizations.

   8.1 Prototyping in the software process

       ‐. One way of tackling this difficulty is to use an evolutionary approach to systems development.

       ‐. Alternatively, a deliverate decision mignt be made to build a 'throw‐away' prototype to help requirements analysis

        and validation.

       ‐. There is an important difference between the objectives of evolutionary and throw‐away programming:

  (1) The objective of evolutionary prototyping is to deliver a working system to end‐users.

  (2) The objective of throw‐away prototyping is to validate or derive the system requirements.

       8.1.1 Evolutionary prototyping

  ‐. There are three main problems with evolutionary prototyping which are particularly important when large, 

   long‐lifetime systems are to be developed:

  ‐. Difficulties do not mean that evolutionary prototyping should be rejected.

       8.1.2 Throw‐away prototyping

  ‐. This approach extends the requirements analysis process with the intention of reducing overall lige cycle costs.

  ‐. Customers and end‐users should resist the temptation to turn the throw‐away prototyping into a delivered system 

                   that is put into use.

       8.1.3 Incremental development

  ‐. This incremental development model involves developing the requirements and delivering the system in an 

   incremental fashion.

  ‐. Incremental development is more manageable than evolutionary prototyping as the normal software process 

                   standards are followed.

  ‐. A problem with incremental development is that the system architecture has to be estabilished before the

http://woorisol.kyungpook.ac.kr/lab/prof/softeng/ch8.htm 1/2
4/29/2015 Chapter 8. Software Prototyping
   requirements are complete.

   8.2 Prototyping techniques

       ‐. There are a number of techniques which have been used for system prototyping. These include:

        +. Executable specification languages,

  +. very high level language,

  +. application generators and fourth‐generation languages, 

  +. composition of reusable components.

       8.2.1 Executable specification languages

  ‐. There are practical difficulties in applying this approach.

       8.2.2 Very high level languages

  ‐. Very high level languages are programming languages which include powerful data management facilities.

  ‐. Very high level dynamic languages are not normally used for large system development because they

                   need a large run‐time support system.

       8.2.3 Fourth‐generation languages

  ‐. Fourth‐generation languages are successful because there is a great deal of commonality across data

   processing applications.

  ‐. There is no standardization or uniformity across fourth‐generation languages.

       8.2.4 Composition of reusable components

  ‐. Prototyping with reusable components involves developing a system specification by taking account of

   what reusable components are available.      

  ‐. Prototyping using reusable components is often combined with other approaches using very high level 

   or fourth‐generation languages.

   8.3 User interface prototyping

       ‐. Interface generation systems may be based aroun user interface management systems which provide basic user interface

        functionality such as menu selection, object display and so on.

       ‐. From a software engineering point of view, it is important to realize that user interface prototyping is an essential part 

        of the process.  

[Previous]    [Next]

http://woorisol.kyungpook.ac.kr/lab/prof/softeng/ch8.htm 2/2

You might also like