0% found this document useful (0 votes)
33 views

Course Introduction

Software engineering is a discipline that deals with building large software systems through teams of engineers. It aims to produce fault-free software on time and within budget that satisfies users' needs. Software engineering incorporates principles from science, engineering, management, and human factors such as formal methods, modularity, abstraction, and anticipating change. The traditional waterfall model involves requirements, design, implementation, integration, validation, and deployment phases.

Uploaded by

Vivek Pandit
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Course Introduction

Software engineering is a discipline that deals with building large software systems through teams of engineers. It aims to produce fault-free software on time and within budget that satisfies users' needs. Software engineering incorporates principles from science, engineering, management, and human factors such as formal methods, modularity, abstraction, and anticipating change. The traditional waterfall model involves requirements, design, implementation, integration, validation, and deployment phases.

Uploaded by

Vivek Pandit
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Overview of

Software Engineering
Software Engineering
 “A discipline that deals with the building
of software systems which are so large
that they are built by a team or teams
of engineers.”

 “Multi-person construction of multi-


version software.”
Software Engineering
 “A discipline whose aim is the
production of fault-free software,
delivered on-time and within budget,
that satisfies the user’s needs.
Furthermore, the software must be
easy to modify when the user’s needs
change.”
Science, Engineering,
Management, Human Factors
 Science: empirical studies; theories characterizing
aggregate system behavior (e.g. reliability)
 Management: organizing teams, directing activities,
correcting problems
 Human factors: user task understanding and
modeling; ergonomics in user interface design
 Engineering: tradeoffs, canonical solutions to typical
problems
 Tradeoffs and representative qualities
 Pick any two:
 Good, fast, cheap
 Scalability, functionality, performance
Software Engineering
Principles
 Formality
 Separation of Concerns.
 Modularity and Decomposition.
 Abstraction.
 Anticipation of Change.
 Incrementality.
 Reliability.
Software Lifecycle Context
(Waterfall Model)

Requirements

Design

Implementation

Integration

Validation

Deployment
The Software Industry Today
Software Engineering is in Transition
 Component-Based Engineering and Integration.
 Technological Heterogeneity.
 Enterprise Heterogeneity.
 Greater potential for Dynamic Evolution.
 Internet-Scale Deployment.
 Many competing standards.
 Much conflicting terminology.
Future of SE…
 Software analysis
Process
 Requirements
Formal specification
engineering
 Reverse engineering
Mathematical foundations
 Testing and Dependability
Reliability
 Maintenance and Evolution
Performance
 Software
SE for Safety
architecture
 OOfor
SE Modeling
security
 SE for
andmobility
Middleware
 Tools
SE & the
andInternet
environments
 Configuration
Software economics
management
 Databasesstudies
Empirical and SEof SE
 SE Education
Software metrics

You might also like