0% found this document useful (0 votes)
37 views19 pages

SE Nguc Chap 1

software engining course

Uploaded by

barechabulo8
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)
37 views19 pages

SE Nguc Chap 1

software engining course

Uploaded by

barechabulo8
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/ 19

1.

Introduction to Software Engineering

o What is software ?
• Instructions (computer programs) that when executed provide
desired function and performance, and

• Documents that describe the operation and use of the programs

Therefore, Computer programs + documentation.

o What is software Engineering ?


• The application of a systematic, disciplined, quantifiable approach
to the development, operation, and maintenance of software

• The application of Engineering to software.


…Introduction

What is software Engineering?


• Software Engineering is the science and art of building significant
software systems that are on time, on budget and with acceptable
performance, correct operation.

• An engineering discipline that is concerned with all aspects of


software production from the early stages of system specification
through to maintaining the system after it has gone into use.

• The application of a systematic, disciplined, quantifiable


approach to the development, operation, and maintenance of
software; that is, the application of engineering to software. ƒ
(IEEE), issued in 1993.
…Introduction

o Categories:
• Generic Products: that are marketed and sold to any customer who
wishes to buy them.
Examples – graphics programs, project management tools; CAD
software
• Customized products: Software that is commissioned by a specific
customer to meet their own needs.

Examples – embedded control systems, air traffic control software,


traffic monitoring systems.
…Introduction

o Types of Software:
• System Software :compiler, operating systems
• Real-time Software
• Business Software
• Engineering and Scientific Software
• Embedded Software-:
• AI Software: Expert systems, pattern recognition, games
• Internet Software :search engine, browser, e-commerce software,
• Data collection systems
• Batch processing systems
…Introduction

o Software Characteristics
• It is a product, but also a vehicle for delivering a product.

• Software is a logical rather than a physical system element.

• Software is developed or engineered, it is not manufactured


Software doesn’t “wear out”.

• Most software is custom-built, rather than being assembled

• Software is intangible /hard to understand devt Cost/

• Software is easy to reproduce/Cost is in its devt/

• The industry is labor-intensive/Hard to automate/


… Introduction

o Software Costs
• The economies of ALL developed nations are dependent on
software.
• More and more systems are software controlled
• Expenditure on software represents a significant fraction of
GNP in all developed countries.
• Software costs often dominate computer system costs.
• Software costs more to maintain than it does to develop.
• Software engineering is concerned with cost-effective software
development.
…Introduction

o History of Software development


• In the 1950's, SE was deemphasized as it cover 20% of all.

• Started in 1968 at a conference to discuss “Software crisis”.

• Individual / ad hoc approaches result in costly, unreliable, late.

• In 1968, a NATO report coined the term "software engineering“.

• By the 1980's the software cost of a system had risen to 80%.

• Engineering approach(SP, OOP) are devised.


…Introduction

o Stake holders in SE
• Users: those who use

• Customers: who pay

• Software developers: who develops

• Development Managers
…Introduction

o Stake holders in SE
Introduction to …Introduction
Software Engineering/Unit-1

o PAttributes of a good software


• Usability: Users can learn it fast and get their job done easily

• Efficiency: It doesn’t waste resources / CPU time and memory/

• Reliability It does what it is required to do without failing

• Maintainability: It can be easily changed

• Reusability: Its parts can be used in other projects, so


reprogramming is not needed

o Each can conflict; In an increase efficiency can reduce


maintainability or reusability and vice versal
…Introduction

o Related Disciplines/Terms with SE:


• SE: The practical of developing and delivering useful software

• CS: theories and fundamental

• System Engineering: is concerned with all aspects of computer-


based systems development including hardware, software.

• Programming: The process of translating a problem from its


physical environment into a language that a computer can understand
and obey
..Introduction

o Major Goals of SE:


• To increase software productivity and quality.

• To effectively control software schedule and planning

• To effectively control software schedule and planning.

• To reduce the cost of software development.

• To meet the customers’ needs and requirements.

• To enhance the conduction of software engineering process.

• To improve the current software engineering practice.

• To support the engineers’ activities in a systematic and efficient


manner.
..Introduction

o Objectives of SE:
• Identify new problems and solutions in software production.

• Study new systematic methods, principles, approaches for system


analysis, design, implementation, testing and maintenance.

• Provide new ways to control, manage, and monitor software process

• Build new software tools and environment to support software


engineering.
..Introduction

o Software Engineering is a layered Technology


• Quality: Which fosters a continuous process improvement.
• Process :Defines a framework with set of activities for effective
delivery of Computer software.
• Method: Provides technical how-to’s for building software.
• Tools :Provide automated support for process and methods
… Introduction

o Software Crisis in SE
• The "software crisis" refers to a time in the software development
field when increasing hardware capabilities allowed for significantly
more complex programs to be built.
• It was challenging to build and maintain such new programs
because little methodology had been used in the past, resulting in
numerous project failures.
• Methodology such as structured or top-down design was introduced
to combat this crisis.
… Introduction

o Challenges SE:
• Software is not delivered on time

• Software is over budget (usually by a factor of 2 or more)

• Software is too complex.

• Software is unmaintainable

• Software is inefficient, due to poor design, documentation

• Software is unreliable
…Introduction

o Ethics and professional Practice in SE


• Confidentiality You should normally respect the confidentiality of your
employers or clients irrespective of whether or not a formal confidentiality
agreement has been signed.

• Competence You should not misrepresent your level of competence.


You should not knowingly accept work that is outside your competence.

• Intellectual property rights You should be aware of local laws


governing the use of intellectual property such as patents and copyright.
Computer misuse  You should not use your technical skills to misuse
other people’s computers like game playing on an employer’s machine,
dissemination of viruses ).
…Introduction

o Fundamental software engineering activities


• Specification: Set out the requirements and constraints.

• Design: Produce the model of the system

• Development: Build the system

• Test: Check the system meets the required spec.

• Maintaince:
Summary

o Software engineering is an engineering discipline that is concerned


with all aspects of software production.

o Software is not just a program or programs but also includes


documentation.

o Essential software product attributes are maintainability, dependability,


security, efficiency, and acceptability.

o Fundamental SE activities are specification, design,development,test

o Software engineers have responsibilities to the engineering


profession and society. They should not simply be concerned with
technical issues.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy