Está en la página 1de 17

Object-Oriented Analysis and Design

CS-604

Subject Incharge
Dr. Paramvir Singh
Assistant Professor
E-mail: singhpv@nitj.ac.in

Slide1

Recommended Course Textbooks


Roger S. Pressman (2010)
Software Engineering:
A Practitioner's Approach,
7th edition, McGraw-Hill, USA
Sommerville I. (2001,2004)
Software Engineering 9th Edition (/Latest), AddisonWesley, Harlow, Essex,UK
Stevens P. with Pooley, R. (2010)
Using UML: Software Engineering with Objects and
Components,
Addison-Wesley, Harlow, Essex, UK

Slide2

Recommended Course Textbooks


Head First OOAD OReally Publications
Object Oriented Software Engineering - McGrawHill

Slide3

What is software?
Computer programs and associated documentation

Slide4

Software Vs Hardware
Software is developed or engineered; it is not
manufactured in the classical sense
Impacts the management of software projects
Software doesn't wear out
Hardware bathtub curve compared to the
software ascending spiked curve
Although the industry is moving toward
component-based construction, most software
continues to be custom built (it is still complex to
build)

Slide5

Software Vs Hardware

Failure
rate

increased failure
rate due to side effects

change
actual curve

idealized curve
Time

Slide6

Changing Nature of Software


System software (OS, drivers, file management utility)
Application software (Hostel Management system, Lib. System)
Engineering/scientific software (Satellite, Calculator, Earthquake intensity
measurement)
Embedded software (AC, TV etc)
Product-line software (e.g., inventory control, word processing, multimedia)
Web applications (Gtalk, Websites, Email services)
Artificial intelligence software (Robotic, Gaming, ANN)
Open world computing (small, wireless devices)
Open source (operating systems, databases, development environments)
The ".com" marketing applications

Slide7

Use SE to ENSURE
Quality
Software is of highest quality

Time Schedule
Software finishes on estimated time

Cost Schedule
Software consumes estimated budget

Managed
Software is easily manageable after release

Slide8

The Four Ps of Software Engineering

People the most important element of a successful project


Product the software to be built
Process the set of framework activities and software engineering tasks to get the
job done
Project all work required to make the product a reality

Slide9

The Four Ps of Software Engineering


Process 1

OR Process 2

OR Process 3

Selected based on:


Cost
Time
Quality
Resources

End Product

Slide10

The Four Ps of Software Engineering

Selected based on:


Cost
Time
Quality
Resources

Slide11

What is a Process?
(Webster) A system of operations in producing something; a
series of actions, changes, or functions that achieve an end or a
result
(IEEE) A sequence of steps performed for a given purpose

Slide12

Generic Process Framework


Analysis

Design

Code

Test

Obsolete Approach

Communication

Planning

Modelling
Analysis

Design

Construction
Code

Deployment

Test

Modern Approach

Slide13

Generic Process Framework


Communication
Involves communication among the customer and other stake holders; encompasses
requirements gathering
Planning
Establishes a plan for software engineering work; addresses technical tasks,
resources, work products, and work schedule
Modeling (Analyze, Design)
Encompasses the creation of models to better understand the requirements and the
design
Construction (Code, Test)
Combines code generation and testing to uncover errors
Deployment
Involves delivery of software to the customer for evaluation and feedback

Slide14

Software Engineering is a Layered


Technology

Tools
Methods
Processes
Quality Focus

Slide15

Process, Methods, and Tools


Process
Provides the glue that holds the layers together; enables rational and
timely development; provides a framework for effective delivery of
technology; forms the basis for management; provides the context for
technical methods, work products, milestones, quality measures, and
change management
Methods
Provide the technical "how to" for building software; rely on a set of
basic principles; encompass a broad array of tasks; include modeling
activities
Tools
Provide automated or semi-automated support for the process and
methods (i.e. CASE tools)

Slide16

Umbrella Activities
(In addition to General Framework Activities)

Software requirements management


Software project planning
Software project tracking and oversight
Software quality assurance
Software configuration management
Software subcontract management
Formal technical reviews
Risk management
Measurement process, project, product
Reusability management (component reuse)
Work product preparation and production

Slide17

También podría gustarte