2002 Proposed Revised OCD & SSAD.r3

advertisement
OCD
A. Description
B. Document Sections
1. Introduction
2. Shared Vision
3. Domain/Organization Description
Using the term “organization” to represent the entity for which the system is being
developed (or purchased in the case of some COTS systems). For example, the
organization might be a business, a government agency, or some subdivision of either.
3.1 Organization Background
3.2 Organization Goals
3.3 Current Organization Environment
3.3.1 Structure
Briefly describe the current workers (e.g. people roles, systems) and customers of the
organization.
Identify which workers and customers interact with other workers and customers and are
therefore connected.
Representation: either (a) block diagram, (b) specification using an architecture
notation/language, or (c) Business Entity Model using UML Static–Structure &
Collaboration Diagrams; glossary to summarize terms.
Trade-offs: architectural notations/languages and UML provide more standard semantics;
but take longer to specify and require client reviewers to know the notation or language.
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.3.2 Artifacts
Briefly describe the current artifacts (e.g. documents, products, resources used to produce
product) used or produced by the organization, and relations among the artifacts
Representation: block diagram or Business Entity Model using UML Static–Structure
Diagrams; glossary to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.3.3 Processes
Briefly describe the processes of the organization
Identify which customers and workers participate in a process
Identify which artifacts are used, produced, or modified during a process.
Representation: “stories”, or formal Business Use–case Model (Use–case Diagrams and
Descriptions, and Activity Diagrams); glossary to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.3.4 Rules
Describe current policies or conditions (inc. laws and regulations) that must be satisfied
Representation: informal text or formal specification language (e.g. UML’s OCL).
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.4 Current Organization Shortfalls
4. Proposed System
4.1
4.2
4.3
4.4
Statement of Purpose
Project Goals and Constraints
System Capabilities
Changes in Organization Environment
4.4.1 Structure
Describe how the organization’s architecture will be changed by introduction of new (or
revised) system.
Identify new, changed, and deleted workers and customers.
Identify new, changed, deleted connections.
Representation: either (a) block diagram, (b) specification using architecture
notation/language, or (c) Business Entity Model using UML Static–Structure &
Collaboration Diagrams; glossary to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
4.4.2 Artifacts
Describe how the organization’s artifacts used or produced by the organization will be
changed by introduction of new (or revised) system.
Identify new, changed, and deleted artifacts.
Identify new, changed, deleted relations
Representation: block diagram or Business Entity Model using UML Static–Structure
Diagrams; glossary to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
4.4.3 Processes
Describe how the processes of the organization will be changed by introduction of new
(or revised) system
Identify new, changed, and deleted processes
Identify which of the revised customers and workers participate in each process, and how
responsibilities may change.
Identify which of the revised artifacts are used, produced, or modified during each
process.
Representation: glossary plus informal “stories”, or formal Business Use–case Model
(Use–case Diagrams and Descriptions, and Activity Diagrams)
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
4.4.4 Rules
Describe how revised set of policies or conditions (inc. laws and regulations) that must be
satisfied.
Identify new, changed, or deleted policies and conditions
Representation: informal text or formal specification language (e.g. UML’s OCL).
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
4.5 Operational Characteristic Goals
Including performance, usability, and Level of Service (L.O.S.) goals
Prioritized
Representation: MRS(no A) or Gilb Form?
4.6 How New System Addresses Current Organization
Shortfalls
5. Appendices
5.1 COTS Evaluation & Market Surveys
Include description of benefits and shortfalls of COTS solution.
SSAD
A. Description
B. Document Sections – Development
1. Introduction
2. System Analysis
Describe system context.
Refinement of OCD Section 4
Focus on what developers need to know about (a) other workers (person roles & systems)
and customers with which this system interacts when it is operating (for software only
systems, we us the term executing); (b) what services this system will provide and will
require of other workers; (c) process activities in which this system participates; (d) how
the system and the other workers interact to implement process activities that the system
participates in; (e) what artifacts and information that this system needs (e.g. to
communicate with other systems), including any required formats.
2.1 Structure
Describe visible structure (inc. services) of system and of organizational workers (e.g.
people roles, systems) and customers with which this system interacts when it is
operating, and the connections between the system and other the workers and customers.
We’ll adopt the UML term actor for organizational workers (e.g. people roles, systems)
and customers with which this system interacts when it is operating.
Refinement of OCD B.4.4.1.
Representation: specification in architecture notation/language, or Entity Model using
UML Static–Structure & Collaboration Diagrams (alternative: UML Component Model);
glossary to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
2.2 Artifacts & Information
Briefly describe the current artifacts (e.g. documents, products, resources used to produce
product).
Briefly describe the information that the system needs to know about.
Briefly describe relations among the information and artifacts that the system needs to
know about.
Refinement of OCD B.4.4.2.
Representation: Entity Model using UML Static–Structure Diagrams; glossary to
summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
2.3 Behavior
Describe behavior of the system, and how it works with the actors to implement the
process activities in which the system participates.
Representation: “stories”; UML Use–case Model (Use–case Diagrams and Descriptions)
with Interaction Diagrams or Activity Diagrams; or UML Statecharts; or formal
specification language as used in some ADLs.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
2.4 Operational Characteristic Goals
Qualities that need to be achieved by this system.
Including performance, usability, and L.O.S.
Refinement of OCD section 4.5.
2.5 Rules
Describe current policies or conditions (inc. laws and regulations) that must be satisfied
by the system and the actors it interacts with.
Representation: informal text or formal specification language (e.g. UML’s OCL).
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3. Architecture Design & Analysis
Describe the work units (“components”) of the system, how they are connected, and each
component’s interface and behavior.
The form of the unit depends on the abstraction and architectural style employed.
For a “system of systems”, each component is itself a system, whose architecture may
need to be described
For a large system, sample components include processes, threads, databases, dynamic or
static link libraries, CORBA or COM objects, or Enterprise Java Beans.
For a small system implemented in a single executable, sample components include
objects and classes if using an object–oriented language, functions in a function–oriented
language, and rules in a rule language.
(The subsections of this section are highly dependent upon the size of the system, the
chosen representation language to, and the architectural style.)
3.1 Structure
Describe the hardware and software components of the system.
Describe the architecture style(s) used & any constraint that the architecture style(s)
imposes.
1.3.1 Hardware Model
Describe the hardware components of the system or the hardware components on which
this system will run; the classification of the hardware components; and the connections
among the instances.
Representation: specification in architecture notation/language, or UML Deployment
Diagram (UML Static–Structure & Collaboration Diagrams may be used if the UML tool
being used doesn’t support the full UML concept for the Deployment Diagram); glossary
to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
1.3.2 Software Model
Describe the software components of the system; the classification of the software
components; and the connections among the instances.
Representation: specification in architecture notation/language, or Component Diagram
(UML Static–Structure & Collaboration Diagrams may be used if the UML tool being
used doesn’t support the full UML concept for the Component Diagram) Diagrams;
glossary to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
1.3.3 Deployment Model
Describe the allocation of software components to hardware components.
Representation: specification in architecture notation/language, or UML Deployment
Diagram (UML Static–Structure & Collaboration Diagrams may be used if the UML tool
being used doesn’t support the full UML concept for the Deployment Model); glossary to
summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
1.3.4 Component Class Descriptions
For each component class defined in the hardware and software models shown above,
provided detailed description.
3.1.4.1 Component X
(Repeat this section for each component)
3.1.4.1.1
Purpose
Describe the purpose of this class of component.
Representation: informal text.
3.1.4.1.2
Interface(s)
Describe the visible features (operations, attributes, parts) of the component class.
The visible features may be organized into related sets. Each set should be given a
unique interface name.
Representation: architecture description language, or UML Static–Structure Diagram.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.4.1.3
Parameters
Describe any parameters of the component class (e.g. classes of subcomponents).
Representation: architecture description language, or UML Static–Structure Diagram.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.4.1.4
Behavior
Describe behavior of the instances of this component class.
Representation: informal text, formal language (e.g. UML’s OCL), or UML Statecharts
Descriptions.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.4.1.5
Operational Characteristics
Describe execution characteristics (e.g. timing, security, LOS) shared by all instances of
the component class.
(How did we get this data?)
Representation: informal text, forms or table
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.4.1.6
Internal Architecture
For larger components or subsystems, may have hardware, software, and deployment
models.
For small components, this section is typically unnecessary.
Representation: see sections Error! Reference source not found.–Error! Reference
source not found..
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.4.1.7
Constraints
Including licensing
1.3.5 Component Descriptions
3.1.5.1 Component X
(Repeat this section for each component)
3.1.5.1.1
Purpose
Describe the purpose of this component.
Representation: informal text.
3.1.5.1.2
Classifier
Identify the classifier of this component.
3.1.5.1.3
Operational Characteristics
Describe execution characteristics (e.g. timing, security, LOS) of this particular
component.
Representation: informal text, or table
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.5.1.4
Internal Architecture
1.3.6 Connector Descriptions
3.1.6.1 Connector X
(Repeat this section for each connector)
3.1.6.1.1
Purpose
Describe the purpose of this connector.
Representation: informal text.
3.1.6.1.2
Interface(s)
Describe features of the connector that are the visible of the connector (e.g. expected
operations or messages).
The visible features may be organized into related sets. Each set should be given a
unique component role name.
Representation: architecture description language, or UML Static–Structure Diagram.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.6.1.3
Behavior
Describe behavior of the connector including message filtering, distribution, arbitration,
or adaptation performed, and any protocols enforced.
Representation: informal text or appropriate representations in architecture description
language or UML; protocols may be described using UML Sequence Diagrams.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.6.1.4
Operational Descriptions
Describe execution characteristics (e.g. timing, security, LOS) of this particular
connector.
Representation: informal text, or table
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.1.6.1.5
Constraints
3.2 Behavior
Describe how the components work with each other and with the actors to implement the
process activities in which the system participates.
Refines section Error! Reference source not found..
Representation: “stories”, UML Use–case Model (Use–case Diagrams and Descriptions)
with Interaction Diagrams or Activity Diagrams.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.3 Operational Characteristics
Qualities of this architecture.
Including performance, usability, and L.O.S.
(Do they achieve goals?)
3.4 Architectural Styles, Patterns & Frameworks
Describe any patterns or frameworks used in the system architecture
Representation: list of patterns and framework names with description of factors leading
to their selection.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
3.5 Rationale
Describe the rationale for architecture, inc. choice of architecture style(s), choice of
components, choice of patterns and frameworks.
4. Implementation Design
For each component class and connector in section Error! Reference source not found.,
describe how it will be implemented.
For components that will be implemented using COTS, limited the description to features
that must be known or used by developers to implement other components in the system.
4.1 Structure
Describe the elements that will be used to build the component.
For example, if using object-oriented technology (OOT) then the elements would be
objects and classes.
Representation: if using OOT then UML Static–Structure & Collaboration Diagrams;
glossary to summarize terms.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
4.2 Behavior
Describe how the parts of the component work with each other, with other components,
and with the actors to implement the process activities in which the system participates.
Representation: “stories”, UML Use–case Model (Use–case Diagrams and Descriptions)
with Interaction Diagrams.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
4.3 Operational Characteristics
Qualities of this implementation of component.
Including performance, usability, and L.O.S.
(Do they achieve goals for component?)
4.4 Patterns & Frameworks
Describe any patterns or frameworks used in the implementation of the component.
Representation: list of patterns and framework names with description of factors leading
to their selection.
Trade-offs:
Guidelines (577, UML, RUP, Architectural, Agile, XP, ROSE)
4.5 Rationale
Describe the rationale for implementation, inc. choice of implementation style(s), choice
of subcomponents, choice of patterns and frameworks.
C. Document Sections – COTS Adoption
1.
2.
3.
4.
Introduction
System Analysis
Assessment Details
Tailoring Description
Download