Top Banner
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
51
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Exclusive Cover Focus

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: Exclusive Cover Focus

+Computer Programs

Documentation

Page 3: Exclusive Cover Focus

Software isintangiblecomplexflexible

Page 4: Exclusive Cover Focus

Software types

GenericCustomized

Software types

Page 5: Exclusive Cover Focus

Software types

Stand- AloneInteractive transaction-based

Applicationtypes

Embedded Control Systems

Page 6: Exclusive Cover Focus

Software types

Entertainment Systems

Applicationtypes

Systems for modeling and simulation

Batch Processing Systems

Page 7: Exclusive Cover Focus

Software types

System of systems

Applicationtypes

Data Collection Systems

Page 8: Exclusive Cover Focus

Software types

Real –time software

Software Areas(Roger Pressman)

System Software

Business software

Page 9: Exclusive Cover Focus

Software typesSoftware Areas(Roger Pressman)

Engineering & Scientific Software

Personal Computer software

Embedded software

Page 10: Exclusive Cover Focus

Software typesSoftware Areas(Roger Pressman)

Artificial Intelligence software

Web-based software

Page 11: Exclusive Cover Focus

Software types

MaintainabilityDependability & Security

Essential Attributes of Good Software

EfficiencyAcceptability

Page 12: Exclusive Cover Focus

Software types

UsabilityReliability

Essential Attributes of Good Software

Reusability

Page 13: Exclusive Cover Focus

What is the Role of Software ?

Page 14: Exclusive Cover Focus

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: Exclusive Cover Focus

Software Engineering

Page 16: Exclusive Cover Focus

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

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

- IEEE’90

Page 17: Exclusive Cover Focus

“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: Exclusive Cover Focus

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: Exclusive Cover Focus

Software Engineering:

A Multi-Disciplinary Discipline

Page 20: Exclusive Cover Focus

A blend of many older science &

engineering disciplinesand new ones

Page 21: Exclusive Cover Focus

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: Exclusive Cover Focus

Why is Software Engineering Difficult?

Page 23: Exclusive Cover Focus

Because you need to know about…

11

software domain and

problem domain

Page 24: Exclusive Cover Focus

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: Exclusive Cover Focus

Software Engineers

Page 26: Exclusive Cover Focus

Software Engineer

Programmer

creates the design

creates the code

Page 27: Exclusive Cover Focus

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: Exclusive Cover Focus

Daily Software

Engineering Jobs/ Roles

Page 29: Exclusive Cover Focus

Systems Analyst

Software Architect

Software Network Specialist

Software Programmer

Software Systems Administrator

Software Database Administrator

1

2

3

4

5

6

Page 30: Exclusive Cover Focus

Webmaster

Software Security Engineer

Software Tester

Software Project Manager

Software Configuration Manager

Software Quality Manager

7

8

910

11

12

Page 31: Exclusive Cover Focus

How MUCHare Software Engineers

Paid?

Page 32: Exclusive Cover Focus
Page 33: Exclusive Cover Focus

Software Engineering Skills

Page 34: Exclusive Cover Focus

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

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

Page 35: Exclusive Cover Focus

Feedback

Page 36: Exclusive Cover Focus

Motivation

Page 37: Exclusive Cover Focus

Analytical

Page 38: Exclusive Cover Focus

Project Management Skills

Planning

Risk Assessment

Estimation

Page 39: Exclusive Cover Focus

Activity 1:

List down the qualifications of a Software Engineer

Page 40: Exclusive Cover Focus

Software Engineering Ethics

Page 41: Exclusive Cover Focus

ConfidentialityCompetenceIntellectual Property Rights

Computer Misuse

Page 42: Exclusive Cover Focus

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: Exclusive Cover Focus

Software Development

Page 44: Exclusive Cover Focus

Software Development is phased

Page 45: Exclusive Cover Focus

RequirementsDesign

Construction

Testing

Operation & Maintenance

Page 46: Exclusive Cover Focus

Types of Software Development

Methodologies

Page 47: Exclusive Cover Focus

SSADMOOSDExtreme Programming DSDMNCC Method

Page 48: Exclusive Cover Focus

AUPIntegrated MethodologyRUPSCRUMRAD

Page 49: Exclusive Cover Focus

Waterfall ModelConcurrent Dev’t ModelPrototyping ModelIncremental ModelSpiral Model

Page 50: Exclusive Cover Focus

REVIEW

Page 51: Exclusive Cover Focus

Thank you!