Version |
Date |
Who |
Comment |
v0.0 |
10/08/14 |
Paul
Perdue |
Template |
v0.1 |
10/09/14 |
Paul
Perdue |
Added team
information. Added
Sections for the high level design Added Sections
for High-Level Architecture |
V0.2 |
10/10/14 |
Paul
Perdue |
Added High
level architecture diagram Added High
level architecture description |
V0.3 |
10/15/14 |
Paul
Perdue |
Added
Template styling scheme Added
Additional high level architecture description |
V0.4 |
10/16/14 |
Paul
Perdue |
Added
Design issue categories and details |
V0.9 |
10/17/14 |
Paul
Perdue |
Added
Design issues descriptions Fine Tune
design Added
hyper links |
V1.0 |
10/22/14 |
Paul
Perdue |
Final
Revision |
·
Design
The
front end application is the main visual module of the software abstractions.
The user will only interact with the front end application. The front end
application is responsible for presenting information to the user, providing a
usable interface for the user and allowing the user to input information. The
front end application will present the user with information. The calendar is
presented to the user in the front end application, the user will be able to
select a day, time and update the desire event in the calendar. The front end
application will present the user with planned events from the calendar, and
also show the user the suggested activity for that calendar event. The front
end application will communicate with the controller. If the user interacts
with the front end application data will be sent to the controller and the
controller will send data to the front end application updating the user
interface.
The
controller represents a critical part of the abstraction in the software model.
The controller is assigned many critical jobs, and the controller is
responsible for the communication between other software modules. The user must
not be able to interact with the controller directly. The controller will store
and load user data into the local user directories upon startup of the
application using the Windows Authentication API. The controller must
communicate with the front end application, upon user interaction data will be
sent from the front end application to the controller. The controller will send
data back to the front end application and the front end application will
update the presented information. The controller must also communicate with the
database server, the controller will have access to queries and database
transactions. The controller must be able to send data to the database server,
and must be able to query data from the database server. The controller is the
most critical part of the software abstraction and required for the software to
operate.
The
database is the software abstraction required for easy and efficient storage
for the program. The user will not be able to interact with the database
directly. The data base is responsible for storing user events, the user
profile, user calendar details, and user suggestions. The database will
efficiently store and load data onto or from a storage device such as the
hard-drive. The database will also load
user program calendar events after the startup of the application; the database
must load calendar dates, user events, and suggested activities. The databases
will load and store data only by the request of the controller. Upon controller
request the data base will load data and send it to the controller. The
controller will also send data to the data base, and the database will store
the data to the database storage such as the hard drive. The database is only a
load and storage container for the program.
The Calendar application must display dates, and time
accurately.
Must be able to maintain data integrity.
The application must have a low probability of failure.
The application must not fail during normal usage.
The application must execute successfully on Microsoft
windows.
The application targeted user platform is windows 7 and windows 8/8.1
The application must run on the targeted platform without error.
Isolating defects and correcting the defects.
Replacing faulty software components, and preventing unexpected break downs.
The software must be able to be optimized for efficiency.
The program must be able to meet new user requirements and must be tested for reliability.
Must be able to make future maintenance easier.
Must be able to cope with changed environments (Windows 8.1 to Windows 10)
The application must remain responsive to the user.
Must be able to remain stable under most workloads
Must be able to load and store data in a reasonable amount of time.
User must have responsive access to the application.
The database must maintain accuracy and efficiency.
The database must be free of data corruption.
Data base queries must be accurate and consistent.
User error must not interfere with database data.