Software Development Models: Waterfall and Spiral
Download
Report
Transcript Software Development Models: Waterfall and Spiral
Midterm Exam
When: 3:30 – 4:50PM, Thursday, October 4, 2012
Where: HM 201s
Format
Close book
Question types
Multiple choices
Fill in blanks
Short answer
Refer to all materials for reviewing, for example, lecture
notes, in-class activities, assignments.
Copyright © 1997 by Rational Software Corporation
The Process of Architecting
(Adapted from Dr. Osman Balci)
Sung Hee Park
Department of Mathematics and Computer Science
Virginia State University
September 20, 2012
Copyright © 1997 by Rational Software Corporation
Waterfall Model
Copyright © 1997 by Rational Software Corporation
The Process of Architecting
The process of Architecting takes the
Requirements Specification Document (RSD) as
input and generates an Architecture Specification
as output.
Architecting QA integrates the assessments of
quality of the Architecture Specification work product,
architecting process quality,
quality of the people employed in architecting, and
project characteristics related to the life cycle stage
forarchitecting.
Copyright © 1997 by Rational Software Corporation
UML Supports
Application Development
The output, Architecture Specification, is created
using a standard description framework such as
DoD Architecture Framework (DoDAF).
Copyright © 1997 by Rational Software Corporation
The Process of Architecting
The Architecting process deals with the creation
of a system/software architecture to satisfy the
requirements.
The Architecting process involves
Identification of a known system/software
architecture,
Composition of an architecture from a set of known
system/software architectures, or
Creation of a new system/software architecture.
Copyright © 1997 by Rational Software Corporation
Architecture Definition
“The structure of components, their
relationships, and the principles and guidelines
governing their design and evolution over time.”
[DoD Integrated Architecture Panel, 1995, based
on IEEE STD 610.12]
“An architecture is the fundamental organization
of a system embodied in its components, their
relationships to each other, and to the
environment, and the principles guiding its design
and evolution.”
[IEEE STD 1471-2000]
Copyright © 1997 by Rational Software Corporation
Network-Centric Software Architecture
A network-centric software architecture refers to the
fundamental organization of software components that
interoperate over a network,
relationships among the software components, and
the principles and guidelines governing the design and
evolution of those software components.
We use the term “network” to refer to one or a
combination of many types of communications networks
such as
Global System for Mobile communication (GSM),
Internet,
local area network (LAN),
mobile ad-hoc network (MANET),
virtual private network (VPN), or
wireless network.
Copyright © 1997 by Rational Software Corporation
Major Network-Centric Software
Architectures
1. Client-Server Architecture (CSA)
2. Distributed Objects Architecture (DOA)
3. Peer-to-Peer Architecture (PPA)
4. Service-Oriented Architecture (SOA)
Copyright © 1997 by Rational Software Corporation
Architecture versus Design
A design is an instantiation of an architecture
similar to how an object is an instantiation from a
class.
Client-Server
Architecture
Example:
Instantiation
Server Computer
Instantiation
Design based on the
Design based on the
the Java EE platform
.Net platform
Copyright © 1997 by Rational Software Corporation
Architecture versus Design
System/Software Architecture is used to:
Make buy decisions (acquisition)
Discriminate between options
Assist in “Discovery” of the true requirements
Drive one or more systems to a common “use” or
purpose (system of systems)
System/Software Design is used to:
Develop system/software components
Build the system/software
Understand configuration changes as the
system/software is modified
Copyright © 1997 by Rational Software Corporation
What is a Network-Centric System?
A network-centric system is an interconnection of
software, hardware, and humans that operate together
over a network to accomplish a set of goals.
The main idea behind the “network-centric”
characterization is to connect everything with everything
else such as communities of interest, computers, databases,
mobile devices, organizational entities, processes, satellites,
sensors, and software.
A network-centric system is commonly engineered to
provide pervasive services for use by anyone, anywhere, and
anytime.
The user consumes pervasive services by using smart
devices such as workstation computers, desktop
computers, laptop computers, hand-held computers,
cellular smart phones, and kiosks, all connected to a
network.
Copyright © 1997 by Rational Software Corporation
An Example Network-Centric System of
Systems
Copyright © 1997 by Rational Software Corporation
Definitions of Terms
COI Community of Interest
COPS Common Open Policy Service
DEN Directory Enabled Networking
HTTP HyperText Transfer Protocol
IPSP Internet Protocol Security Policy
IPv6 Internet Protocol Version 6
NDMP Network Data Management Protocol
P2P Peer-to-Peer
SOAP Simple Object Access Protocol
TCP/IP Transmission Control Protocol / Internet
Protocol
UDDI Universal Description, Discovery, and
Integration
Copyright © 1997 by Rational Software Corporation
Emergence of New Areas
The vision / paradigm
“Connecting everything with everything else!” created
two new major areas:
1. System of Systems Engineering (SoSE)
(System of Systems Architecting)
2. Enterprise Systems Engineering
(Enterprise Systems Architecting)
Copyright © 1997 by Rational Software Corporation
An Example Network-Centric System of
Systems
A system of systems (SoS) is an interconnection of interdependent
systems through a network to provide a given capability.
An SoS may be a single platform or consist of a collection of
separate, but interdependent, interconnected platforms performing
different functions.
A military aircraft, for example, is a single platform operating with
different systems on board, such as propulsion, weapons,
navigation, and communications systems.
A ground station dependent on a satellite is an example of an SoS,
interconnected platforms performing different functions.
A distinguishing factor for an SoS is that it depends on all of its
elements working interactively and continuously within a network
to accomplish a pre-specified capability.
The loss of any SoS element degrades the performance or
capabilities of the entire SoS. An SoS provides a capability not
possible with any of the individual elements acting alone.
Copyright © 1997 by Rational Software Corporation
Architecting Challenges
Network-Centric System/Software Architecting
System of Systems Architecting
Enterprise Systems Architecting
Job Titles:
Software Architect
System Architect
Enterprise System Architect
Copyright © 1997 by Rational Software Corporation