Vous êtes sur la page 1sur 57

Modern Information

Systems

OOSE = SSSE + OOPL


OOSE presents OO methods across
the entire SE process including
analysis, design, implementation and
testing
SSSE: Structured Software System
Engineering
OOPL: Object Oriented Programming
Language

Software Engineering is a Layered


Technology

A Process Framework
Framework Activities
work tasks
work products
milestones &
deliverables
QA checkpoints
Umbrella Activities

Framework Activities
Communication
Planning
Modeling
Analysis of
requirement
Design

Construction
Code Generation
Testing

Deployment

Work Products
Models
(Analysis Model, Design)
Documents (specifications)
Data
Reports
(outputs)
Forms

Umbrella Activities
Software Project Management
Formal Technical Reviews
Software Quality Assurance
Software Configuration Management
Work Product Preparation &
Production
Reusability Management
Measurement

Method

It includes communication, requirement


analysis, design modeling, program
construction, testing and support

Tools
Computer Aided Software Engineering
Tools

The primary goal of any software


process
High Quality

High Quality = Project Timeliness


Less Rework

Quality depends on
Explicit characteristics & functionality
Implicit characteristics & functionality

They both should be satisfied for good


quality software

Modeling: why?
To realize the actual thing

Modeling: what?
Input: Conceptual Ideas
Output: End goals

Modeling: how?

Modeling tools
Microscopic views and Iterative
refinements
Documentation (Specification, User
manual)

Modeling
User Interface
Product Implementation Models
Deployment Model (DB Server,
Network Architecture, etc)
Man Month (Project Management)
Financial Model
The Software development process

Product Models
Structure
Dynamic

Importance of Modeling
Modeling is a proven and wellaccepted engineering technique.
Examples
architectural models of houses
mathematical models to analyse the
effects of winds or earthquakes on
buildings
electrical devices from microprocessors to
telephone switching systems
In fields of sociology, economics and
business management.

Importance of Modeling
A model is a simplification of reality
It may be structural, emphasizing the
organization of the system, or it may
be behavioural, emphasizing the
dynamics of the system.
The fundamental reason for building a
model is to understand the system we
are developing in a better way.

Objectives of modeling are:


1.Models help us to visualize a system
as it is or as we want it to be.
2.Models permit us to specify the
structure or behaviour of a system.
3.Models give us a template that
guides us in constructing a system.
4.Models document the decisions we
have made.

Normally, we build models of complex


systems because we cannot
comprehend such a system in its
entirety.
There are limits to the human ability
to understand complexity.
Through modeling, we narrow the
problem we are studying by focusing
on only one aspect at a time.

Principles of Modeling
1. The choice of what models to create
has a profound influence on how a
problem is attacked and how a solution
is shaped.
If we are building a model for a
database developer, entity-relationship
models will be used.
In case of structured analyst, the
models that are algorithmic-centric,
with data flowing from process to
process.

Principles of Modeling
2. Every model may be expressed at
different levels of precision.
The best kinds of models are those
which allow us to choose our degree of
detail, depending on who is viewing
and why they need to view it.
Stakeholders will want to visualize a
system at different levels of detail at
different times

Principles of Modeling
3. The best models are connected to
reality.
In object-oriented systems, it is
possible to connect all the nearly
independent views of a system into a
semantic whole.

Principles of Modeling
4. No single model is sufficient. Every
nontrivial system is best approached
through a small set of nearly
independent models.
It means having models that can be
built and studied separately but that
are still interrelated.

Structural Modeling
Class diagrams
Object diagrams
Deployment diagrams
Component Package Diagrams

Dynamic Modeling
What aspects to model?
How does the group collaborate?
Interaction Diagrams

How does the individual respond?

SSSE & OOSE & Web


Engineering
Different Life Cycle Models
Analysis & Design Models
Project Management Models
Testing Models
Programming Lansuages

Structured versus Object Oriented


Paradigm

Withdraw

Account
balance

Deposit

Determine
balance

(a) Structured

Structured versus Object Oriented


Paradigm

Deposit

Accoun
t
Account
Balanc
e

Withdraw

Determine
Balance

(b) Object Oriented Paradigm

Message

Structured Paradigm
Requirements Phase
Specification Phase
Design Phase
Implementation Phase
Integration Phase
Maintenance Phase
Retirement

Object Oriented Paradigm


Requirement Phase
Object Oriented Analysis Phase
Object Oriented Design Phase
Object Oriented Programming Phase
Integration Phase
Maintenance Phase
Retirement

Structured Paradigm
Specification (Analysis) Phase
Determine what product is to be done

Design Phase
Architectural Design (construct the
modules)
Detailed Design

Implementation Phase

Implement in appropriate programming


language

Object Oriented Paradigm


Object Oriented Analysis Phase
Determine what product is to be done
Extract the objects

Object Oriented Design Phase


Detailed Design

Object Oriented Programming Phase


Implement in appropriate programming
language

Software Life-Cycle Models


Life-cycle model (formerly, process
model)
The steps through which the product
progresses

Requirements phase
Specification phase
Design phase
Implementation phase
Integration phase
Maintenance phase
Retirement

Build and Fix Model


Problems

No specifications
No design

Totally
unsatisfactory
Need life-cycle
model

Game plan
Phases
Milestones

Waterfall Model
Characterized by

Feedback loops
Documentationdriven

Advantages

Documentation
Maintenance easier

Disadvantages

Specifications

Incremental Model
It
combines
the
elements of
waterfall
model
applied in
iterative
way

Incremental Model (cont)


Waterfall, rapid prototyping models

Operational quality complete product at end

Incremental model

Operational quality portion of product within


weeks

Less traumatic
Smaller capital outlay, rapid return on
investment
Need open architecturemaintenance
implications
Variations used in object-oriented life
cycle

Incremental Model (cont)


Problems

Build-and-fix danger
Contradiction in terms

More risky versionpieces may not fit

Synchronize-and Stabilize
Model
Microsofts life-cycle model
Requirements analysisinterview potential
customers
Draw up specifications
Divide project into 3 or 4 builds
Each build is carried out by small teams
working in parallel
At the end of the daysynchronize (test and
debug)
At the end of the buildstabilize (freeze build)
Components always work together

Get early insights into operation of product

Spiral Model
Simplified form

Waterfall model
plus risk analysis

Precede each
phase by

Alternatives
Risk analysis

Follow each
phase by

Evaluation
Planning of next
phase

Simplified Spiral Model


If risks cannot
be resolved,
project is
immediately
terminated

Full Spiral Model


Radial dimension: cumulative cost to date
Angular dimension: progress through the spiral

Analysis of Spiral Model


Strengths

Easy to judge how much to test


No distinction between development,
maintenance

Weaknesses

For large-scale software only


For internal (in-house) software only

Object-Oriented Life-Cycle
Models
Need for iteration within and between
phases

Recursive/parallel life cycle


Unified software development process

All incorporate some form of

Iteration
Parallelism
Incremental development

OO Process Model

Structured System Analysis and


Design
[A] Requirement Analysis
1. Basic Requirements
Fundamental details of the system
and information flow
Identify Data used and Information
produced
Determine Process Timing & Volume
of Data to be handled
Identify Controls: Error handling &
performance standards.

2. User Transaction Requirement


What initiates the transaction?
What are the schedules and
serialization process?
Generated data & stored data.
3. User Decision Requirement
Information used to make the
decision
Source of information Transactions
or data outside the system
Processing of Data to produce
required output.

4. Organization Wide Requirement


Satisfy the customer
Cost Benefit Analysis
Manufacture Product

[B] Fact Finding Techniques


Interviews
Questionnaires
Record Review
Observation

[C] Analysis Tools


EER Diagram
Dataflow Diagram
Data Dictionary
Process Chart
Case Tools

[D] System Design


Input & Output design
Design of data structures and their
interaction
Design of procedure and their
interaction
Graphical User Interface Design

How to integrate Structured


Analysis with OO Analysis
Can additional OO Design aspects be
imported into the real time structured
analysis & design model?
Yes

Must anything be removed from the


real time structured analysis & design
model to ensure its OO character?
No

Requirement Analysis

No need to forget SSA Requirement


Specification for OO Requirement

Structured System Analysis to


Design

Structured System Analysis to


Design
Analysis
EER Diagram identifies names &
associated data in term of abstract data
types as well as an aspect of the
inheritance structure.
In functional modelling, the names &
contents of flow & stores on the schema
are derived from ER diagram

Design

Transferring the data flow diagram into a


structural chart, which is a representation
of a hierarchy module.

Concept of EER Model used in OO


Module
Entity
Regular and weak entity

Attributes

Single valued attributes


Derived Attributes
Composite Attributes
Attributes with null values
Multi-valued attributes

Null Valued Attributes


Value is not known
Not Applicable

EER Diagram & OO Concepts


Subclass & Superclass
Specialization & Generalization
Category & attribute
Aggregation & Association

OO Analysis & Design


[A] OO Development
Abstraction
Encapsulation
Inheritance
Polymorphism

OO Analysis & Design


[B] Analysis & Design
They are similar but some distinction
due to OO approach
Object Modelling
Dynamic Modelling
Functional Modelling

OO Analysis & Design


[D] Project Management
Managing an OO development as
concerned with the same major
activities as managing conventional
project management but OO has high
impact on it.

Software Testing
Testing is a process of exercising a
program with the specific intend of
finding errors prior to delivery to the
end user
What testing shows:
Errors
Requirement conformance
Performance
An indication of quality

Vous aimerez peut-être aussi