Professional Documents
Culture Documents
Software Engineering
Set I
Question 1: What is software? What are the applications of software?
Applications of Software:
The application of software is based on the nature of instructions in a particular
area. If the set of instructions are structured well it is appropriate to develop
software for such application. Development becomes easy and convenient
depending on the degree of structure. Higher the degree better it is to develop
the software for such applications. Information content and determinacy play an
important role in determining the nature of a software application. Content
means the form of incoming and outgoing information.
Personal Software – The personal computer software like the word processing,
spreadsheets, computer graphics, multimedia, entertainment, database
management, personal and business financial applications, external network,
and database access are some of the applications.
Web-Based Software – The web pages are a software application page that
incorporates executable instructions performing one or more tasks.
Artificial Intelligence Software – it uses non-numerical algorithms to solve
complex problems. Expert systems, also called knowledge based systems,
pattern recognition, artificial neural networks, and game playing are
representative of applications within this category.
3. Software Equation:
Based on the productivity data collected for over thousands of
contemporary software projects, an estimation model may be considered
in the form of a software equation as given below:
Where
EPM = effort in person months
L = number of lines of code
Sk = factor of special skills
PP – parameter of productivity
d - duration
4. A decision tree
A decision tree is helpful in analyzing a software problem which has
multiple decision stages. Each stage is represented by a node (rectangle).
The multiple options available at this node are represented as branches of
this node in the form of straight lines. Each branch of the tree represents
alternatives and it may further lead to some probable events/outcomes.
Each such event is associated with a probability value and some cost (-
utile) or gain (+ utile). A utile is a monetary value. Nodes which represent
probable outcomes are known as chance nodes and are represented by
circles. A connection of such nodes and branches constitute a decision
tree. Problems associated with risks can be well represented by a decision
tree.
P-1
Str-3
A
Str-1
P-2
2
1
Str-2 B
Str-4
In the process of development and delivery of the software it is found that most
of the time the delivery of the finished product is delayed. There are many
reasons that could be attributed to the delayed delivery of the product. Some of
the reasons which lead to the delay of the project are listed as follows:
Very often the requirements are not clearly stated by the customer and
this leads to further changes in the developments which on the whole
causes a delay in the project completion.
Setting up of deadlines which are unrealistic based on the inputs from
agencies outside the software development group.
Improper or underestimated amount of the effort and the number of the
resources required to do the job.
Inaccurate tools to monitor and track the project progress.
Certain risks that were not considered during the planning process leading
to development of bottlenecks in the project.
Also there could be one or more problems related to the technicalities in
the project.
Improper communication system within and outside the development area
of the software.