Prototype Methodology [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

PROTOTYPE METHODOLOGY



S OF T W AR E DE V E L OPM E N T



This report describe the overview of prototype methodology, which is used in mostly software development



Gulzeb Zahid www.gulzeb7.web s.com 00971558141631



1



Table of Contents 1



Introduction .................................................................................................................................. 2



2



Problem Statement ...................................................................................................................... 3



3



Characteristics .............................................................................................................................. 4



4



5



3.1



Initial Requirement................................................................................................................ 4



3.2



Pre-designed Template ....................................................................................................... 4



3.3



Reading client mind ............................................................................................................. 4



3.4



Moral support ........................................................................................................................ 5



3.5



Clear Idea of Product .......................................................................................................... 5



3.6



Base of Structure ................................................................................................................... 5



Prototype Types ............................................................................................................................ 7 4.1



Throw-away prototyping: .................................................................................................... 7



4.2



Evolutionary prototyping: .................................................................................................... 8



4.3



Low fidelity prototyping: .................................................................................................... 11



4.4



High-fidelity prototyping: ................................................................................................... 12



Reference.......................................................................................................................................... 14



2



1 Introduction It is a software development life cycle methodology in which user or customer have not any clear idea about requirement and customer may change its requirements during the programming process. Customer is well involved in this methodology. Customer give feed back to the developer that he need this design of software or not and either he need more function in software or not. Changes can be made in this methodology and remade in order to define a clear view of software to customer. When customer see the design then he recommend to start software procedure. All this effort is made getting no money for developer until customer is satisfied with design then developer analyze and start the coding and implementation.



3



2 Problem Statement Question is why developer need prototype methodology? Answers are simple. Developer have exactly the idea of customer’s problem throughout the process of prototyping process as customer may not be some time tell all of its requirement clearly . Then developer understand it easily and also can give good suggestion to customer for current problem solving and also suggest him some good benefits and future using option while knowing the problem of customer.



4



3 Characteristics 3.1 Initial Requirement Another reason to choose the prototype methodology for developer that from the beginning of software development developer have an initial view from the requirement of customer that what kind of software customer want to make, after a little bit changes good developer can design the software according to client requirement. 3.2 Pre-designed Template One good reason to use prototype methodology that developer can show multiple pre-designed software models or prototype to customer and customer can select from these prototypes and it make it easy for developer to change that prototype according to customer requirement until client is satisfied then he can start building original software by coding as he know all requirements from customers. As there is not much effort need on pre-built prototypes so they can modify easily and taking not more cost for customer and saving time for developer and also client have choice to choose from a list of different type of prototype according to his requirement or choice. 3.3 Reading client mind Another reason of using prototype methodology for developer is that when developer listen and understand the client requirement then design a prototype software for customer, developer itself know that he can solve the problem of customer exactly or not and either he can make an actual software for client which can solve his problem before designing an actual software, like this it will save time for customer and developer also. If



5



developer can do this software actually, not in prototype, he can talk to client about it because developer know his working depth, so he start making the program. if developer can’t understand himself enable to do this work , he stop the client in order to save his time and client time also. 3.4 Moral support Another good reason to use prototype is that moral of both customer and developer is high as client know that work is doing according to his requirement and developer is happy as he no need to waste time to build one software and customer not agree and he have to do more work, with the help of prototype both parties feel free and relax. 3.5 Clear Idea of Product Another reason for developer to use prototype is to design a layout of program in prototype, so client can easily recognize the shape and layout, colors, effects and fonts and style of software while looking at prototype. What happened in other methodology that developer make a good and flawless perfect program but some time client do not like the software, not the function but layout and developer have to do all the work again. Client sometime like the functions of program, which solve its all of problem but at the end, client say it is not looking cool, then developer, have to do his coding and implementation again. 3.6 Base of Structure One more good reason for developer is to use prototype methodology in software development life cycle is that developer have a full knowledge of



6



customer requirement and have a base for start structure of his software, continue and flawlessly. [1]



7



4 Prototype Types A good Developer can create a functional prototype to show the customer in just some weeks depending upon client requirement. if we are looking at other methodologies, it will take months to design a good software, like this it will save the time and money for client as well as save time and effort of developer while designing a functional prototype and do some changing in it. A very good reason to use the prototype that error detection become very much easy during prototype as developer understand the client requirement and not doing the same mistake while working on actual software. There are many types of prototypes which are given below; a) b) c) d)



Throw-away prototyping Evolutionary prototyping Low fidelity prototyping High fidelity prototyping



Now all types are described respectively 4.1 Throw-away prototyping: This type of prototyping is used when only basic and uncompleted requirement from customer, it is called raw type prototype methodology as it is not used in final software, it is just used to take the client point of view and understand the client requirements, when client requirements are understood then it is thrown in garbage and start the project depend upon analyzing the customer requirement.



8



This methodology is used to write the requirement of client as every time customer change its requirements, all the times its changing and rechanging are written and finally when he says it’s my baby or that is the software which I have needed, then all final requirements are written in scripts and documented so if client say later, I need more changing, he will be treated well then ;) It is also known as raw garbage stuff because according to some developer’s point of view it is waste of precious time because it can’t be used in actual program but they forget that it will actually save the developer at the end when client suddenly remember another requirement , and they have to do all work again. It might be not useful in programing or during coding but what if need to give final touch to program and also compare this prototype with original program and developer find something different then client’s requirement, then he will definitely focus the prototype to make a program according to customer requirement. One of great advantage of this prototype is that it is used to reduce the risk of project. If client is agree on this prototype then project is safe and project will done according to customer requirement without losing if client attention as client can’t say at the end that it is not according to my requirement. [2]



4.2 Evolutionary prototyping: this type of prototype is used when client have clear requirements in mind and he explain it and need some examples in order to fix its problems, developer design a basic model of requirements and show to customer and



9



when customer agree on requirements the developer start working on this base model and make it finalize with coding support and test it and also in between ask the customer for its feed-back in order to carry on his work. It is the basic model of customer requirement which is like structure of program and when customer finalize its structure , developer start to make a software building on this base and make it ready according to client requirement.



Fig 1 Main base is ready for program in this type of prototype only what is need to do , to design and built a structure in a or more better ways in order to



10



complete it before dead line. Satisfaction of client is higher in this type of system as he knows that he is looking at original software and other functions are only adding into this plate-form and he is well satisfied then throw-away prototype methodology as he know that it is only prototype and not original software and just model and original program is designed according to this model. But in evolutionary prototyping client is satisfied that it is main software and work will be completed on main this software in order to complete it. Client is happy with this prototype because he knows when this prototype is ready then it will be delivered soon after testing from developer. [3] No documentation is required In this software as all work is done on this software base model and client interaction is already in progress until this base model is completed. It need a good management team in order to lesion with customer and developers and make the things easy for client and developers. Without proper management this methodology is not work because if developer let the meet with client then there will be some fatigue developer or client will feel because may be some time all people not same and may be they misunderstand each other so it is necessary to make a management team for that purpose. There are too many changes are done during this type of methodology and must be keep one management team to keep track of these changes as may be customer need these changes restore after some time and if there is no documentation then it will be problem for clients as well as developer to track changes and implement again. [4]



11



4.3 Low fidelity prototyping: this type of prototyping is used when it is required to show the customer only layout or style of program. This type of prototype do not require any type of coding approach. This type of prototype have a basic function for students or clients to teach them or give them presentation of software programing or need to communicate within software. This prototype methodology have very limited functions and it is not the model or base of software for client. It is like only presentation for client that your software will be look like so it give only the concept to the client about the software profile. One best advantage to use this methodology for developer that he can change the style and can show multiple design of software to client within minimum time so which one customer choose from pre-build designs then developer can modify from these multiple design according to client requirement. As this type of prototype need less effort so this is the cheapest type prototype available for clients for small type of software. Best use for this type of prototype is to design the software for communication software. From this type of prototype customer requirement can be easily identified. One disadvantage of this prototype is that navigation from one screen to another or from one function to another is less or not supported. So error can’t be calculated while using this methodology. It do not provide good enough details for programming during coding stage. [5]



12



4.4 High-fidelity prototyping: this is full function prototyping for client with all function required by the user are already installed in this prototype. Client can check this prototype by entering the testing data in entry field and can see what result of certain button is and can see messages of error and from the given icon from the developer client can open the software from his computer and use this system as it is real system with full functionality. This prototype take more time than other types of prototypes but when completed, user is more satisfied on this type of prototype. As it will take more effort from developer to build this type of prototype and also developer spend a long time to build this prototype so it is necessary for developer to take the more money for his hard work and that’s why this type of prototype only used for big companies software as they are costly than others. This type of prototype is not effective to gather continues changing requirements of customer. [6]



13



FIG 2 According to my recommendation prototype methodology should be used for customer when his requirements are changing and he have not any clear idea about his requirement because it will save time for developer and save the money for client then the market rate of software development.



14



5 Reference [1] http://www.umsl.edu/~sauterv/analysis/488_f01_papers/Hammer/term _paper_body.htm visited 20 Apr, 2014 [2] http://it.toolbox.com/blogs/enterprise-solutions/prototyping-types-ofprototypes-14927 visited 21 Apr, 2014 [3] http://istqbexamcertification.com/what-is-prototype-modeladvantages-disadvantages-and-when-to-use-it/ visited 21 Apr, 2014 [4] http://arxiv.org/ftp/arxiv/papers/0803/0803.0162.pdf visited 22Apr, 2014 [5] http://www.tutorialspoint.com/sdlc/sdlc_software_prototyping.htm visited 23 Apr, 2014 [6] http://en.wikipedia.org/wiki/Software_development_methodology visited 24 Apr, 2014