Software Architectural Design

advertisement
Software Architectural Design
(SWAD)
Document Number: [nn]
Date: Day, Month Day, Year
[Project Name]
[Author 1]
[Author 2 - if none, leave blank line]
[Author 3 - if none, leave blank line]
[Author 4 - if none, leave blank line]
Professor [Name]
Software Engineering Department
Monmouth University
West Long Branch, NJ 07764-1898
Table of Contents
1 SCOPE
1
1.1 IDENTIFICATION
1
1.2 SYSTEM OVERVIEW
1
1.3 DOCUMENT OVERVIEW
1
2 REFERENCED DOCUMENTS
ERROR! BOOKMARK NOT DEFINED.
3 CURRENT SYSTEM OR SITUATION
2
3.1 BACKGROUND, OBJECTIVES, AND SCOPE
2
3.2 OPERATIONAL POLICIES AND CONSTRAINTS
2
3.3 DESCRIPTION OF PRELIMINARY SOFTWARE DESIGN
2
3.3.1 SPECIFY ARCHITECTURAL MODEL PROCESS
2
3.3.2 DEVELOP CLASS CATEGORIES/CLASSES/OPERATIONS
3
3.3.3 MAP SOFTWARE REQUIREMENTS PROCESS
4
3.3.4 CONDUCT SOFTWARE DESIGN REVIEW PROCESS
4
3.4 USERS OR INVOLVED PERSONNEL
5
4 NOTES
5
i
Software Architectural Design (SWAD)
[Project Name]
1
Scope
[This section shall be divided into the following paragraphs.]
1.1
Identification
[This paragraph shall contain a full identification of the system and the software to which
this document applies, including, as applicable, identification number(s), title(s),
abbreviation(s), version number(s), and release number(s).]
1.2
System Overview
[This paragraph shall briefly state the purpose of the system and the software to which this
document applies.
It shall describe the general nature of the system and software;
summarize the history of system development, operation, and maintenance; identify the
project sponsor, acquirer, user, developer, and support agencies; identify current and
planned operating sites; and list other relevant documents.]
1.3
Document Overview
[This paragraph shall summarize the purpose and contents of this document and shall
describe any security or privacy considerations associated with its use.]
[Example: The developer shall define and record the architectural design of each Software
Item (SWI) (identifying the Software Units (SU) comprising the SWI, their interfaces, and
a concept of execution among them) and the traceability between the SUs and the SWI
requirements. The result shall include all applicable items in the architectural design and
traceability sections of the SDD. Design pertaining to interfaces may be included in the
SDDs or IDDs.
Note: SUs may be made up of other SUs and may be organized into as many levels as are
needed to represent the SWI architecture. For example, a SWI may be divided into three
SUs, each of which is divided into additional SUs, and so on.]
2
References
[Use the citations and bibliography functionality of MS Word. (It will save you a lot of
time)]
1
Software Architectural Design (SWAD)
[Project Name]
[1] J. Smith and J. Smith, "Software Requirements Document," 2013.
3
Current System or Situation
[This section shall be divided into the following paragraphs to describe the system or
situation as it currently exists.]
3.1
Background, Objectives, and Scope
[This paragraph shall describe the background, mission or objectives, and scope of the
current system or situation.]
3.2
Operational Policies and Constraints
[This paragraph shall describe any operational policies and constraints that apply to the
current system or situation.]
3.3
Description of Preliminary Software Design
The Software Preliminary Design phase begins during development of the SSS and SRS.
Preliminary software design supports modeling the [Project Name] system. The model is
placed under informal Software Design Team control and is used as input to the SDD. The
processes associated with preliminary software design are:




Specify architectural model
Develop class categories/classes/methods
Map software requirements
Conduct software design review
3.3.1 Specify Architectural Model Process
[This paragraph shall describe the architectural model process being used for the [Project
Name]. The entry criteria for this task are the completion of the formal design
methodology. The exit criteria for this task is the acceptance of the architectural model
and the allocation of requirements for the architectural components.]
2
Software Architectural Design (SWAD)
[Project Name]
[Example: An Architecture Working Group (AWG) is formed to address system-wide
architectural issues. The AWG participants are senior systems and software engineers and
representatives from each of the technical groups and teams on the [Project Name]. The
AWG defines an overall architectural model that depicts the logical and physical software
design for [Project Name].]
PRINCIPAL PARTICIPANT(S): Architecture Working Group (AWG)
ACTIVITIES:






Review available documentation on requirements, assumptions, and
constraints.
Formulate and evaluate architectural alternatives.
Select architectural model. Define entity-objects, their interactions, data flow,
and functional processes.
Allocate known requirements to architectural components.
Review architectural model and requirements allocation.
Software Project Manager accepts architectural model.
3.3.2 Develop Class Categories/Classes/Operations
[This paragraph describes the process followed to develop classes and operations. The
entry criteria for this task are the acceptance of the architectural model and the requirements
allocated for the project. The exit criteria for this task are to ensure that all class categories
/classes are defined and the architectural model is updated.]
[Example: The Develop Class Categories/Classes/Operations process follows an OOD
methodology to identify the top-level class categories, subordinate class categories, and
classes for the [Project Name] software design. It provides specific definitions of class
types, attributes, properties, and operations.]
PRINCIPAL PARTICIPANT(S): Software Design Team
ACTIVITIES:



Define class generalization hierarchy.
Define class categories and dependencies.
Define sub classes.
3
Software Architectural Design (SWAD)
[Project Name]




Define class attributes.
Define class operations.
Update architectural model.
Review and approve updated architectural model.
3.3.3 Map Software Requirements Process
[This paragraph describes the process followed to map the software requirements. The
entry criteria for this task are that the class categories/classes are defined and the known
software requirements are identified. The exit criteria for this task requires that the
software requirements are mapped to classes.]
[Example: The Software Design Team maps software requirements from the SSS to
classes. The mapping process may be repeated several times during the incremental design
of the software.]
PRINCIPAL PARTICIPANT(S): Software Design Team
ACTIVITIES:



Review known software requirements and identified class categories and
classes.
Using unique requirement identifiers, map the identified software requirements
to classes.
The Architecture Working Group verifies completeness and consistency of
requirements mapping.
3.3.4 Conduct Software Design Review Process
[This paragraph shall describe the process used to conduct the software design review. The
entry criteria for this task is that the software design is ready for review. The exit criteria
for this task is an approved software design.]
[Example: Software Design Reviews occur at all levels of the software design—from TopLevel through Detailed, and can encompass all or part of any set of software units. The
Software Design Team submits a software design package for review. Review schedule is
coordinated with the Software Development Manager. Separate reviews may be conducted
for overall Top-Level Design, or for localized software units. The Software Design Team
includes the results of the Software Design review conducted and the action items
identified and tracked to closure in the SDF for the reviewed software.]
4
Software Architectural Design (SWAD)
[Project Name]
PRINCIPAL PARTICIPANT(S): Software Development Manager
ACTIVITIES:






Software Design Team notifies Software Development Manager of readiness
for software design review.
Select software design review team participants, assign roles, and schedule
review.
Distribute software design review package to review participants.
Conduct software design review. Software Design Team leader presents the
design. Participants assess compliance with requirements, completeness,
efficiency, and adherence to design methodology. Participants identify and
discuss defects.
Recorder documents defects, action items, and
recommendations. Software designer includes record of software design
review in SDF.
Software Design Team corrects any defects in design. Update design review
material as required. Distribute recorded design review information
The Software Development Manager obtains the Software Project Manager’s
approval of the software design.]
3.4
Users or Involved Personnel
[This paragraph shall describe the types of users of the system, or personnel involved in
the current situation, including, as applicable, organizational structures, training/skills,
responsibilities, activities, and interactions with one another.]
4
Notes
[This section shall contain any general information that aids in understanding this
document (e.g., background information, glossary, rationale). This section shall include
an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this
document and a list of terms and definitions needed to understand this document.]
5
Download