0% found this document useful (0 votes)
106 views6 pages

SE Assignment

The document discusses four different types of software systems and suggests the most appropriate generic software process model to manage their development: 1. An anti-lock braking system would require a plan-driven waterfall model due to its safety-critical nature. 2. A virtual reality maintenance system would be well-suited to an incremental agile process due to changing requirements and extensive user interface. 3. A university accounting system replacing an existing one could utilize a reuse-based approach since requirements are known and it interacts with other systems. 4. An interactive travel planning system would also benefit from an incremental approach to adapt to changing user experiences and requirements over time.

Uploaded by

Ashok Thakrani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views6 pages

SE Assignment

The document discusses four different types of software systems and suggests the most appropriate generic software process model to manage their development: 1. An anti-lock braking system would require a plan-driven waterfall model due to its safety-critical nature. 2. A virtual reality maintenance system would be well-suited to an incremental agile process due to changing requirements and extensive user interface. 3. A university accounting system replacing an existing one could utilize a reuse-based approach since requirements are known and it interacts with other systems. 4. An interactive travel planning system would also benefit from an incremental approach to adapt to changing user experiences and requirements over time.

Uploaded by

Ashok Thakrani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Q1.

Giving reasons for your answer based on the type of system being
developed,
suggest the most appropriate generic software process model that
might be used as a
basis for managing the development of the following systems:

A system to control anti-lock braking in a car

A virtual reality system to support software maintenance

A university accounting system that replaces an existing system

An interactive travel planning system that helps users plan journeys with the
lowest
environmental impact

Ans=================================================================

a)      Anti-lock braking system  This is a safety-critical system so requires a lot


of up-front analysis before implementation. It certainly needs a plan-driven
approach to development with the requirements carefully analysed. A
waterfall model is therefore the most appropriate approach to use, perhaps
with formal transformations between the different development stages.
 
b)      Virtual reality system  This is a system where the requirements will
change and there will be an extensive user interface components.
Incremental development with, perhaps, some UI prototyping is the most
appropriate model. An agile process may be used.
 
c)      University accounting system   This is a system whose requirements are
fairly well-known and which will be used in an environment in
conjunction with lots of other systems such as a research grant
management system. Therefore, a reuse-based approach is likely to be
appropriate for this.
 
d)      Interactive travel planning system  System with a complex user interface
but which must be stable and reliable. An incremental development
approach is the most appropriate as the system requirements will change as
real user experience with the system is gained.

Q2.
Describe RUP process model

Stands for "Rational Unified Process." RUP is a software development


process from Rational, a division of IBM. It divides the development
process into four distinct phases that each involve business modeling,
analysis and design, implementation, testing, and deployment. The four
phases are:
1. Inception - The idea for the project is stated. The development team
determines if the project is worth pursuing and what resources will be
needed.
2. Elaboration - The project's architecture and required resources are
further evaluated. Developers consider possible applications of the
software and costs associated with the development.
3. Construction - The project is developed and completed. The
software is designed, written, and tested.
4. Transition - The software is released to the public. Final adjustments
or updates are made based on feedback from end users.
The RUP development methodology provides a structured way for
companies to envision create software programs. Since it provides a specific
plan for each step of the development process, it helps prevent resources
from being wasted and reduces unexpected development costs.

3. Explain why incremental development is the most effective approach for


developing businesssoftware systems. Why is this model less appropriate for real-
time systems?Answer:Incremental model is the most effective model in designing a
software system. Below are the reasonsjustifying it.➢The software system will be
delivered quickly to the user.➢The cost for each iteration is very less.➢The testing
efforts for each iteration will be less because only few additional functions need to
beadded in each iteration.➢The final product produced will be perfect without any
defects or issues since we get feedback ofthe customer during each iteration and
developers will resolve these defects/issues.➢This model allows user to
modify/change the requirements according to his convenience at anyphase of
iteration.This model is less appropriate to the real-time systems. The following are
the reasons justifying it.•The overall cost will be more compared to the waterfall
model.•Same resources may not be available for the next iterations. Hence, new
resources should betrained again for working on the application.•Concerns
regarding the system architecture may arise as all the requirements are not
gatheredfor the software lifecycle at the initial phase.

  Explain why incremental development is the most effective approach for developing
business software systems. Why is this model less appropriate for real-time
systems engineering?
 
Business software systems usually complex, software intensive, and frequently
being changes when business goals or processes are changed. So incremental
development is better.
Real-time systems usually involve many hardware components which are not
easy to change and cannot be incremental. Also real-time systems usually
safety critical which needed be built based on well planned process.

2.2. Explain why incremental development is the most effective approach for
developing business software systems.

First, incremental development allow early access to the most


valuable functionality. Early access not only gains value early, but
also gives the most important component of the system the most
testing.

Second, incremental development can handle requirement changes


well, which is necessary for business software systems whose
requirements have to change when the business changes.
Incremental development reduces rework on analysis and
documentation when change happens.

Third, incremental development don’t need a complete


specification in advance. This is important to business software
because the detailed requirement may not be spotted until part of
the functionalities are implemented.

Boehm’s spiral model of the


software process
Barry Boehm (Boehm, 1988) proposed a risk-driven
software process framework (the spiral model) that
integrates risk management and incremental
development. The software process is represented as a
spiral  rather than a sequence of activities with some
backtracking from one activity to another. Each loop in
the spiral represents a phase of the software process.
Thus, the innermost loop might be concerned with
system feasibility, the next loop with requirements
definition, the next loop with system design and so on.
The spiral model combines change avoidance with
change tolerance. It assumes that changes are a result of
project risks and includes explicit risk management
activities to reduce these risks.
Each loop in the spiral is split into four sectors:

1. Objective setting Specific objectives for that phase of


the project are defined. Constraints on the process and
the product are identified and a detailed management
plan is drawn up. Project risks are identified. Alternative
strategies, depending on these risks, may be planned.
2. Risk assessment and reduction For each of the identified
project risks, a detailed analysis is carried out. Steps are
taken to reduce the risk. For example, if there is a risk
that the requirements are inappropriate, a prototype
system may be developed.
3. Development and validation After risk evaluation, a
development model for the system is chosen. For
example, throw-away prototyping may be the best
development approach if user interface risks are
dominant. If safety risks are the main consideration,
development based on formal transformations may be
the most appropriate process, and so on. If the main
identified risk is sub-system integration, the waterfall
model may be the best development model to use.
4. Planning The project is reviewed and a decision made
whether to continue with a further loop of the spiral. If it
is decided to continue, plans are drawn up for the next
phase of the project.
The main difference between the spiral model and other
software process models is its explicit recognition of
risk. A cycle of the spiral begins by elaborating
objectives such as performance and functionality.
Alternative ways of achieving these objectives, and
dealing with the constraints on each of them are then
enumerated. Each alternative is assessed against each
objective and sources of project risk are identified. The
next step is to resolve these risks by information-
gathering activities such as more detailed analysis,
prototyping and simulation.

Once risks have been assessed, some development is


carried out, followed by a planning activity for the next
phase of the process. Informally, risk simply means
something that can go wrong. For example, if the
intention is to use a new programming language, a risk
is that the available compilers are unreliable or do not
produce sufficiently efficient object code. Risks lead to
proposed software changes and project problems such as
schedule and cost overrun, so risk minimization is a
very important project management activity. Risk
management, an essential part of project management, is
covered in Chapter 22.
2.3 Consider the reuse-based process model shown in Figure 2.3. Explain why it is essential
to have two separate requirements engineering activities in the process. Ina reuse based
process, you need two requirements engineering activities because it is essential to adapt
the system requirements according to the capabilities of the system/components to be
reused. These activities are: 1. An initial activity where you understand the function of the
system and set out broad requirements for what the system should do. These should be
expressed in sufficient detail that you can use them as a basis for deciding of a
system/component satisfies some of the requirements and so can be reused. 2. Once
systems/components have been selected, you need a more detailed requirements
engineering activity to check that the features of the reused software meet the business
needs and to identify changes and additions that are required

You might also like