Presentation is loading. Please wait.

Presentation is loading. Please wait.

S OFTWARE P ROTOTYPING C HAPTER 4. SOFTWARE PROTOTYPING Prototype: Customers and end-users of the system find it difficult to express their real requirements.

Similar presentations


Presentation on theme: "S OFTWARE P ROTOTYPING C HAPTER 4. SOFTWARE PROTOTYPING Prototype: Customers and end-users of the system find it difficult to express their real requirements."— Presentation transcript:

1 S OFTWARE P ROTOTYPING C HAPTER 4

2 SOFTWARE PROTOTYPING Prototype: Customers and end-users of the system find it difficult to express their real requirements. Software analyst find it difficult to predict how system operates and how it can interact with other system. This problem can be avoided by presenting Prototype Model. Prototype is a technique to demonstrate the concepts. Definition: Prototyping is a technique for providing a reduced functionality or a limited performance version of a software system. Prototyping can also be used as risk analysis and risk reduction technique.

3 Prototyping Listen To Customer Build/Revise Mockup Customer Test Drives Mockup workingworking model of something built for study or testing or displaymodeltestingdisplay

4 Prototype: Prototype is the initial version of software system. Prototype supports Requirement Elicitation and Requirement Validation. User can highlight new ideas and help to develop new version of prototype. Prototype allows the user to validate the software. They can point out errors and omissions in the beginning.

5 A DVANTAGES OF PROTOTYPING IN SOFTWARE DEVELOPMENT Prototype acts as a bridge between customers, end-users and system developer to understand the system functions. At each stage developer adds on to the sub-system as they discover incomplete or inconsistent changes during development. Prototype acts as ready model so that customer and user gets basic idea of the candidate system. The purpose of prototyping is to support the analysis and design stages of a project by enabling the users to see very clearly what the system will do.

6 A DVANTAGES OF PROTOTYPING Missing requirements can be added. Incomplete and inconsistent requirements can be identified. Prototype can be used for training the user before final system is delivered.

7 Disadvantages of Prototyping 1. In the first version itself, the customer often wants “few fixes” rather than rebuilding the system. 2. The first version may have some compromises. 3. Sometimes developer may take implementation compromises to get the prototype working quickly. Later developer may become comfortable with compromises and forget why they are inappropriate.

8 P ROTOTYPE DEVELOPMENT IN SOFTWARE PROCESS Plan prototype Specify the objectives Define the requirements Include all the possible functions Establish relationships and interfaces Develop prototype Evaluate the prototype Execute prototype

9 1. Plan prototype: This is the first stage. Prototype type depends on the type of the project to be developed. Plan Prototype Function Specificatio n Develop Prototype Define Requiremen ts Establish Objectives Evaluate Prototype Execute Prototype Establish Interface & Relationships Process of prototype development Prototype development in software process

10 2. Establish Objectives: Objectives of the project must be clearly established in the beginning. Prototype may not be the same for all the projects. It is different for different projects. Prototype may be used: To study and validate functions of already existing system. To study the extension of the existing system. To set user interface. In business and scientific cases to establish simulation movements. Prototype development in software process

11 3. Define Requirements Specify the functional and non-functional requirements of the system. 4. Function Specification Determine input, output and process functions to get preliminary idea of the working of prototype. 5. Establish interface and relationship Interface management is very essential as the system has to operate in a complex inter-locked pattern. 6. Develop Evaluate and execute preliminary prototype. Prototype development in software process

12 T YPES OF P ROTOTYPE IN SOFTWARE PROCESS Developer can develop useful and operational prototype only when he gets the co-operation and co-ordination from client and end-users. Prototypes can be of 2 types :- Evolutionary prototype Throw-away prototype

13 A PPROACHES TO PROTOTYPING

14 T YPES OF P ROTOTYPE IN SOFTWARE PROCESS Evolutionary prototyping Evolutionary development is based on the idea of developing an initial implementation, exposing this to user comment and refining this through many versions until the acceptable system has been developed. The development of the product starts with the parts of the system, which is well understood by the developer. This product is exposed to the user. New features are added to the product and process continues until a final acceptable product is built.

15 E VOLUTIONARY P ROTOTYPING User Executable Prototype Suggests Modification Prototype Version 1 Prototype Version 2 Prototype Version 3

16 Evolutionary prototyping Advantages: 1. Fast delivery of the working system. 2. User is involved while developing the system. 3. More useful system can be delivered. 4. Specifications, design and implementation work in co-ordinated manner.

17 Evolutionary prototyping Problems: 1. Management Problems: Typically a waterfall model is adopted in which the development skill is required in all the development team members. 2. Maintenance problems: Continuous changes may lead to changes in the system structure that may cause maintenance problems. 3. Verification: It is impossible as there is no specification.

18 Throw-away prototyping The development of the product starts with the part of system which is poorly understood. It is then exposed to the user to get more and refined requirements. This type of development is helpful to understand the user’s needs. Afterwards this development part is thrown-away and actual system development starts from scratch.

19 T HROW - AWAY PROTOTYPING Steps in the development of throw away prototype: Outline system requirements. Develop prototype. Evaluate prototype. Release the executable system. Throw away prototype.

20 Concurrent activities Validation Final version Development Intermediate versions Specification Initial version Outline description

21 T HROW - AWAY PROTOTYPE Advantages: If the delivered model is not as per the customer needs, then it can be discarded and development can occur with another new engineering paradigm. Requirement risks are very less.

22 T HROW - AWAY PROTOTYPES Disadvantages: Prototypes are normally undocumented. Developers may be pressurized to deliver throw- away prototype as final system. This is not recommended. The prototype structure is usually degraded through rapid change The prototype probably will not meet normal organizational quality standards.

23 Evolutionary prototypingThrow-away prototyping An approach to system development where an initial prototype is produced and refined through a number of stages to the final system. Objective: the evolutionary prototyping is to deliver a working system to end-users. The development starts with those requirements which are best understood. A prototype which is usually a practical implementation of the system is produced to help discover requirements problems and then discarded. The system is then developed using some other development process. Objective: the throw-away prototyping is to validate or deliver the system requirements. The prototyping process starts with those requirements which are poorly understood

24 P ROTOTYPING T ECHNIQUES Is a developing technique which focuses on fast or speedy delivery of system rather than system characteristics such as efficiency, performance and reliability. Three important rapid prototype techniques/types are: 1. Dynamic high level language development. 2. Database Programming 3. Component and application assembly (also called as reusability).

25 P ROTOTYPING T ECHNIQUES 1. Dynamic high level language development: They simplify the program development. Reduces many problems such as storage allocation and management. Till recently high level languages were not widely used for system development because they need large run-time support system, which increases the storage needs and reduces the execution speed etc. However, with the increasing power and reduction in the cost of computer hardware, these factors have become less important.

26 2. Database programming: It is carried out using specialized language which embeds (fix) knowledge of the database and which also includes operations for database manipulation. The term fourth generation language (4GL) refers to both database Programming Language and Supporting Environment.

27 2. Database programming: The tools which are included in a 4GL environment are: 1. A database query which is now SQL. 2. An interface generator which is used to create forms for data input and display. 3. A spreadsheet for the analysis and manipulation of numeric information. 4. A report generator which is used to define and create reports from information in the database.

28 3. Component and application assembly: Prototypes can be constructed quickly if a set of reusable components are available. Prototype development with reuse can be supported at two levels. 1. Application level 2. Component level

29 3. Component and application assembly: 1. Application level: In this the entire application is integrated with the prototype so that the functionality can be shared. Ex: Suppose if a prototype requires text processing capability, then it can be integrated with word processing system such as MS-Office application. 2. Component level: In this the individual components are integrated within a standard framework. Ex: VB to implement the system.

30 U SER INTERFACE P ROTOTYPING GUI (Graphical User Interface) have now become standard for the interactive system. From the Software Engineering point of view, prototyping is essential part of user interface design process. Because of the dynamic nature of user interface, textual descriptions and diagrams are not sufficient. Therefore, evolutionary prototype with the end user involvement is the sensible way of developing (GUI) software system.

31 U SER INTERFACE P ROTOTYPING Interface generators are graphical design system, where interface components such as menus, icons and buttons are selected from menu and positioned on an interface. In the Web pages- buttons, fields, tables can be included. Multimedia objects can also be included which gives access to pictures, sound etc.

32 P ROTOTYPING E XAMPLE Prototype for building a tool to track how much a user exercises each day Graphical representation of first prototype, in which the user must type the day, month and year

33 P ROTOTYPING E XAMPLE ( CONTINUED ) Second prototype shows a more interesting and sophisticated interface involving a calendar User uses a mouse to select the month and year The system displays the chart for that month, and the user selects the appropriate date in the chart

34 P ROTOTYPING E XAMPLE ( CONTINUED ) Third prototype shows that instead of a calendar, the user is presented with three slide bars User uses the mouse to slide each bar left or right The box at the bottom of the screen changes to show the selected day, month, and year

35 QUESTIONS AND EXERCISES Two mark questions: 1. Define prototype? 2. What are the characteristics of prototype? 3. What is prototype process? 4. Define prototype model. 5. What are the advantages of prototype model? 6. What are the disadvantages of prototype model? 7. Define evolutionary prototyping. 8. Define throw-away prototyping. 9. What are the objectives of prototyping? 35

36 QUESTIONS AND EXERCISES Five, Seven and Eight marks Questions: 1. What is the basis of prototyping as a software engineering paradigm? 2. Explain prototyping model? 3. What is the need for prototyping in software development? 4. What are the benefits of developing a prototype early in software process? 5. Difference between evolutionary and throw-away prototyping. 6. Write a short notes on a) Prototyping techniques b) User interface prototyping 1. Explain prototype development process with advantages and disadvantages. 2. Describe two types of prototyping with advantage sand disadvantages. 36


Download ppt "S OFTWARE P ROTOTYPING C HAPTER 4. SOFTWARE PROTOTYPING Prototype: Customers and end-users of the system find it difficult to express their real requirements."

Similar presentations


Ads by Google