Low Level Design:
In this phase of the project you
are required to specified exactly the final
scope of your project and to
complete the design of your project, down to
the final details. This document
will include the final list of requirement and
low level design. Detailed design
will be done for the data layer,and the
GUI. Generally this document
should bringing the design to a lev el where it
can be used as complete plan for
your project implementation.
1
Summary of the problem domain
Copy a summary (update if
necessary) of your project problem domain from
your SRS.
2 The
Final Specification your implementation
In this section describes the
understanding, in writing, between you and your
client’s (the above authors E.K.
& G.W in this project) about the client’s
system requirements and
dependencies at this particular point in time: prior
to any actual development work.
The SRS is a two-way insurance
policy that assures that both the client
and you understand each other’s
requirements from each other’s perspective
at this point in time. From your
side, make sure that all the resources that
you need are available in BGU -
See section 6. Remember: Anything that is
not in section the you shouldn’t
be working on it. And if it is in this section
YOU are accountable to deliver
that functionality.
You can:
1. Copy the relevant requirement
functions from your SRS, and update/add
some, if needed.
2. You can give just a list of
the ID of the requirements.
3
Summary of the high level design
In this section, give an overall
summary of your intended solution. It is
actually a summary of the later
sections, so you might want to do it last.
Notice that by this stage you
need to take some decisions that might
effect your work greatly. It is
advised that you will review and experience
with several relevant tools prior
to your decision. Links will be on the web.
Give in this section:
• A complete updated package
diagram with dependencies.
• An updated components diagram
with all the modules, libraries and
tools that will be used.
2
• A summary of the runtime
platform for your application, summarizing
the following:
1. Programming language (with version,
if exists). See section 6.
2. Runtime environment, if any
(with version). See section 6.
3. Development tools. See section
6.
4. Tools used for data storage.
See section 4.
5. GUI toolkit (with version).
See section 5.
6. Any other external tools or
libraries.
4 Data
layer
In this section you are required
to decide and describe how the data will be
stored for persistence in your
application. Recommended options are to use
a database or XML. Other
structured data storage can be used if accompany
with convincing justification.
Notice that the data layer in
this project needs to handle these issues:
1. Parts and their composition.
2. Attributes of parts (color,
cost, etc.).
3. Libraries.
4. Various reports according to
your problem domain.
Throughout this section, always
describe:
• Queries and updates (for a
database).
• Relevant tags and tag’s
attributes (for XML).
• Exact way of parsing (for any
other solution).
Give in this section:
1. A short description of your
chosen solution for storage.
2. Which tools you are intended
to use - database engine, XML parser,
etc.
3
3. The Format used for storage
according to the selected solution:
• Database scheme for a database.
• Tags and attributes definition
for XML (can be DTD or schema).
• Format description for any
other solution.
4. A class diagram describing the
classes in the data layer and their relations
with other classes.
5. A sequence or collaboration
diagrams describing the following:
(a) Loading a library.
(b) Adding a new component to a
library or storing an entire library,
according to you solution.
(c) displaying and editing a part’s
attributes.
6. Describe briefly how other
reports will be generated and displayed.
5
Detailed GUI design
In this section you will finalize
the design of the user interface layer. Give in
this section:
1. Which toolkit (Swing, AWT,
GTK, MFC, or whatever, according to
your chosen programming lang.)
you are going to use in your application.
If your selected toolkit requires
an extra runtime library, mention
it.
2. Drawings of the windows of
your application. You can use any drawing
tool or generate a mock-up using
GUI editors. Show schematically
what user interface are you
planning to implement.
3. A class diagram showing all
classes you indented to use for your GUI
and their details. Specify
briefly which class belongs to which widget.
4. Sequence or collaboration
diagrams demonstrating how components are
edited on the drawing board.
6 IDE:
Programming language, tools and platform
Describe in this section briefly
the development environment you intended
to use. Start with the
programming language you choose to use in this
project and why. You can choose
any language you want, but languages
other then standard ones (Java,
C++, C#) needs to be authorized by the
TA1 by mail prior to submitting this
assignment. Please be advised that
“technical support” by the course’s
staff will be available mainly to Java and
C++.
Also describe in this section
what development tools you are intended to
use. You are strongly encouraged
to select advance and supportive development
environments. Sun’s Forte for
Java and Microsoft’s Visual Studio
are available at the labs for
Java, C++ and C#. Consult the TA for more
details.
Finally, specify to what platform
(Windows, Linux/Unix, etc.) you target
your application. You are
strongly encouraged to target a platformindependent
implementation. If so, specify
the design patterns that will
enable you to achieve this
target. If you intend your application to target a
specific platform (Windows,
Linux/Unix, etc.) then specify the the benefits
or the constraints that leads you
to enforce such limitation on your product
sell-ability.
Also specify any special run-time
environments you might need (JVM,
C# or VB runtime, script
interpreters, and likewise). For Java, specify the
JDK version as well.
No comments:
Post a Comment