0% found this document useful (0 votes)
14 views16 pages

Lecture 3 and 4 Software Engineering

Software engineering originated in 1968 to address issues with software development. It is defined as the systematic application of engineering principles to software development. Software engineers use tools and techniques to develop software following a systematic process while considering constraints. Software engineering aims to produce reliable software economically through its methods, processes, quality focus, and tools.

Uploaded by

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

Lecture 3 and 4 Software Engineering

Software engineering originated in 1968 to address issues with software development. It is defined as the systematic application of engineering principles to software development. Software engineers use tools and techniques to develop software following a systematic process while considering constraints. Software engineering aims to produce reliable software economically through its methods, processes, quality focus, and tools.

Uploaded by

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

Software Engineering

By: Engr. Sumaira Nazir


Assistant Professor
Department of Software Engineering
National University of Modern Languages Islamabad

Lecture 3 and 4
Software Engineering Origin

 1968:
The notion of ‘software engineering’ was first proposed at
a conference held to discuss what was called the
“Software Crisis”.
Software Engineering Definition

 The IEEE definition:


Software Engineering:
(1) The application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of
software; that is, the application of engineering to software.
 (2) The study of approaches as in (1).
Who Does it?

 Software Engineers
 Adopt a systematic and organized approach to their
work
 Use appropriate tools and techniques depending on the
problem to be solved,
 Consider the development constraints and the resources
available.
Importance of Software Engineering

 More and more, individuals and society rely on advanced


software systems. We need to be able to produce
reliable and trustworthy systems economically and
quickly.
 It is usually cheaper, in the long run, to use software
engineering methods and techniques for software
systems rather than just write the programs as if it was
a personal programming project. For most types of
system, the majority of costs are the costs of changing
the software after it has gone into use.
Importance of Software Engineering Cont.

 By using the software engineering approaches we can


ensure that we have build the quality product, which
fulfills the needs of the customers.
FAQ about software engineering
Question Answer
What is software? Computer programs, data structures and associated
documentation. Software products may be developed for
a particular customer or may be developed for a general
market.
What are the attributes of good software? Good software should deliver the required functionality
and performance to the user and should be maintainable,
dependable and usable.
What is software engineering? Software engineering is an engineering discipline that is
concerned with all aspects of software production.

What is the difference between software engineering andComputer science focuses on theory and fundamentals;
computer science? software engineering is concerned with the practicalities
of developing and delivering useful software.

What is the difference between software engineering andSystem engineering is concerned with all aspects of
system engineering? computer-based systems development including
hardware, software and process engineering. Software
engineering is part of this more general process.
Essential attributes of good software
Product characteristic Description
Maintainability Software should be written in such a way so that it can
evolve to meet the changing needs of customers. This is a
critical attribute because software change is an inevitable
requirement of a changing business environment.

Dependability and security Software dependability includes a range of characteristics


including reliability, security and safety. Dependable
software should not cause physical or economic damage in
the event of system failure. Malicious users should not be
able to access or damage the system.

Efficiency Software should not make wasteful use of system


resources such as memory and processor cycles. Efficiency
therefore includes responsiveness, processing time,
memory utilization, etc.
Acceptability Software must be acceptable to the type of users for
which it is designed. This means that it must be
understandable, usable and compatible with other systems
that they use.
Software Engineering
A Layered Technology
Software Engineering layers

tools

methods

process

a “quality” focus

Figure 1: Software Engineering Layers


Quality Focus
 Any engineering approach must rest on organizational
commitment to quality which fosters a continuous process
improvement culture.
 The bedrock that supports the software engineering is a
quality focus.
Process
 Process layer as the foundation defines a framework with
activities for effective delivery of software engineering
technology.
 Establish the context where products (model, data,
report, and forms) are produced, milestone are
established, quality is ensured and change is managed.
Method
 Method provides technical how-to’s for building software.
Tools
 Tools provide automated or semi-automated support for
the process and methods.
 When the tools are integrated so that the information
created by one tool can be used by another, a system for
the support of software development, called computer-
aided software engineering CASE is established.
Assignment # 1
 What are CASE tools? How they support software engineering? Give any
example of the CASE tools and also discuss how it support the software
engineering tasks.
 Due Date:
 Assignment should be in proper format in font size: 12, font style: times new
romans, text should be justified.
 References should be mentioned at the end of the assignment.
 Copied assignments will be marked zero
 Late assignments will not be accepted.
Reference

 Chapter2, Software Engineering 7th Edition, by R.


Pressman

You might also like