Introduction to software engineering

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

Transcript of Introduction to software engineering

Page 1: Introduction to software engineering

SOFTWAREENGINEERING

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

Page 2: Introduction to software engineering

+Computer Programs

Documentation

Page 3: Introduction to software engineering

Software isintangiblecomplexflexible

Page 4: Introduction to software engineering

Software types

GenericCustomized

Software types

Page 5: Introduction to software engineering

Software types

Stand- AloneInteractive transaction-based

Applicationtypes

Embedded Control Systems

Page 6: Introduction to software engineering

Software types

Entertainment Systems

Applicationtypes

Systems for modeling and simulation

Batch Processing Systems

Page 7: Introduction to software engineering

Software types

System of systems

Applicationtypes

Data Collection Systems

Page 8: Introduction to software engineering

Software types

Real –time software

Software Areas(Roger Pressman)

System Software

Business software

Page 9: Introduction to software engineering

Software typesSoftware Areas(Roger Pressman)

Engineering & Scientific Software

Personal Computer software

Embedded software

Page 10: Introduction to software engineering

Software typesSoftware Areas(Roger Pressman)

Artificial Intelligence software

Web-based software

Page 11: Introduction to software engineering

Software types

MaintainabilityDependability & Security

Essential Attributes of Good Software

EfficiencyAcceptability

Page 12: Introduction to software engineering

Software types

UsabilityReliability

Essential Attributes of Good Software

Reusability

Page 13: Introduction to software engineering

What is the Role of Software ?

Page 14: Introduction to software engineering

The role of software engineering is to capture the customer’s business needs and specify the “blueprints” for the system so that programmers can implement it

Page 15: Introduction to software engineering

Software Engineering

Page 16: Introduction to software engineering

“Software Engineering is the application of a systematic, disciplined, quantifiable

approach to the development, operation, and maintenance of software.”

- IEEE’90

Page 17: Introduction to software engineering

“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.”

Page 18: Introduction to software engineering

Techniques (Methods)

Methodologies

Tools

Formal procedures for producing results using some well-defined notation

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

Instrument or automated systems to accomplish a technique

Page 19: Introduction to software engineering

Software Engineering:

A Multi-Disciplinary Discipline

Page 20: Introduction to software engineering

A blend of many older science &

engineering disciplinesand new ones

Page 21: Introduction to software engineering

Software Engineering Body of Knowledge

Computing Fundamentals

Algorithms and Data Structures

Computer Architecture

Operating Systems

Programming Languages

Mathematical Foundations

Software Product Engineering

Requirements Engineering

Software Design

Software Coding

Software Testing

Software Operations & Maintenance

Software Management

Project Process Management

Risk Management

Quality Management

Configuration Management

Dev. Process Management

Acquisition Management

Software Domains

Artificial Intelligence

Database Systems

Human-Computer Interaction

Numerical & Symbolic Comp

Computer Simulations

Real-Time Systems

Page 22: Introduction to software engineering

Why is Software Engineering Difficult?

Page 23: Introduction to software engineering

Because you need to know about…

11

software domain and

problem domain

Page 24: Introduction to software engineering

Real World is informal

22

Software is formalthere is a precise statement of what needs to be programmed

Software Engineering deals only with the software itself

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

Page 25: Introduction to software engineering

Software Engineers

Page 26: Introduction to software engineering

Software Engineer

Programmer

creates the design

creates the code

Page 27: Introduction to software engineering

Software Engineer

Computer Scientist

Works in multiple application domains

Proves theorems about algorithms, designs languages, defines knowledge representation schemes

Has infinite time…

Has only 3 months...

Page 28: Introduction to software engineering

Daily Software

Engineering Jobs/ Roles

Page 29: Introduction to software engineering

Systems Analyst

Software Architect

Software Network Specialist

Software Programmer

Software Systems Administrator

Software Database Administrator

1

2

3

4

5

6

Page 30: Introduction to software engineering

Webmaster

Software Security Engineer

Software Tester

Software Project Manager

Software Configuration Manager

Software Quality Manager

7

8

910

11

12

Page 31: Introduction to software engineering

How MUCHare Software Engineers

Paid?

Page 32: Introduction to software engineering
Page 33: Introduction to software engineering

Software Engineering Skills

Page 34: Introduction to software engineering

Communication“There are only 10 types of people in this world.

Those who know binary, and those who don’t.”

Page 35: Introduction to software engineering

Feedback

Page 36: Introduction to software engineering

Motivation

Page 37: Introduction to software engineering

Analytical

Page 38: Introduction to software engineering

Project Management Skills

Planning

Risk Assessment

Estimation

Page 39: Introduction to software engineering

Activity 1:

List down the qualifications of a Software Engineer

Page 40: Introduction to software engineering

Software Engineering Ethics

Page 41: Introduction to software engineering

ConfidentialityCompetenceIntellectual Property Rights

Computer Misuse

Page 42: Introduction to software engineering

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

Page 43: Introduction to software engineering

Software Development

Page 44: Introduction to software engineering

Software Development is phased

Page 45: Introduction to software engineering

RequirementsDesign

Construction

Testing

Operation & Maintenance

Page 46: Introduction to software engineering

Types of Software Development

Methodologies

Page 47: Introduction to software engineering

SSADMOOSDExtreme Programming DSDMNCC Method

Page 48: Introduction to software engineering

AUPIntegrated MethodologyRUPSCRUMRAD

Page 49: Introduction to software engineering

Waterfall ModelConcurrent Dev’t ModelPrototyping ModelIncremental ModelSpiral Model

Page 50: Introduction to software engineering

REVIEW

Page 51: Introduction to software engineering

Thank you!