You are on page 1of 1

1.

Explain these essential attributes of good software


a. Maintainability:
Software should be written in such a way so that it can evolve to meet the changing needs of
customers. This is a critical attribute because software change is an inevitable requirement of a
changing business environment.
b.

Dependability and security:

Software dependability includes a range of characteristics including reliability, security, and safety. Dependable
software should not cause physical or economic damage in the event of system failure. Malicious users should not
be able to access or damage the system.
c. Effiency
Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency
therefore includes responsiveness, processing time, memory utilization, etc.
d. Acceptability
Software must be acceptable to the type of users for which it is designed. This means that it must be
understandable, usable, and compatible with other systems that they use.
2.

What is the most important difference between generic software product development and custom
software development?

In generic software product development, the specification is owned by the product developer.
For custom product development, the specification is owned and controlled by the customer.
3.

Explain what activities are carried out in the following phases ( a generalization of different models in use).

a. Requirements phase
The process of establishing the services that the customer requires from a system and the constraints under which
it operates and is developed.
The requirements themselves are the descriptions of the system services and constraints that are generated during
the requirements engineering process.
b. Analysis (specification) phase
Requirements elicitation and analysis is an iterative process that can be represented as a spiral of activities
requirements discovery, requirements classification and organization, requirements negotiation and requirements
documentation
c. Design phase
Software design is a creative activity in which you identify software components and their relationships, based on a
customers requirements.
d. Implementation phase
Implementation is the process of realizing the design as a program.
e.

Post-delivery maintenance

4.

a.

The waterfall model, sometimes called the classic life cycle, suggests a
systematic,sequential approach6 to software development that begins with customer
specificationof requirements and progresses through planning, modeling, construction,
anddeployment, culminating in ongoing support of the completed software

You might also like