0% found this document useful (0 votes)
36 views13 pages

Currently Available Requirements Trail: Design and Coding Phases But Main Stress Is

The document discusses prototyping in software development. It states that prototyping involves creating a preliminary version of the system based on initial requirements to get user feedback. This allows requirements to be further refined before full development. Prototyping is useful for large, complex systems where requirements are unclear. While it involves building the system twice, it can reduce overall costs by improving requirements gathering and catching issues early.

Uploaded by

api-19981384
Copyright
© Attribution Non-Commercial (BY-NC)
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)
36 views13 pages

Currently Available Requirements Trail: Design and Coding Phases But Main Stress Is

The document discusses prototyping in software development. It states that prototyping involves creating a preliminary version of the system based on initial requirements to get user feedback. This allows requirements to be further refined before full development. Prototyping is useful for large, complex systems where requirements are unclear. While it involves building the system twice, it can reduce overall costs by improving requirements gathering and catching issues early.

Uploaded by

api-19981384
Copyright
© Attribution Non-Commercial (BY-NC)
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/ 13

Prototyping…..

♦ This prototype is based on the currently available requirements and


put on trail.

♦ Although the development of prototype also goes through the


design and coding phases but main stress is not put on formal
procedures.

♦ By using the prototype the user gets the true working environment
of the actual system to be designed and developed later on.

♦ Hence more realistic requirement of the required system are brought


in.
♦ Typically useful for the areas where a system (manual or
automated) does not exist or the overall system is very large and
complex.
♦ Also provides an implemented feasibility, which provides
effective method of demonstration.
Dr. Arshad A. Shahid 15 NU Islamabad
Requirements Analysis
Design
Code Design Code Test
Test

Disadvantages:
♦ The only drawback seems the duplication of efforts and cost
involved in build-twice approach.
Justifications:
♦ Prototyping need not be very costly and can actually reduce the
overall development cost.
♦ The prototypes are usually not complete systems and many of the
details are not built in.
♦ In addition, cost of testing and writing detail documents is
reduced, which reduces the cost of developing prototype.
♦ Further the experience gained during prototyping is very useful for
developers when developing the final system. This experience also
reduces the cost of development of actual system, and results in
more reliable and better design.
Dr. Arshad A. Shahid 16 NU Islamabad
Problems to be tackled by Prototyping

9 Customer’s misconception (req-


completion/communication, involvement,
expectations, automation)

9 Developer’s wrong habits (Not strict to req,


misunderstanding, assumptions/imaginations)

9 Rules of the game are not defined at the


beginning

Dr. Arshad A. Shahid 17 NU Islamabad


(3) RAD Model
♦ Rapid application development (RAD) is a linear sequential S/W
development process model that emphasizes on extremely short
development cycle.
♦ high-speed RAD is achieved by using a component-based project
construction approach.
team #3
team #2
business
modeling

team #1 business data


modeling modeling

process
business modeling

modeling data
modeling application


generation

If requirements are well understood data


process
modeling
testing
&
turnover

and project scope is constrained (i.e. modeling

application
generation
goals/ are fixed / freezed); the RAD process
modeling testing

enables a development team to &


turnover

create a “fully functional system” application


generation

within very short time (e.g. 60-90 testing


&
days). turnover

60 - 90 days

Dr. Arshad A. Shahid 18 NU Islamabad


RAD Phases (1)

1. Business Modeling (Business Processes)


Information flows among business functions is modeled such that
answers the questions:
• What information is generated?
• Who generates it?
• Who processes it?
• Where does the information go?

2. Data Modeling (Entities)


(1) The information flow is refined into a set of data objects that are
needed to support the business.
(2) Characteristics (attributes) of each object are identified and
(3) Relationships between these objects are defined.

Dr. Arshad A. Shahid 19 NU Islamabad


RAD Phases (2)

3. Process modeling (Processes/Functions)


(1) The data object defined in the data modeling phase are transformed to
achieve the information flow necessary to implement a business function
(i.e. transformation of input-object to output object defines flow of
information in a process/function)
(2) Such processing descriptions are created for adding, modifying, deleting,
or retrieving a data object.

4. Application Generation
(1) RAD is based on the use of 4GT, rather than using 3GL.
(2) RAD process works to re-use existing components (when possible).
(3) Create re-useable components (when necessary). In all cases automated
tools are used to facilitate construction of S/W.

Dr. Arshad A. Shahid 20 NU Islamabad


RAD Phases (3)

5. Testing and Turnover


(1) Re-use releases from testing, as such components, are already tested.
(2) New components must be tested and all interfaces must be fully
exercised. Optimally,
(3) If a business application can be modularized such that each major
function can be completed in less than 3 months time, each can be
addressed by a separate RAD team, and then integrated (to give
working system in 3-6 months)

Drawbacks
(1) For large scalable projects, RAD requires sufficient human
resources to create right number of RAD teams.
(2) RAD requires developers & customers committed to complete a
system in a short time frame, other wise if commitment is lacking
from either side, RAD projects will fail.

Dr. Arshad A. Shahid 21 NU Islamabad


4th Generation Techniques (4GT)

(1) 4GTs include a large number of tools, in enabling S/W Engineer some
characteristics of S/W at high level.

(2) The tools (not all) automatically generate source code for the
specification.

(3) Tools include: non-procedural languages for database query report


generation/writing, data manipulation, screen (design) interaction, code
generation, high level graphic capability and spread sheet.

(4) Now a days many S/W areas are covered by 4GT’s in addition to
databases (e.g. E-Commerce; Web-Sphere).

(5) 4GT paradigm (like others) also starts with information gathering.
Ideally user requirements should be translated directly into operational
prototype / system.

Dr. Arshad A. Shahid 22 NU Islamabad


6. For smaller application a direct translation is possible, but still, a
design stage (or design strategy) is required, for all specially large
applications. Otherwise poor quality, poor maintainability, poor
customer acceptance are commonly faced.
7. Product still requires thorough testing & integration.

Merits / demerits
1. Proponents claim dramatic reductions in development time, improved
productivity (for people).
2. Opponents claim that current 4GT’s are not easier to use than PL’s,
and generated application is inefficient, and maintenance of large
systems is not easy.
3. 4GT’s compiled with CASE tools, code generators, offer credible
solution to many SE problems.
4. For large applications (much/more analysis, design and testing
required) and time saving is achieved only because of elimination of
coding.

Dr. Arshad A. Shahid 23 NU Islamabad


Evolutionary/Iterative Models

team #3
team #2
business
modeling

team #1 business data


modeling modeling

process
business modeling

listen modeling data


modeling
to build/revise application
generation

customer mock-up process


testing
&
turnover

data modeling
modeling

?
application
generation

process

?
modeling testing
&
turnover

application
generation
customer
test-drives
testing
mock-up &
turnover

Prototyping 60 - 90 days

RAD

Dr. Arshad A. Shahid 24 NU Islamabad


(5) The Incremental Model
OR Iterative Enhancement Model
1. Solves the problem of 3rd limitation of the waterfall
model.
2. Basic idea: software should be developed in
increments; each increment adding some
functionality until the full system is implemented.
3. At each step, extensions and design modifications can
be made .
4. Applies linear sequences in a staggered fashion as
time progresses.

Dr. Arshad A. Shahid 25 NU Islamabad


increment 1
Analysis Design Code Test delivery of 1st increment

increment 2 analysis design code test delivery of 2nd increment

increment 3 analysis design code test delivery of


3rd increment

increment n analysis design code test

delivery of
nth increment

Dr. Arshad A. Shahid 26 NU Islamabad


Advantages
1. Major advantage: it can result in better testing since testing
each increment is likely to be easier than testing the entire
system.
2. Similar to prototype each increment provides feed back which
is useful for determining further/final requirements of the
system.

3. Μodel proceeds in steps starting from the simple and key


aspects of the system.
4. A project control list is prepared that contains, in order, all the
tasks to be implemented in the final system; provides a better
control and progress monitoring of development.

Dr. Arshad A. Shahid 27 NU Islamabad

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy