Design Description

advertisement
Public Transportation System Product Line
Design Description
Version 1.0
Doc. No.:
Project Name Public Transportation System Product Line
Design Description
Version:
1.0
Date: 2010-10-08
Revision History
Date
2010-10-08
Version
0.01
Description
Initial Draft
Author
Manish Kungwani
Page 3
Project Name Public Transportation System Product Line
Design Description
Version:
1.0
Date: 2010-10-08
Table of Contents
1.
Introduction
5
1.1
1.2
1.3
1.4
Purpose of this document
Intended Audience
Scope
Definitions and acronyms
1.4.1 Definitions
1.4.2 Acronyms and abbreviations
1.5 References
5
5
5
5
5
5
6
2.
External interfaces
6
3.
Software architecture
6
3.1
3.2
3.3
6
8
8
Conceptual design
System specification
Error handling
4.
Detailed software design
8
5.
Approvals
8
Page 4
Project Name Public Transportation System Product Line
Design Description
1.
Introduction
1.1
Purpose of this document
Version:
1.0
Date: 2010-10-08
The purpose of the document is to record the overall design for the Public transportation
System project for DSD course and to help the team members to clarify all the doubts
regarding the implementation of the design.
1.2
Intended Audience
Document is made for:
1.3
•
Project team – Design of the implementation.
•
Project supervisor – Overview of Design and evaluation
•
Customer – Design Validation
Scope
Scope of this document is:
•
The Solution Design and its description
•
External Interfaces
1.4
Definitions and acronyms
1.4.1
Definitions
Keyword
Software product line
Factory Method
Umple
1.4.2
Definitions
Software engineering methods, tools and techniques for creating a
collection of similar software systems from a shared set of
software assets using a common means of production.
The Factory Method of development is a way of development
which ensures integrity of an overall system even after rigorous
changes in the implementation of the classes. It is a widely used
Object Oriented pattern.
A modeling language under development, being used by the team
to develop the system model.
Acronyms and abbreviations
Acronym or
abbreviation
Definitions
Page 5
Project Name Public Transportation System Product Line
Design Description
1.5
Version:
1.0
Date: 2010-10-08
References
[1] Timothy C. Lethbridge, “Building a Public Transportation System Product Line”. SCORE
project proposal document. Available at
http://score-contest.org/2011/projects/Lethbridge.PubTransSysProdLine.pdf
2.
External interfaces
The external interface required by the system is instance specific and we will demonstrate a graphical
and console interface with the different demonstrative instances of the product line.
3.
Software architecture
3.1
Conceptual design
The system architecture is shown in the following figure:
Page 6
Project Name Public Transportation System Product Line
Design Description
Version:
1.0
Date: 2010-10-08
The architecture is as:
 The Lowermost Layer would be the Database server which will house the data by the
application. Being an instance specific Decision, the Product line will have flexibility
to accommodate variations for the storage model.
 The Second Layer will be the application:
o Includes the Persistent entities e.g. Vehicle-Train, Bus. Stops – Bus-stop or
Train-station, etc. These are classes which define the data storage and rules
enforced upon them. Also, these will be directly mapped to the Database
structure. Being exposed via interfaces, although the implementation might
change as per the instance, but the integration will not suffer. This Module
adheres to the Factory Method of Development.
Page 7
Project Name Public Transportation System Product Line
Design Description
Version:
1.0
Date: 2010-10-08
o

3.2
The Logic module will be used to enforce all the algorithms, do all the
calculations and other processing on the data to produce the schedules and
material results from the system. It will have interfaces and classes defined
using Umple and the implementation of the logic will be in Java (embedded in
procedures). This Module adheres to the Factory Method of Development.
The Third Layer will have the application exposed functionality with all the access
and business rules to provide access to the users to the required functionality.
System specification
The product line application will be developed in Java and being a product line, has no specific
Application or Database hosts defined. As a part of the requirements, we will be applying the system
to 3-4 cases out of which at least 1 will be of a real city or area.
The tools that we will use are:
 Eclipse
 Umple Eclipse Plugin
 ArgoUML
The technologies that we are using are:
 Umple for model design
 Java
 As Umple development is an extended feature, all such development, if done will be
accounted for, in the later revisions of the document.
3.3
Error handling
Error
4.
Action
Detailed software design
The software design of the system will be a realization of the architecture and will fulfill the
requirements of the Requirement Description Document as agreed upon by the customer, the
supervisor and the team.
5.
Approvals
Name
Title
Date
yyyy-mm-dd
Signature
Page 8
Download