0% found this document useful (0 votes)
10 views17 pages

Chapter 1 - Introduction

The document discusses Object-Oriented Software Engineering (OOSE) as a specialization within software engineering, emphasizing its role in improving software productivity, quality, and reducing costs. It outlines the software engineering life cycle activities, including development processes, quality assurance, and project management, while highlighting the importance of teamwork and methodologies like the Unified Modeling Language (UML). The text also contrasts software engineering with computer science and poses questions for class discussion on the benefits and future of OOSE.

Uploaded by

Sachi Arafat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views17 pages

Chapter 1 - Introduction

The document discusses Object-Oriented Software Engineering (OOSE) as a specialization within software engineering, emphasizing its role in improving software productivity, quality, and reducing costs. It outlines the software engineering life cycle activities, including development processes, quality assurance, and project management, while highlighting the importance of teamwork and methodologies like the Unified Modeling Language (UML). The text also contrasts software engineering with computer science and poses questions for class discussion on the benefits and future of OOSE.

Uploaded by

Sachi Arafat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Object-Oriented Software Engineering: An Agile Unified Methodology

by David Kung

Chapter 1. Introduction

Edited by Dr. Hind Bitar

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Key Takeaway Points
• Software engineering aims to significantly improve
software productivity and software quality while
reducing software costs and time to market.
• Software engineering consists of three tracks of
interacting life cycle activities:
– software development process
– software quality assurance, and
– software project management
• Object-oriented (OO) software engineering is a
specialization of software engineering. It views the
world and systems as consisting of objects that
interact with each other.
CLO1
2
Copyright © The McGraw-Hill Companies, Inc.
What Is Software Engineering?
Software engineering as a discipline is focused
on
• research, education, and application of engineering
processes and methods
• to significantly increase software productivity (P)
and software quality (Q) while reducing software
costs (C) and time to market (T) – software PQCT.

• What is the focus of database systems?


• What is the focus of operating systems?
CLO1
3
Copyright © The McGraw-Hill Companies, Inc.
Why Software Engineering?
1. Software is expanding into all sectors of our
society:
• Companies rely on software to run and expand their
businesses.
• Software systems are getting larger and more complex –
millions of lines of code.
• Software costs are 90 – 95% of total system costs
(software costs were only 5 – 10% of total system costs
two decades ago).
• Embedded systems contain application specific
integrated circuits (ASIC), which are costly to replace –
software quality is critical.

We need an engineering approach to software


development.
CLO1
4
Copyright © The McGraw-Hill Companies, Inc.
Why Software Engineering?
2. Large software systems development requires
teamwork and software engineering supports
teamwork.
• A typical software engineer produces an average 50–100
lines of source code per day.
• A small system of 10,000 lines of code requires one
software engineer to work between 100 and 200 days or 5
to 10 months.
• A medium-size system of 500,000 lines of code requires a
software engineer to work 5,000 to 10,000 days or 20 to
40 years.
Þ Real-world software systems require many software
engineers to work together to jointly develop a
software system.

CLO1
5
Copyright © The McGraw-Hill Companies, Inc.
Why Software Engineering?
To work together, the software engineers must
overcome three challenges, among others:

Conceptualization Communication Coordination


Solution:
• Processes and methodologies for analysis and design
• Unified Modeling Language (UML) for communication and
coordination
• Tools that automate or support methodology steps.
Help software engineers to collaborate in a way that everyone
understands and follows
6
Copyright © The McGraw-Hill Companies, Inc. CLO1
Software Life Cycle Activities
• Software processes and methodologies consist
of life cycle activities:
Time to
Productivity Quality Cost Market

Software Software Software


Development Quality Project
Process Assurance Management

CLO1
7
Copyright © The McGraw-Hill Companies, Inc.
Software Development Process
• Definition: A software development process
transforms the initial system concept into the
operational system running in the target
environment.
• Phases:
– Requirement
– Design
– Implementation
– Testing
– Maintenance CLO1
8
Copyright © The McGraw-Hill Companies, Inc.
Software Development Process
• Core Activities: It identifies the business
needs, conducts a feasibility study, and
formulates the requirements or capabilities that
the system must deliver.

CLO1

9
Copyright © The McGraw-Hill Companies, Inc.
The Waterfall Process
System Engineering

Software Requirements Analysis

Software Design

Coding & Unit Testing

Integration & Integration Testing

Acceptance Testing

CLO2
Maintenance
10
Copyright © The McGraw-Hill Companies, Inc.
Software Quality Assurance
Software quality assurance (SQA) ensures that
• the development activities are performed properly,
and
• the software artifacts produced by the development
activities meet the software requirements and
desired quality standards.

CLO1
11
Copyright © The McGraw-Hill Companies, Inc.
SQA Activities

CLO1
12
Copyright © The McGraw-Hill Companies, Inc.
Software Project Management
• Software project management oversees the control
and administration of the development and SQA
activities.
• Project management activities include
– effort estimation
– project planning and scheduling
– risk management
– project administration, and
– others.
These activities ensure that the software system is
delivered on time and within budget.
CLO1
13
Copyright © The McGraw-Hill Companies, Inc.
Object-Oriented Software Engineering
• Object-oriented software engineering (OOSE)
is a specialization of software engineering.
• The object-oriented paradigm views the world
and systems as consisting of objects that relate
and interact with each other.
• OOSE encompasses:
– OO processes - guide the development effort
– OO methodologies – how to carry out the activities
– OO modeling languages – communicate their
analysis and design ideas
– OO tools – support the development processes

Copyright © The McGraw-Hill Companies, Inc.


CLO1 14
Software Engineering and Computer Science
Software
Computer
Engineering
Science
• Pursueenough
Good optimalissolutions
enough
• $$$ is an
notimportant
an important
factor
consideration
(PQCT)
• Programming in the large
small
• Technical
All issues issues
and aspects
• Dealing with wicked
tame problems
problems
• Building on top of computer science and other disciplines
• Foundations of software engineering

CLO1
15
Copyright © The McGraw-Hill Companies, Inc.
Class Discussion
• What are the benefits of OOSE?
• Will OOSE replace the conventional
approaches, and why?

16
Copyright © The McGraw-Hill Companies, Inc.
Class Discussion
• What are the focuses of computer science and
software engineering, respectively?
• What are the educational objectives of
computer science and software engineering,
respectively?
• Some authors say that software engineering is
“programming in the large.” What does this
mean?
• What is the relationship between software
engineering and computer science? Can you
have one without the other?
17
Copyright © The McGraw-Hill Companies, Inc.

You might also like