Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
88 views4 pages

Software Process Models Guide

The document is a software engineering assignment that contains 5 questions about software processes and design. It discusses: 1) The most appropriate software process models for different types of systems like an anti-lock braking system or a virtual reality system. 2) The importance of distinguishing between user and system requirements. 3) Why change is inevitable in complex systems and examples of activities like design modeling that help make software more resilient to change. 4) The advantages of providing both static and dynamic views of a software process model. 5) The main activities in software design like architectural design, interface design, and database design and possible relationships between their outputs.
Copyright
© © All Rights Reserved
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)
88 views4 pages

Software Process Models Guide

The document is a software engineering assignment that contains 5 questions about software processes and design. It discusses: 1) The most appropriate software process models for different types of systems like an anti-lock braking system or a virtual reality system. 2) The importance of distinguishing between user and system requirements. 3) Why change is inevitable in complex systems and examples of activities like design modeling that help make software more resilient to change. 4) The advantages of providing both static and dynamic views of a software process model. 5) The main activities in software design like architectural design, interface design, and database design and possible relationships between their outputs.
Copyright
© © All Rights Reserved
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/ 4

Alexandria University CS4E1: Software Engineering

Faculty of Engineering Spring 2018


Computer and Systems Engineering Dept. Sheet 3
Fourth Year Assigned: 6th March 2018
Due: 10th March 2018

Sheet 3
Software Processes
1- 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) A system to control anti-lock braking in a car.


Anti-lock braking system. This is a safety-critical system so requires a lot of upfront
analysis before implementation. It certainly needs a plan-driven approach to
development with the requirements carefully analyzed. A waterfall model is
therefore the most appropriate approach to use, perhaps with formal
transformations between the different development stages.

(b) A virtual reality system to support software maintenance.


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) A university accounting system that replaces an existing system.


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) An interactive travel planning system that helps users plan journeys with the lowest
environmental impact.
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.

Prof. Dr. Noha Adly Eng. Mai Ibrahim


1
2- Suggest why it is important to make a distinction between developing the user
requirements and developing system requirements in the requirements engineering
process.
There is a fundamental difference between the user and the system requirements that
mean they should be considered separately:
 The user requirements are intended to describe the systems functions and
features from a user perspective and it is essential that users understand these
requirements. They should be expressed in natural language and may not be
expressed in great detail, to allow some implementation flexibility. The people
involved in the process must be able to understand the users’ environment and
application domain.
 The system requirements are much more detailed than the user requirements
and are intended to be a precise specification of the system that may be part of
a system contract. They may also be used in situations where development is
outsourced and the development team need a complete specification of what
should be developed. The system requirements are developed after user
requirements have been established.

3- Explain why change is inevitable in complex systems and give examples (apart from
prototyping and incremental delivery) of software process activities that help predict
changes and make the software being developed more resilient to change.
Systems must change because as they are installed in an environment where, the
environment adapts to them and this adaptation naturally generates new/different
system requirements.
Furthermore, the system’s environment is dynamic and constantly generates new
requirements as a consequence of changes to the business, business goals and
business policies.
Unless the system is adapted to reflect these requirements, its facilities will become
out-of-step with the facilities needed to support the business and, hence, it will
become less useful.
Examples of process activities that support change are:
 Design modeling where the design model documents the structure of the
software.
 Code refactoring that improves code quality and so makes it more amenable to
change.

Prof. Dr. Noha Adly Eng. Mai Ibrahim


2
4- What are the advantages of providing static and dynamic views of the software process as
in the Rational Unified Process?
An approach to process modeling which is simply based on static activities, such as
requirements, implementation, etc. forces these activities to be set out in a sequence
which may not reflect the actual way that these are enacted in any one organization.
In most cases, the static activities are actually interleaved so a sequential process
model does not accurately describe the process used.
By separating these from the dynamic perspective i.e. the phases of development, you
can then discuss how each of these static activities may be used at each phase of the
process.

5- Describe the main activities in the software design process and the outputs of these
activities. Using a diagram, show possible relationships between the outputs of these
activities.

The activities in the design process vary, depending on the type of system being
developed. The activities that may be part of the design process for information
systems include:
 Architectural design, where you identify the overall structure of the system,
the principal components (sometimes called sub-systems or modules), their
relationships, and how they are distributed.
 Interface design, where you define the interfaces between system
components. This interface specification must be unambiguous. With a
precise interface, a component can be used without other components
Prof. Dr. Noha Adly Eng. Mai Ibrahim
3
having to know how it is implemented. Once interface specifications are
agreed, the components can be designed and developed concurrently.
 Component design, where you take each system component and design how
it will operate. This may be a simple statement of the expected functionality
to be implemented, with the specific design left to the programmer.
Alternatively, it may be a list of changes to be made to a reusable component
or a detailed design model. The design model may be used to automatically
generate an implementation.
 Database design, where you design the system data structures and how
these are to be represented in a database. Again, the work here depends on
whether an existing database is to be reused or a new database is to be
created.

Prof. Dr. Noha Adly Eng. Mai Ibrahim


4

You might also like