0% found this document useful (0 votes)
36 views8 pages

Lecture No1-18 (Selfmade Handouts

Uploaded by

emanmirza019
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views8 pages

Lecture No1-18 (Selfmade Handouts

Uploaded by

emanmirza019
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Lecture No.

01

What is Software?

Engineering:

“The process of productive use of scientific knowledge is called engineering

Why is it important?

-making

nd engineering problem solving

Games

Software Engineering as defined by IEEE (International institute of Electric and Electronic Engineering)

“All aspects of software production’ Software engineering is not just concerned with the technical
processes of software development but also with activities such as software project management and
with the development of tools, methods and theories to support software production”.

Software Engineering:

Software Engineering is the set of processes and tools to develop software

Software Engineering encompasses:


Well-Engineered Software

-interface

-effective

well-engineered software has the following characteristics.

-friendly

-effective

The Balancing Act!

It may be the case that if you try to make it more user-friendly then the efficiency may

suffer. And if you try to make it more cost-effective then reliability may suffer. Therefore

there may be tension among the following:

-interface

Law of diminishing returns

It is a phenomenon that occurs when more and more units of a changing input are to be used.

e.g if we keep adding sugar it will no longer dissolve in it


Software Background

Caper Jones:

1. practitioner and researcher in the filed of Software Engineering

2. divided software related activities into about 25 different categories

3. They have analyzed around 10000 software projects to come up with such categorization

nine of them that are listed below:

 Project Management

 Requirement Engineering

 Design

 Coding

 Testing

 Software Quality Assurance

 Software Configuration Management

 Software Integration and

 Rest of the activities

Pov: coding is very important but it is not more than 13-14% of the whole effort of software
development.

Fred Brook

is a renowned software engineer;

book named “A Mythical Man Month”

He combined all his articles in this book.

“No Silver Bullet”

Software Engineering is nothing but a disciplined and systematic approach to software development

Lecture No. 02
Software Development

Divided into two:

1.Construction
The construction activities are those that directly related to the development of software,
Some of the major construction activities are listed below.

2.Management
Management activities are kind of umbrella activities that are used to smoothly and
successfully perform the construction activities
Some of the major management activities are listed below.
ng and Management
A Software Engineering Framework
The major components of this framework are described below.
Quality Focus
Processes
Methods
Tools

Software Development Loop


Software development activities could be performed in a cyclic and that cycle is called software
development loop .The major stages of software development
loop are described below.
1. Problem Definition
2. Technical Development
3. Solution Integration
4. Status Quo: when we actually deployed the new system at the user site then that situation is called
status quo
Software Engineering Phases
There are four basic phases of software development that are shown in Figure 4.
Vision
Definition
Development
Maintenance

Lecture No. 3
Software Requirements Definitions
1. Jones defines software requirements as a statement of needs by a user that triggers the
development of a program or system.
2. Alan Davis defines software requirements as a user need or necessary feature, function,
or attribute of a system that can be sensed from a position external to that system.
IEEE defines software requirements is:

1. A condition or capability needed by user to solve a problem or achieve an objective

3. A documented representation of a condition or capability


Lecture No. 4

Some Risks from Inadequate Requirement Process


Following is a list of some of the risks of adopting an inadequate requirement process:
1. Insufficient user involvement leads to unacceptable products.
2. Creeping user requirements contribute to overruns and degrade product quality.
It basically means identifying and adding new requirements to the list at some
advanced stages of the software development process
3. Ambiguous requirements lead to ill-spent time and rework

Ambiguity means that two different readers of the same document interpret the requirement
differently.

4. Gold-plating by developers and users adds unnecessary features

Describres how much we made our product perfect and nice

5. Minimal specifications lead to missing key requirements and hence result in an unacceptable
product.

6. Incompletely defined requirements make accurate project planning and tracking impossible.

Levels of Software Requirements


Let us now look at the following set of requirement statements for another system:
1. Business Requirements:
2. User requirements
3. Functional Requirements:
4. Non-Functional Requirements

Stakeholders
A stakeholder is a person or group who has a vested interest in a company and can either affect
or be affected by its operations and performance
Requirement Statement Characteristics
A good Requirements statement document must possess the following characteristics.

Requirement Specification Characteristics


Complete
Consistent
Modifiable

Traceable

Mixed level of Abstraction

It is important to recognize that all requirements in a requirement document are stated at a uniform
level of abstraction.

Lecture No. 5
Relationship of Several components of Software Requirement

You might also like