Johns Hopkins University Software Engineering Fall 2002 - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Johns Hopkins University Software Engineering Fall 2002

Description:

An object is an entity or module that has a state and a ... PFCU.CHECK $25 Daily Times Herald. print PFCU.BALANCE. PFCU.REGISTER 1-January-2001 31-March-2001 ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 32
Provided by: bill95
Category:

less

Transcript and Presenter's Notes

Title: Johns Hopkins University Software Engineering Fall 2002


1
Johns Hopkins UniversitySoftware
EngineeringFall 2002
  • 5 November 2002
  • Bill Akin

2
Tonights Agenda
  • Review the in-class exam
  • Additional object-oriented concepts
  • Architectures
  • Infrastructures
  • Analysis
  • Modeling
  • Requirements specification
  • The revised schedule

3
Definition
  • An object is an entity or module that has a state
    and a defined set of operations to access and
    modify that state. (an old definition)
  • We can also think of an object as a closed
    system, subsystem, or component that maintains
    its own state, accepts a specified set of
    messages (usually called methods), provides
    responses, and/or performs pre-defined functions.
  • No external entity is able to see inside a
    correctly constructed object or directly control
    any of the objects internal processes.

4
Methods, Operations, and Attributes
  • Methods are the messages we send to objects that
    cause them to perform actions.
  • Operations are the things we cant see that
    happen inside the objects to accomplish their
    defined actions.
  • Attributes are the things an object knows about
    itself, e.g., its state data.
  • Users of an object cannot see its operations or
    attributes.

5
Concepts
  • I have an abstract data class called CHECKING.
  • I can create an object of that class and use it.
  • Here are some methods
  • PFCU.ESTABLISH as CHECKING with 1001
  • PFCU.DEPOSIT 500
  • PFCU.CHECK 25 Daily Times Herald
  • print PFCU.BALANCE
  • PFCU.REGISTER 1-January-2001 31-March-2001

6
Applications
  • I have an object-oriented air traffic control
    system.
  • Here are some object concepts and methods
  • RECEIVE_HANDOFF.3666R Denver
  • SHOW.3666R
  • PASS_HANDOFF.3666R Dallas
  • SHOW_ALL FL3 FL6
  • DISPLAY_SPEED.3666R
  • DISPLAY_ETA.3666R VOR.Pecos
  • DISPLAY_PILOT.3666R

7
Special Object Uses
  • Collaborative -- An object used in support of
    another object. A CHECKING object can use the
    services of a DATABASE object to maintain its
    state. This is hidden from the users of the
    CHECKING object.
  • Guardian -- An object visible to the enterprise
    that provides the only available access to
    another resource.
  • These two concepts can enable many objectives.

8
Architecture
  • Software architecture
  • the structure of the components of a
    program/system, their interrelationships, and
    principles and guidelines governing their design
    and evolution over time.
  • Definition from the SEI

9
Architecture
  • Architecture
  • A minimal set of rules governing the arrangement,
    interaction, and interdependence of the parts or
    elements of a system whose purpose is to ensure
    that a conformant system satisfy a specified set
    of requirements.
  • Identifies the services, interfaces, standards,
    their relationships.
  • Provides the technical guidelines for
    implementation of systems upon which engineering
    specifications are based, common building blocks
    are built, and product lines are developed.
  • Ingredients
  • Rules Design Rules, Standards, Conventions
  • Reference model(s)

10
What is an Architecture?
  • Definition The structure of components, their
    interrelationships, and the principles governing
    their design and evolution.
  • Architecture types
  • Operational
  • Technical
  • System

11
Object-Oriented Architecture
  • I will discuss the concept of object-oriented
    techniques applied to the development and
    maintenance of information processing
    architectures.
  • I will outline the goals and objectives of the
    approach and the way I believe the objectives can
    be met.
  • I will provide some simple examples of
    architecture level objects and discuss their
    implementation.

12
Goals and Objectives
  • Goals
  • Improve the ability to maintain an information
    system, application, or enterprise
  • Extend the useful life of an information system
  • Enable inclusion and evolution of legacy elements
    in an information system
  • Objectives
  • Reduce the breakage for change requests
  • Abstract system component implementation detail
  • Shroud incorporated components

13
Definition Information System
  • An Information System is a set or arrangement of
    elements organized to accomplish some predefined
    goal by processing information.
  • According to Fred Brooks, The hardest single
    part of building a software system is deciding
    what to build.No other part of the work so
    cripples the resulting system if done wrong. No
    other part is more difficult to rectify later.

14
OO Architecture Classes
Client Class
DB Class
  • An information system built on an object-oriented
    architecture has a set of classes, rules for
    using them, and an infrastructure that holds it
    all together.
  • In the example we show two classes and an
    infrastructure.
  • We can build a system using objects that are
    instances of the classes and plugging them into
    the infrastructure.

15
Some Sample Classes
  • User Application
  • Server Application
  • Archive Application
  • Database Server
  • Backup Server
  • External Access Server

16
OO Architecture Concept
DB-A
Client 2
Client 1
DB-D
DB-B
DB-C
New Client
  • We could build a plug-and-play architecture.
  • New databases can be plugged in.
  • New Clients can be plugged in.
  • It is a maintainable enterprise on a
    plug-and-play architecture.

New DB
17
Example Object-oriented Architecture
User-II
Sys-B Data Manager
User-I
Sys-A Data Manager
Sys-B Backup
Security Admin
Sys-A Load Processor
Sys-C Data Manager
Audit Trail Archiver
Security Admin
Sys-B Load Processor
Loads Admin
Zip Data Manager
18
Implementations
  • Remember the objectives?
  • Reduce the breakage for change requests
  • Because state and process implementation are
    completely contained in an object, only the
    internal components are broken.
  • Abstract(v) component implementation detail
  • By definition all details of an object
    implementation are hidden.
  • Shroud incorporated components
  • Use guardian objects to own foreign components
    brought into a system.

19
Global Resources
  • Global resources should be treated as abstract
    objects.
  • A guardian object should own such servers.
  • As an example, consider a database to hold a
    companys inventory. The guardian is an object
    that advertises methods to its clients.
  • Inside the guardian are commands understood by a
    small access database.
  • If we change to oracle, only the guardian is
    modified, not the clients in our system.

20
Technical Architecture
  • Technical Architecture
  • A minimal set of rules governing the arrangement,
    interaction, and interdependence of the parts or
    elements of a system whose purpose is to ensure
    that a conformant system satisfies a specified
    set of requirements.
  • Identifies the services, interfaces, standards,
    their relationships.
  • Provides the technical guidelines for
    implementation of systems upon which engineering
    specifications are based, common building blocks
    are built, and product lines are developed.
  • Ingredients
  • Rules Design Rules, Standards, Conventions
  • Reference model(s)

21
Information Infrastructure
  • An information infrastructure is an integrated
    collection of elements based on technical
    architecture components that form the foundation
    on which functional components are supported
  • An infrastructure may contain global resources
    available to all enterprise users
  • Standard interfaces enable infrastructure use

22
CII Concept of Operations
Internal
External
CII
Our Systems Outside the CII
Type III Applications
Type II Applications
Type I Applications
External Systems
Interoperability Services
Interoperability Services
Corporate Database (CD)
Pre-existing External Interfaces
CII Common Environment
  • Infrastructure Services
  • Hardware and Software Platforms

CII External Interfaces
Common Support Applications
Corporate Warehouse (CW)
Corporate Repository (CR)
COE
23
CII Layers
CII Component A
CII Component B
Virtual Connection
Request
API
Response
Request
API
Response
Request
Response
Request
Response
COE APIs
COE APIs
Request
Response
Request
Response
Interfaces
Interfaces
Actual Connection
24
Context
Client
Server
Virtual Connection
Layer - 1
Layer - 1
1 - PDU
Layer - 2
Layer - 2
2 - PDU
Layer - 3
Layer - 3
3 - PDU
Layer - 4
Layer - 4
4 - PDU
Common Operating Environment (COE)
25
Anatomy of a Layer
N service primitive (request or response)
N service primitive (confirm or indication)
Layer-N
N-1 service primitive (request or response)
N-1 service primitive (confirm or indication)
Terms
SAP Service Access Point SDU Service Data Unit
26
Anatomy of a Layer External View
N service primitive (request or response)
N service primitive (confirm or indication)
Layer-N
N-SAPs
Term
SAP Service Access Point
N-SAPs
N-1 service primitive (request or response)
N-1 service primitive (confirm or indication)
27
Anatomy of a Layer Internal View
N-SAPs
Layer-N
Term
SAP Service Access Point
N-Service Entity
N-SAPs
28
Analysis and Modeling
  • Data modeling specify all data produced or
    consumed by the system
  • Functional modeling and information flow all
    data flows and related functional processes
  • Behavioral Modeling state transition diagrams
    or finite state machines
  • User interface uses and use cases or other
    prototyping models
  • Now lets work an example together

29
Specify Requirements
  • Identify major, intermediate, and minor
    functional views and elements
  • Break a document into their boundaries
  • Write a descriptive narrative at each level
  • At the lowest (minor) level write all the
    requirement statements that specify that element
  • Each requirement statement is either a capability
    or a constraint.
  • Now lets expand our example

30
Where are we
  • Six class meetings left including tonight
  • Project needs to be completed, demonstrated, and
    delivered
  • Several topics left to be covered, including
  • Design
  • Testing
  • SCM
  • SQA
  • Component-based design
  • Additional object-oriented techniques

31
Schedule
  • Class Date Chapters Events and Deliveries
  • 10 12-Nov 8, 9, 24 Deliver requirements
    document
  • 11 19-Nov 17, 18 High Level Design Presentation
  • 12 26-Nov Deliver high level design document
  • 13 3-Dec Final Exam
  • 14 10-Dec Project Demonstrations - Deliver
    project
Write a Comment
User Comments (0)
About PowerShow.com