Está en la página 1de 51

SOFTWARE

ENGINEERING
If you don't understand it, you can't program it.
If you didn't measure it, you didn't do it.

Zhella Anne V. Nisperos

Computer Programs

+
Documentation

Software is
intangible
complex
flexible

Softwaretypes
types
Software
Generic
Customized

Application
Software types
types
Stand- Alone
Interactive transaction-based
Embedded Control Systems

Application
Software types
types
Batch Processing Systems

Entertainment Systems
Systems for modeling and simulation

Application
Software types
types
Data Collection Systems

System of systems

Software
Software types
Areas
(Roger Pressman)

System Software

Real time software


Business software

Software
Software types
Areas
(Roger Pressman)

Embedded software
Personal Computer software
Engineering & Scientific Software

Software
Software types
Areas
(Roger Pressman)

Web-based software
Artificial Intelligence software

Essential Attributes
Software
types
of Good Software

Maintainability
Dependability & Security
Efficiency
Acceptability

Essential Attributes
Software
types
of Good Software

Usability
Reliability
Reusability

What is the Role of


Software ?

The role of software


engineering is to capture the
customers business needs and
specify the blueprints for the
system so that programmers
can implement it

Software
Engineering

Software Engineering is the application of


a systematic, disciplined, quantifiable
approach to the development, operation,
and maintenance of software.

- IEEE90

Software Engineering is an act of applying


a collection of techniques, methodologies
and tools that help with the production of a
high quality software system,
with a given budget,
before a given deadline,
while change occurs.

Techniques (Methods)
Formal procedures for producing results using some
well-defined notation

Methodologies
Collection of techniques applied across software
development and unified by a philosophical approach

Tools
Instrument or automated systems to accomplish a
technique

Software
Engineering:
A Multi-Disciplinary Discipline

A blend of many
older science &
engineering disciplines

and new ones

Software Engineering Body of Knowledge


Computing
Fundamentals

Software Product
Engineering

Software
Management

Software
Domains

Algorithms and Data


Structures

Requirements
Engineering

Project Process
Management

Artificial Intelligence

Computer
Architecture

Software Design

Risk Management

Database Systems

Operating Systems

Software Coding

Quality
Management

Human-Computer
Interaction

Programming
Languages

Software Testing

Configuration
Management

Numerical &
Symbolic Comp

Mathematical
Foundations

Software Operations
& Maintenance

Dev. Process
Management

Computer
Simulations

Acquisition
Management

Real-Time Systems

Why is Software
Engineering Difficult?

1
Because you need to
know about

software domain and


problem domain

Software is formal
there is a precise statement of what needs to be programmed

Software Engineering deals only with the software itself

Real World is informal


there is NO precise statement of what needs to be programmed
Software Engineering includes discovering a solution for a real-world problem

Software
Engineers

Software Engineer

creates the design

Programmer

creates the code

Software Engineer
Works in multiple application domains
Has only 3 months...

Computer Scientist
Proves theorems about algorithms, designs languages,
defines knowledge representation schemes
Has infinite time

Daily
Software
Engineering

Jobs/ Roles

1 Systems Analyst
2 Software Architect
3 Software Network Specialist
4 Software Programmer
5 Software Systems Administrator
6 Software Database Administrator

7 Webmaster
8 Software Security Engineer
9 Software Tester
10

Software Project Manager

11

Software Configuration Manager

12

Software Quality Manager

How

MUCH

are Software Engineers

Paid?

Software Engineering

Skills

Communication
There are only 10 types of people in this world.
Those who know binary, and those who dont.

Feedback

Motivation

Analytical

Project Management Skills


Planning
Risk Assessment
Estimation

Activity 1:
List down the
qualifications of a
Software Engineer

Software
Engineering Ethics

Confidentiality
Competence
Intellectual Property Rights

Computer Misuse

Online Activity 2:
*Post links on news related to the stated
issues of professional responsibility
*Read about Software Engineering Ethics
and post link on news/issues related to
one of the SE ethical principles

Software
Development

Software Development
is phased

Requirements
Design
Construction
Testing
Operation & Maintenance

Types of Software
Development
Methodologies

SSADM
OOSD
Extreme Programming
DSDM
NCC Method

AUP
Integrated Methodology
RUP
SCRUM
RAD

Waterfall Model
Concurrent Devt Model
Prototyping Model
Incremental Model
Spiral Model

REVIEW

Thank you!

También podría gustarte