Thursday, 19 September 2013

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