17 Schema r14
17 Schema r14
It is an Evolutionary process model that couples the iterative nature of prototyping and waterfall model.
Using the Spiral model, software is developed in a series of evolutionary releases. During early iterations,
the release might be a paper model or prototype, during later iterations, more complete versions of
models are produced. A spiral model is divided into set of framework activities. Risk is considered as each
revolution is made. Each pass through the planning region results in the adjustment of project plan, cost
and schedule.
Advantages of Spiral model:
High amount of risk analysis hence, avoidance of Risk is enhanced.
Good for large and mission-critical projects.
Strong approval and documentation control.
Additional Functionality can be added at a later date.
Software is produced early in the software life cycle
Disadvantages of Spiral model:
Can be a costly model to use.
Risk analysis requires highly specific expertise.
Project’s success is highly dependent on the risk analysis phase.
Doesn’t work well for smaller projects.
When to use Spiral model:
When costs and risk evaluation is important
For medium to high-risk projects
Long-term project commitment unwise because of potential changes to economic priorities
Users are unsure of their needs
Requirements are complex.
2.b. Discuss about concurrent engineering framework activities (6M)
The concurrent development model, sometimes called concurrent engineering, can be represented
schematically as a series of framework activities, Software engineering actions of tasks, and their
associated states. The concurrent model is often more appropriate for system engineering projects where
different engineering teams are involved.
Figure above provides a schematic representation of one Software engineering task within the modeling
activity for the concurrent process model. The activity – modeling may be in any one of the states noted
at any given time. All activities exist concurrently but reside in different states. For example, early in the
project the communication activity has completed its first iteration and exists in the awaiting changes
state. The modeling activity which existed in none state while initial communication was completed now
makes a transition into underdevelopment state. If, however, the customer indicates the changes in
requirements must be made, the modeling activity moves from the under development state into the
awaiting changes state. The concurrent process model defines a series of events that will trigger
transitions from state to state for each of the Software engineering activities, actions, or tasks.
3.a)Explain different phases of unified process. (4M)
Unified process model is a use-case driven, architecture-centric, iterative and incremental software
process closely aligned with the Unified Modeling Language (UML).
Phases of unified process:
The figure below depicts the phases of the UP and relates them to the generic activities.
The Inception phase of the UP encompasses both customer communication and planning activities.
By collaborating with the customer and end-users, business requirements for the software are identified,
a rough architecture for the system is proposed, and a plan for the iterative, incremental nature of the
ensuing project is developed.
E la b o r a t io n
In c e p t io n
c o n s t r u c t io n
Relea s e
t r a n s it io n
s o f t w a r e in c r e m e n t
p r o d u c t io n
A use-case describes a sequence of actions that are performed by an actor (person, machine, another
system) as the actor interacts with the Software.
The elaboration phase encompasses the customer communication and modeling activities of the generic
process model. Elaboration refines and expands the preliminary use-cases that were developed as part of
the inception phase and expands the architectural representation to include five different views of the
software - the use-case model, the analysis model, the design model, the implementation model, and the
deployment model.
The construction phase of the UP is identical to the construction activity defined for the generic software
process.Using the architectural model as input, the construction phase develops or acquires the software
components that will make each use-case operational for end-users.
The transition phase of the UP encompasses the latter stages of the generic construction activity and the
first part of the generic deployment activity.
Software is given to end-users for beta testing, and user feedback reports both defects and necessary
changes.
At the conclusion of the transition phase, the software increment becomes a usable software release
“user manuals, trouble-shooting guides, and installation procedures.)
The production phase of the UP coincides with the development activity of the generic process.
b)Explain Scrum process flow with neat diagram. (8M)
Scrum—distinguishing features
Development work is partitioned into “packets”
Testing and documentation are on-going as the product is constructed
Work occurs in “sprints” and is derived from a “backlog” of existing requirements
Meetings are very short and sometimes conducted without chairs
Demo’s are delivered to the customer with the time-box allocated
UNIT-II
4. What is planning? Explain different planning practices. (12M)
PLANNING: The planning activity encompasses a set of management and technical practices that
enable the software team to define a road map as it travels towards its strategic goal and technical
objectives.
Principle #1: Understand the scope of the project. It’s impossible to use a road map if you don’t know
where you’re going. Scope provides the software.
Principle #2: Involve the customer in planning activity. The customer defines priorities and
establishes the project constraints.
Principle #3: Recognize that planning is iterative. As work begins, it is very likely that things will
change. As a consequence, the plan must be adjusted to accommodate these changes. In addition,
iterative and incremental process models dictate re-planning based on feedback received from users.
Principle #4: Estimate based on what you know. The intent of estimation is to provide an indication of
effort, cost, and task duration, based on the team’s current understanding of the work to be done.
Principle #5: Consider risk as you define the plan. If the team has defined risks that have high impact
and high probability, contingency planning is necessary.
Principle #6: Be realistic. People don’t work 100 percent every day. Noise always enters into any
human communication. Omission and ambiguity are facts of life. Change will occur. Even the best
software engineers make mistakes. These and other realities should be considered as a project plan is
established.
Principle #7: Adjust granularity as you define the plan. Granularity refers to the level of detail that is
introduced as a project plan is developed. A “fine granularity” plan provides significant work detail that
is planned over relatively short time increments.
Principle #8: Define how you intend to ensure quality. The plan should identify how the software
team intends to ensure quality. If formal technical reviews are to be conducted, they should be
scheduled.
Principle #9: Describe how you intend to accommodate change. Even the best planning can be
obviated by uncontrolled change. The software team should identify how changes are to be
accommodated as software engineering work proceeds.
Principle #10: Track the plan frequently and make adjustments are required. Software project falls
behind schedule one day at a time. Therefore, it makes sense to track progress on a daily basis, looking
for a problem areas and situation in which scheduled work does not confirm to actual work conducted.
When slippage is encountered, the plan is adjusted accordingly.
5.a)How analysis model act as a bridge between system description and design model. (6M)
DFD rules
Each process should have at least one input and an output.Each data store should have at least one
data flow in and one data flow out.Data stored in a system must go through a process.All processes in
a DFD go to another process or a data store.All icons must be labeled with meaningful names.The dfd
evolves through a number of levels of detailAlways begin with a context level diagram (also called
level 0).Always show external entities at level 0.Always label data flow arrows.Do not represent
procedural logic.Review the data model to isolate data objects and use a grammatical parse to
determine “operations”.Determine external entities (producers and consumers of data).Create a level
0 dfd.Write a narrative describing the transform.Parse to determine next level transforms.Balance the
flow to maintain data flow continuity
Develop a level 1 dfd.Use a 1:5 (approx.) Expansion ratio.Each bubble is refined until it does just one
thingThe expansion ratio decreases as the number of levels increase.Most systems require between 3
and 7 levels for an adequate flow model.A single data flow item (arrow) may be expanded as levels
increase (data dictionary provides information)
UNIT-III
6.a)Explain different conventional components for design. (6M)
i. Graphical (e.g. Flowchart, box diagram)
It uses a limited set of logical constructs
i)Sequence ii)Selection iii)Repetation.
It can be used in conjunction with ‘proof of correctness’.
It leads to more readable, testable code
ii. Decision table
Decision tables translates actions and conditions into a tabular form.A decision table is used when a
complex set of conditions and actions are encountered within a component.Decision table is divided
into four quadrants. Upper left quadrant lists all conditions. Lower left quadrant lists all actions. Right
hand quadrants form a matrix indicating condition combinations and corresponding actions
iii. Pseudo code (e.g., PDL)
It is easy to combine with source code.It is machine readable.Graphics can be generated from PDL.It is
easier to maintain.
iv. Conduct walkthrough to assess quality.