You are on page 1of 3

1. Define what is software process?

What are the


generic activities of software process?

software process:  is the set of activities and associated outcome


that produce a software product

These are four key process activities


1. Software specifications: The functionality of the software and constraints on its
operation must be defined.
2. Software development: The software to meet the requirement must be
produced.
3. Software validation: The software must be validated to ensure that it does
what the customer wants.
4. Software evolution: The software must evolve to meet changing client needs.

What is the waterfall process model? What are the problems of


waterfall model? When should we use it? When not to use it

waterfall process model : was first Process Model to be introduced. It is also


referred to as a linear-sequential life cycle model.  It is very simple to understand
and use.  In a waterfall model, each phase must be completed fully before the next
phase can begin
The problems of waterfall model
 Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-thought out in the concept stage.
 No working software is produced until late during the life cycle.
 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.
 Not suitable for the projects where requirements are at a moderate to high risk of
changing.

When to use the waterfall model


 This model is used only when the requirements are very well known, clear and
fixed.
 Product definition is stable.
 Technology is understood.
 There are no ambiguous requirements
 Ample resources with required expertise are available freely
 The project is short.

When not to use it


when the requirements are not well-understood

What is the Component-based software engineering? Give an


example where component based software engineering is/should
be used.

Component Based Software Engineering (CBSE): is a process that focuses


on the design and development of computer-based systems with the use of reusable
software components.
Examples of Component Based Approach:
To start with, let us give an example of simple stereo systems which consists of woofer,
sub-woofer, sound box etc. if someone wants to build the stereo systems by assembling
the off the shelf components like sound box etc then he might be experiencing some
advantage than those who build the system from the basic circuit. In-fact, now a day, all
the simple and complicated systems are built using the component approach where
some components are already developed by some developer and they are stored in the
library for their re-use. The main concept is that those off the shelf components need not
be changed for their respective purposes. If we want modify some of the components to
fit according to their applicability, we need to rebuild it and store them in the library.
Example of some complex system, where each components itself can be viewed as a
system, is Naval Combat system. The system consists of some radar for detection,
Helicopter, submarine, Rocket Launcher, some fighter plane etc. Each component here is
some big systems and association is also very complicated in such cases

You might also like