Vous êtes sur la page 1sur 3

Q-1 List the advantages of object oriented software development and explain.

Q-2 Explain the process of software development.


A software development process or a life cycle is a disciplined approach to
develop a software product. There are various models that explain the
activities or tasks that happen during the process.
The software development process can be categorized into a number of subprocesses. Each sub-process needs to have the following information: A
description about how the software works Specification of the input
needed for the process Specification of the output to be generated
The software development process can also be looked upon as a series of
transformations where the output of a particular phase becomes the input for
the next phase as shown in figure 3.1.
We can explain the series of transformations that takes place in three
different phases:
1) Analysis In this phase, the system analyst collects the details of the
problem, interacts with the user of the system to find out the user
requirements and analyzes the system to understand the functioning. Based
on this study, the analyst prepares a model of the desired system. This model
is purely based upon what the system is expected to do. At this stage the
implementation details are not considered. Only the model of the system is
prepared based on the idea that the system is made up of a set of
communicating objects. Importance is given to the main building blocks of
the system.
2) Design This phase begins with the problem statement and concludes
with a detailed design that can be converted into a functional system. This
conversion covers the details of software development, description of how
the software is built, description of the software development and also the
testing phase.
3) Execution During this phase, the class objects and the inter- relationships
of these classes are translated and actually coded using the programming
language decided upon. The databases are constructed and the complete
system is given a functional shape with adequate testing.
Execution phase has to consider how the system reacts to the program which
is written for the system to work.
One of the models used for the software development process is the water
fall approach which begins with requirements collection. Once the
requirements have been decided, we must decide as to how we can achieve
them. The waterfall approach is illustrated in figure 3.2.
In real world scenarios, problems are not well specified. This is one of the
limitations of the waterfall approach. The waterfall model assumes that the
requirements are well known before the design phase commences. But we
need to understand that one needs to work with the product before the
requirements are fully analyzed. It also makes an assumption that the
requirements would continue to be stagnant during the development cycle.

Finally, even though the clear specification is there, it makes an assumption


that the design knowledge would be available to develop the product.
The waterfall model is suitable for a well known product. Generally the
approach is suitable for large projects.
The advantages of the water fall approach are: It is easier to explain.
The stages and activities are well specified. It helps to plan and schedule
the project. It includes verification at each stage which ensures early
detection of errors or assumptions.
There are also certain limitations associated with this approach. The waterfall
model assumes that the requirements of a system can be frozen before the
design commences. This is possible for systems which are designed to
automate an existing manual system. But for a newly conceived system,
establishing the requirement is difficult, as the user does not know the
requirements. Therefore, changing only a few requirements is unrealistic for
such a system.
The waterfall model demands that the requirements be completely specified
before the rest of the development can proceed. In some situations it might
be advisable to first develop a part of the system completely, and later
enhance the system in phases.
3.2.1 Implementation, testing and documenting In the implementation phase,
the designs are translated into code. Computer programs are written using
conventional programming techniques or an application generator.
Programming tools such as compilers, interpreters, and debuggers are used
for generating the code. Different high level programming languages like C,
C++, .NET and Java are used for coding. We choose the programming
language according to the type of application.
The testing phase employs quality control measures. Its basic function is to
detect errors in the software built. The output of the requirement analysis and
design phases is a document that is usually textual and non-executable. After
the coding phase, computer programs are available that can be executed for
testing phases. This implies that testing not only has to uncover errors that
occur during coding, but also the errors of the previous phases. Thus, the
goal of testing is to uncover requirement, design and coding errors.
After the testing phase, it is important to document the system developed.
Since documentation involves writing procedures, people who are specialized
in this field develop these documents. The documents contain all the details
about the system being built, and the entire process that it goes through
before it becomes operational.
3.2.2 Deployment and maintenance Deployment is nothing but a combination
of all the activities that make a system work. Deployment is always
considered from the clients view as well as the end-users view after the
system has been delivered. After the system has been delivered, deployment
of the system will play a major role in making the system functional. The end
users will have to test the system and check whether it has been built

according to their needs.


Maintenance phase consists of all the activities that are performed to keep
the system operational after the installation of software. Removing errors is
one of the tasks involved in maintenance. Maintenance is also needed due to
changes in the requirements of the system. The introduction of a software
system affects the work environment. This change in environment often
changes what is required from the system. Furthermore, often after the
system is installed, and the users have had an opportunity to work with it for
some time, they come up with requirements that were not identified during
requirement analysis phase. This occurs since the experience with the
software helps the user to specify the needs more precisely. There might also
be changes in the input data, the system environment and output formats. All
these require modification of the software.
Q-3 List and explain the four phases of the object modeling technique.
Q-4 Explain the different states of activity diagram.
Q-5 List and explain the basic categories of program errors.
Q-6 What are the rules for developing usability testing?

Vous aimerez peut-être aussi