Tuesday, July 24, 2018
Monday, July 23, 2018
What do you mean by evolutionary process flow ? Explain any one evolutionary process model?
Q. What do you mean by evolutionary process flow ? Explain any one evolutionary process model?
èDiagram:
1.
The evolution model
divides the development cycle into smaller, "Incremental Waterfall
Model" in which users are able to get access to the product at the end of
each cycle.
2.
The users provide
feedback on the product for planning stage of the next cycle and the
development team responds, often by changing the product,plans or process.
3.
These incremental
cycles are typically two or four weeks in duration and continue until the
product is shipped.
1)
These models are more suited
to object oriented systems.
2)
They are iterative in
Process.
3)
They enable the
software developer to develop increasingly more Complex versions of the
software.
4)
Like all Complex
systems, software involve over period of the time and hence evolutionary models
are more suited to software development.
5)
Requirements gets
changed while the software is under development.
·
Advantages of Evolutionary Model:-
1)
Error reduction: As the version is tested with customer which reduces the error
throughlly.
2)
User satisfaction: User gets satisfied and he gets the full chance of
experimenting partially developed system.
3)
Business benefit: Successful use of this model can benefit not only business
result but marketing and the internal operations as well.
4)
High quality: As you should get satisfied with every version, it produces
the high quality product.
5)
Low risk: There is significant reduction of risk as a versions is
implemented. This risk may be associated with
6)
missing schedule
deadline
7)
wrong feature sets
8)
poor quality
9)
Reduction Cost: Some design issues are cheaper to resolve through
experimentation than through analysis. It reduces cost by providing structured
and disciplined avenue for experimentation.
·
Disadvantages of Evolutionary Model:-
1)
Several version
release: Developer has to make table version which
increases their Efforts.
2)
Dividing software: It is difficult to "divide the software and the problems
in several versions that would be acceptable to the customer which can be
implemented and delivered incrementally.
3)
Uncertain nature of
customer needs: A confused user has
uncertainty over his requirements, so giving him several version may change his
requirement Rapidly.
4)
Time And Cost:As this model reduces "Time And Cost" but requirement
is not gathered correctly. It will subsequently time, cost and efforts.
5)
Confusion by several
version: An user might get "confused by several
versions of the software. It will affect on the final product.
State & explain XP practice principles
Q. State & explain XP
practice principles
è Extreme Programming is based on 9 principles:
1.
The planning process
2.
Small releases
3.
Metaphor
4.
Simple design
5.
Testing
6.
Refactoring
7.
Pair programming
8.
Colective ownership
9.
Continuous integration
The Planning Process - The desired features of the software, which
are communicated by the customer, are combined with cost estimates provided by
the programmers to determine what the most important factors of the software
are. This stage is sometimes called the Planning Game.
Small Releases - The software is developed in small stages
that are updated frequently, typically every two weeks.
Metaphor - All members on an XP team use common names
and descriptions to guide development and communicate on common terms.
Simple Design - The software should include only the code
that is necessary to achieve the desired results communicated by the customer
at each stage in the process. The emphasis is not on building for future
versions of the product.
Testing - Testing is done consistently throughout the
process. Programmers design the tests first and then write the software to
fulfill the requirements of the test. The customer also provides acceptance
tests at each stage to ensure the desired results are achieved.
Refactoring - XP programmers improve the design of the
software through every stage of development instead of waiting until the end of
the development and going back to correct flaws.
Pair Programming - All code is written by a pair of programmers
working at the same machine.
Collective Ownership - Every line of code belongs to every
programmer working on the project, so there are no issues of proprietary
authorship to slow the project down. Code is changed when it needs to be
changed without delay.
Continuous Integration
- The XP team
integrates and builds the software system multiple times per day to keep all
the programmers at the same stage of the development process at once.
Explain extreme programming concpt.
Q. Explain extreme programming concpt.
èDiagram:
1) EXtreme Programming (XP) was conceived and developed
to address the specific needs of software development by small teams in the
face of changing requirements.
2) Extreme Programming is one
of the Agile software development methodologies.
3) It provides values and
principles to guide the team behavior. The team is expected to self-organize.
4) Extreme Programming provides
specific core practices where −
• Each practice is simple
and self-complete.
• Combination of practices
produces more complex and emergent behavior
* Why is it called “Extreme?”
Extreme Programming takes the effective principles and practices to extreme levels:
1. Code reviews are effective
as the code is reviewed all the time.
2. Testing is effective as
there is continuous regression and testing.
3. Design is effective as
everybody needs to do refactoring daily.
4. Integration testing is
important as integrate and test several times a day.
5. Short iterations are
effective as the planning game for release planning and iteration planning.
What are the characteristis of the software ?
Q. What are the characteristis of the software ?
è
1.
Functionality:
It refers to the
degree of performance of the software against its intended purpose.
2. Reliability:
It
refers to the ability of the software to provide desired functionality under
the given conditions.
3. Usability:
It
refers to the extent to which the software can be used with ease and simple.
4. Maintainability:
Software
must evolve to meet changing needs.
5. Dependability:
Software
must be trustworthy.
6. Efficiency:
Software
should not make wasteful of system resources.
7. Acceptability:
Software
must accepted by the users for which it was designed.
8. Portability:
It refers to the ease with which
software developers can transfer software from one platform to another, without
changes.
9. Integrity:
It
refers to the degree to which unauthorized access to the software can be
prevented.
10. Robustness:
It refers to the degree to which
the software can keep on functioning in spite of being provide with invalid
data.
Spiral model is a realistic approach to the development of Large-Scale systems and software. Justify and explain the model ?
Q
4.
Spiral model is a realistic approach to the development of Large-Scale
systems and software. Justify and
explain the model ?
è
Diagram:-
1) From
the figure given above, a spiral model is divided into a set of framework activities defined by the software engineering
team.
2) As
this evolutionary process begins, the software team performs activities in a
clockwise direction, beginning at the center.
3) Spiral
model combines development activities with risk management to minimize and
control the risk impact.
4) It
also provides scope for RAD for increasingly complete software.
5) Cost
& schedule are adjusted based on feedback derived from the customer after
delivery.
6) In
addition, the project manager adjusts the planned number of iterations required
to complete the software.
7) This
may be a realistic approach for large scale software development.
8) As
the process progresses both users and developers better understand the system.
Advantages:
1. One is a cyclic approach for
incrementally growing a system‘s degree of definition and implementation while
decreasing its degree of risk.
2. The
set of anchor point milestones for ensuring stakeholder commitment to obtain
feasible and mutually satisfactory system solutions.
Limitations:
1. The system demands risks
identification and monitoring to prevent hurdles.
2. System
can get into infinite iterations.
Explain RAD model and state the drawbacks of it.
Q. Explain RAD model and state the drawbacks of it.
ð
Diagram:-
/////////////////////////////////////////////////////////////diagram
from book
Explanation:-
1) RAD
is modern software process that focus on a short development cycle.
2)
The RAD is “High speed” adaption then of
waterfall model in which rapid development is achieved.
3)
As compared to waterfall model team size
of RAD model is large to function with proper coordination.
4)
If requirement are well understood
and project scope is considered, the RAD process is create a “Fully
functionally system” within a very short period of time (normaly 60 to 90
days).
Drabacks:
1.
RAD
model needs enough human resources to create the required number of RAD teams.
2.
If
developers and customers are not committed to the rapid model, the RAD project
fails.
3.
Rapid-fire
activities need to be completed in very short or small time frame. Time is
the major constraint in RAD.
4.
RAD
has to be modularized in a proper way otherwise creates a lots of confusions
and problems.
5.
In
case of high performance requirement, RAD cannot be ideal model.
6.
Still
if RAD model has to be used then it can be done by making tune between
interface and system components.
Explain about the incremental model
Q. Explain about the incremental model.
ð
Diagram:-
1) Incremental model is also called as iterative enhancement model.
2) In this model the software is built in an incremental fashion.
3) Fig shows the
project is divided into small subsets called as increments and are implemented by
individually.
4) In
this model the product is designed, implemented, integrated and tested as a
series of incremental builds.
5) The incremental model combines elements of the linear sequential model with the iterative philosophy of prototyping,
6) Each
linear sequence produces deliverable increments of the software.
7) The
incremental model is iterative in nature. When an incremental model is used,
the first increments are often a “core product”.
8) Thai
is basic requirements are addressed, but many supplementary features remain
undelivered.
9) Incremental
development is useful when staffing is unavailable for a complete implementation by the business deadline that has been established for the project.
10) Each build consist of code pieces from
various modules interacting to provide a specific functional capability.
·
Example:
Word processing
software developed using the incremental paradigm, might deliver basic file
management
editing and document production in the first increment, more sophisticated editing and document production capabilities in
second increment;
Spelling and grammar checking in
third increment and advanced page layout
capability in fourth increment and at the end the software get’s ready to use.
Subscribe to:
Posts (Atom)
Hello click here
-
Q 4. Spiral model is a realistic approach to the development of Large-Scale systems and software. Justify and explain the...
-
Q 1. What is an Agile Process ? State its principles. ==> ð Exp...