You are on page 1of 4

Week no.

1
Question.1: Explain software engineering.
What are the features or characteristics of good engineered software? Discuss
some of the Activities involved during software development.

Answer: Software engineering is a combination of software development processes and tools

To develop software.
“Software engineering is a combination of all the tools, techniques and processes that
used in the development of software.”
The biggest challenge for a software engineer is to develop software in a cost-effective
manner and with good quality and limited time and budget.
Therefore, well-engineered software has the following features.
 Provides the required functionality
 Maintainable
 Reliable
 Efficient
 User friendly
 Cost effective

Software Development
Construction activities are those that are directly related to software development,
e.g. assembling software requirements, designing, implementing and testing software,
etc.
Some of the major construction activities are listed below.
Question.2: What are the key components of a software engineering
Framework? Explain the steps Software development loop.
Answer: The major components of this framework are described below.

 Quality Focus: As we said before, the given framework is based on organizational


commitment to quality.
 Process: Prices are set of key process areas (KPAs) for efficient management and delivery of
quality software effectively.
 Methods: Methods provide technical expertise to "technical methods" to perform
these tasks.
 Tools: Tools provide automatic or semi-automated support for software processes, methods
and quality control.

Software development loop:


 Problem Definition:
At this stage we decide what is the problem against which we are going to develop the software.
Here we try to fully understand the issues and needs for software system configuration.
 Technical development:
At this stage we try to find a solution to the problem on a technical basis and implement it on
our own. This is the stage where a new system is actually developed that solves the problem
described in the first stage.
 Solution Integration:
If there are already developed systems with which our new system has to interact, then
that system should also be part of our new system. All of these existing systems (languages) are
integrated into our new system at our stage.
 Status Quo:
After successfully passing the previous three steps, when we actually deploy
the new system to the user site then this situation is called status .

Software Process 
A software process is a road map that helps you create a timely, high quality result. It is the
way we produce software and it provides stability and control. Each process defines certain
deliverables known as the work products. These include programs, documents, and data produced as
a consequence of the software engineering activities.

 Process Maturity and CMM The


Software Engineering Institute (SEI) has developed a framework to judge the process maturity level
of an organization. This framework is known as the Capability Maturity Model (CMM). This
framework has 5 different levels and an organization is placed into one of these 5 levels. The
following figure shows the CMM framework. 

These levels are briefly described as follows” 

1.  Level 1 – Initial: The software process is characterized as ad hoc and occasionally even
chaotic. Few processes are defined, and success depends upon individual effort. By default
every organization would be at level 1.
2. Level 2 – Repeatable: Basic project management processes are established to track cost,
schedule, and functionality. The necessary project discipline is in place to repeat earlier
successes on projects with similar applications.
3. Level 3 – Defined: The software process for both management and engineering activities is
documented, standardized, and integrated into an organizational software process. All
projects use a documented and approved version of the organization’s process for
developing and supporting software.
4. Level 4 – Managed: Detailed measures for software process and product quality are
controlled. Both the software process and products are quantitatively understood and
controlled using detailed measures.
5. 5. Level 5 – Optimizing: Continuous process improvement is enabled by qualitative feedback
from the process and from testing innovative ideas and technologies.

SEI has associated key process areas with each maturity level. The KPAs describe those software
engineering functions that must be present to satisfy good practice at a particular level. Each KPA is
described by identifying the following characteristics: 

1.  Goals: the overall objectives that the KPA must achieve.


2. Commitments: requirements imposed on the organization that must be met to achieve the
goals or provide proof of intent to comply with the goals.
3. Abilities: those things that must be in place – organizationally and technically – to enable the
organization to meet the commitments..
4. Activities: the specific tasks required to achieve the KPA function

You might also like