Professional Documents
Culture Documents
Unit-Iv Two Marks Questions: Software Engineering Dept of IT, SV Colleges
Unit-Iv Two Marks Questions: Software Engineering Dept of IT, SV Colleges
Ans: The person responsible for developing, in conjunction with the Project Sponsor, a definition
of the project. The Project Manager then ensures that the project is delivered on time, to budget
and to the required quality standard (within agreed specifications). He/she ensures the project is
effectively resourced and manages relationships with a wide range of groups (including all
project contributors). The Project Manager is also responsible for managing the work of
consultants, allocating and utilising resources in an efficient manner and maintaining a co-
operative, motivated and successful team.
Managing People
Ans: Project planning is part of project management, which relates to the use of schedules such
as Gantt charts to plan and subsequently report progress within theproject environment. Initially,
the project scope is defined and the appropriate methods for completing the project are
determined.
Ans: A Software Project is the complete procedure of software development from requirement
gathering to testing and maintenance, carried out according to the execution methodologies, in a
specified period of time to achieve intended software product.
Ans: For an effective management accurate estimation of various measures is a must. With
correct estimation managers can manage and control the project more efficiently and effectively.
Ans: Norden studied the staffing patterns of several R & D projects. He found that the staffing
pattern can be approximated by the Rayleigh distribution curve .
E = K/t²d * t * e-t² / 2 t² d
Where E is the effort required at time t. E is an indication of the number of engineers (or the
staffing level) at any particular time during the duration of the project, K is the area under the
curve, and td is the time at which the curve attains its maximum value. It must be remembered
that the results of Norden are applicable to general R & D projects and were not meant to model
the staffing pattern of software development projects.
Ans: Putnam studied the problem of staffing of software projects and found that the software
development has characteristics very similar to other R & D projects studied by Norden and that
the Rayleigh-Norden curve can be used to relate the number of delivered lines of code to the
effort and the time required to develop the project.
By analyzing a large number of army projects, Putnam derived the following expression:
L = Ck K1/3td 4/3
• K is the total effort expended (in PM) in the product development and L is the product size in
KLOC.
• td corresponds to the time of system and integration testing. Therefore, td can be approximately
considered as the time required to develop the software.
Ans: The objective of risk assessment is to rank the risks in terms of their damage causing
potential. For risk assessment, first each risk should be rated in two ways:
p=r*s
Where, p is the priority with which the risk must be handled, r is the probability of the risk
becoming true, and s is the severity of damage caused due to the risk becoming true. If all
identified risks are prioritized, then the most likely and damaging risks can be handled first and
more comprehensive risk abatement procedures can be designed for these risks.
Ans: After all the identified risks of a project are assessed, plans must be made to contain the
most damaging and the most likely risks. Different risks require different containment
procedures. In fact, most risks require ingenuity on the part of the project manager in tackling the
risk.
Avoid the risk: This may take several forms such as discussing with the customer to change the
requirements to reduce the scope of the work, giving incentives to the engineers to avoid the risk
of manpower turnover, etc.
Transfer the risk: This strategy involves getting the risky component developed by a third
party, buying insurance cover, etc.
Risk reduction: This involves planning ways to contain the damage due to a risk. For example,
if there is risk that some key personnel might leave, new recruitment may be planned.
Functionality is assessed by evaluating the feature set and capabilities of the program,
the generality of the functions that are delivered, and the security of the overall system.
Usability is assessed by considering human factors, overall aesthetics, consistency, and
documentation.
Reliability is evaluated by measuring the frequency and severity of failure, the accuracy
of output results, the mean-time-to-failure (MTTF), the ability to recover from failure,
and the predictability of the program.
Performance is measured by considering processing speed, response time, resource
consumption, throughput, and efficiency.
Supportability combines the ability to extend the program (extensibility), adaptability,
serviceability—these three attributes represent a more common term, maintainability—
and in addition, testability, compatibility, configurability the ease with which a system
can be installed, and the ease with which problems can be localized.
4) Patterns
“A pattern is a named nugget of insight which conveys the essence of a proven solution to a
recurring problem within a certain context amidst competing concerns”
The intent of each design pattern is to provide a description that enables a designer to determine
2) Whether the pattern can be reused (hence, saving design time), and
3) Whether the pattern can serve as a guide for developing a similar, but functionally or
structurally different pattern.
5) Separation of Concerns
A concern is a feature or behavior that is specified as part of the requirements model for
the software.
6) Refinement
That is, the statement describes function or information conceptually but provides no
information about the internal workings of the function or the internal structure of the
information.
7) Aspects
8) Refactoring
“Refactoring is the process of changing software system in such a way that it does not
alter the external behavior of the code yet improves its internal structure.”
When software is refactored, the existing design is examined for redundancy, unused
design elements, inefficient or unnecessary algorithms, poorly constructed or inappropriate data
structures, or any other design failure that can be corrected to yield a better design.
9) What Is Architecture?
“The software architecture of a program or computing system is the structure or structures of the
system, which comprise software components, the externally visible properties of those
components, and the relationships among them”
The architecture is not the operational software. Rather, it is a representation that enables you to
The architectural genre will often dictate the specific architectural approach to the
structure that must be built. In the context of architectural design, genre implies a specific
category within the overall software domain. Within each category, you encounter a number of
subcategories.
Grady Booch suggests the following architectural genres for software-based systems
An archetype is a class or pattern that represents a core abstraction that is critical to the
design of architecture for the target system.
Continuing the discussion of the SafeHome home security function, you might define the
following archetypes:
Node: Represents a cohesive collection of input and output elements of the home
security function. For example a node might be comprised of