You are on page 1of 4

Software Engineering (Questions and Answers-1)

Q1) What is Software Engineering? What is the purpose of Software Engineering?

Ans) Software engineering is an engineering approach for software development. A small


program can be written without using software engineering principles. But if one wants to
develop a large software product, then software engineering principles are necessary to achieve a
good quality software cost effectively.
Without using software engineering principles it would be difficult to develop large programs. In
industry it is usually needed to develop large programs to accommodate multiple functions. A
problem with developing such large commercial programs is that the complexity and difficulty
levels of the programs increase exponentially with their sizes.

Q2) Software Crisis

Ans) Organizations are spending larger and larger portions of their budget on software. Not only
are the software products turning out to be more expensive than hardware, but they also present a
host of other problems to the customers:

• software products are difficult to alter and debug, and add new features;
• use resources non-optimally;
• often fail to meet the user requirements;
• are far from being reliable;
• frequently crash;
• often delivered late.

Reasons of present software crisis:-

• larger problem sizes,


• lack of adequate training in software engineering,
• increasing skill shortage, and
• low productivity improvements.

It is believed that the only satisfactory solution to the present software crisis can possibly come
from a spread of software engineering practices among the engineers.

Q3) Who is a stake holder for a software project?

[Stake holder :-somebody or something with direct interest: a person or group with a direct
interest, involvement, or investment in something, e.g. the employees and customers of a business
concern]

Ans) A stakeholder can be a project team member, an employee of the user


organization, or a senior manager. It can be virtually anyone, as long as that person has
something to do with the project.

The responsibilities of project stakeholders :-

Provide resources (time, money, ...) to the project team

Dolon Mukherjee (Lecturer…George College of Management and Science…Kolkata) 1


Software Engineering (Questions and Answers-1)

Educate developers about their business


Be specific and precise about requirements
Make timely decisions
Promptly communicate changes to requirements

Q4) What are non-functional requirement for a software ?

Ans) Nonfunctional requirements are the characteristics of the system which can not be
expressed as functions - such as the maintainability of the system, portability of the system,
usability of the system, etc.

Nonfunctional requirements may include:

# reliability issues,
# performance issues,
# human - computer interface issues,
# interface with other external systems,
# security and maintainability of the system, etc.

Q5) Who is a Software Engineer? What is his role in software development?

Ans) A software engineer is responsible for the design and implementation of a variety of
software solutions. They might be involved in the design and testing of anything from computers
games and business applications, to operating systems and advanced software for the control of
highly technical hardware and equipment. Once the system had been fully designed software
engineers then test, debug, and maintain the systems.

The work undertaken by software engineers is generally of a highly complex and technical
nature, and involves the application of computer science and mathematics in an environment
which is constantly evolving as a result of technological advances.

Depending on the type of organisation, software engineers can become either systems or
applications specialists.

They increasingly need to have knowledge of a variety of computer programming languages and
applications; this is due to the wide variety of work that they can be involved in.

Q6) What is ISO? What is the need for obtaining ISO 9000 certification or Why
is it important for a software development organization to obtain ISO 9001
certificate?

Ans) ISO (International Standards Organization) - The ISO 9000 standard specifies the guidelines
for maintaining a quality system.

The need for obtaining ISO 9000 certification :-

 Confidence of customers in an organization increases when organization qualifies for


ISO certification.

Dolon Mukherjee (Lecturer…George College of Management and Science…Kolkata) 2


Software Engineering (Questions and Answers-1)

 ISO 9000 requires a well-documented software production process to be in place. A well-


documented software production process contributes to repeatable and higher quality of
the developed software.

 ISO 9000 makes the development process focused, efficient, and cost effective.

 ISO 9000 certification points out the weak points of an organization and recommends
remedial action.

Q7) Salient features of ISO 9001 certification.

Ans) Salient(noticeable) features of ISO 9001 certification are :-

 All documents concerned with the development of a software product should be properly
managed, authorized, and controlled.

 Proper plans should be prepared and then progress against these plans should be
monitored.

 Important documents should be independently checked and reviewed for effectiveness


and correctness.

 The product should be tested against specification.

 Several organizational aspects should be addressed e.g., management reporting of the


quality team.

Q8) SEI CMM

Ans) Software Engineering Institute’ at Carnegie-Mellon University; initiated by the U.S.


Defense Department to help improve software development processes.
Capability Maturity Model, developed by the SEI.

SEI Capability Maturity Model (SEI CMM) helped organizations to improve the
quality of the software they develop. SEI CMM classifies software development industries into
the following five maturity levels:-

CMM Level Focus Key Process Ares


1. Initial Competent people
2. Repeatable Project management Software project planning
Software configuration management
3. Defined Definition of Process definition
processes Training program
Peer reviews
4. Managed Product and process Quantitative process metrics
quality Software quality management
5. Optimizing Continuous process Defect prevention

Dolon Mukherjee (Lecturer…George College of Management and Science…Kolkata) 3


Software Engineering (Questions and Answers-1)

improvement Process change management


Technology change management
Q9) What are Key process areas in CMM?

Ans) Key Process Areas (KPAs) includes the areas an organization should focus to improve its
software process to the next level. Except for SEI CMM level 1, each maturity level is
characterized by several Key Process Areas (KPAs).

Q10) Differentiate between ISO and CMM ?

Ans) The difference between ISO and CMM are as follows :-

 ISO 9000 is awarded by an international standards body. Therefore, ISO 9000


certification can be quoted by an organization in official documents. However, SEI CMM
assessment is purely for internal use.

 SEI CMM was developed specifically for software industry and therefore addresses many
issues which are specific to software industry alone.

 SEI CMM goes beyond quality assurance and prepares an organization to ultimately
achieve Total Quality Management (TQM). In fact, ISO 9001 aims at level 3 of SEI
CMM model.

 SEI CMM model provides a list of key process areas (KPAs) on which an organization at
any maturity level needs to concentrate to take it from one maturity level to the next.
Thus, it provides a way for achieving gradual quality improvement.

Q11) Total Quality Management (TQM) ?

Ans) TQM is a set of management practices throughout the organization, geared to ensure the
organization consistently meets or exceeds customer requirements. TQM places strong focus on
process measurement and controls as means of continuous improvement.

Advantages of Total Quality Management:

1. Improves reputation- faults and problems are spotted and sorted quicker (zero defects)
2. Higher employee morale– workers motivated by extra responsibility, team work and
involvement in decisions of TQM
3. Lower costs – Decrease waste as fewer defective products and no need for separate
4. Quality Control inspectors

****************

Dolon Mukherjee (Lecturer…George College of Management and Science…Kolkata) 4