Introduction
In this phase we produce the design specification for the PSS software. The specification includes Architectural design, Data design, Component-level design and Interface design. We will discussion all them.
Architectureal design:
An early stage of the system design process, the suitable architectural design style is "decomposition style" because the sub-system in this project are decomposed, and the suitable model is"pipeline model" because the system is decomposed into functional modules witch transform inputs to outputs.

:Data design
ER

Data base schema
(Student (Student_name, ID, DOB, tel_no, street, GPA
(Staff (staf_name, staff_num, salary, office_hour , schedule_num ,personal _agendnce
(Project_ presentation( start_date, end_date, cor_num, prj_num
(Sechedule(personal _agendnce, exclusion_set, preference_set, ID
(Project(prj_num, prj_name, supervisor, ID, staf_num
(Conflect(conf_name, cause,start_dat
(coordinator (cor_num, cor_name, off_hrs
Data Dictionary showing description of 7 entities
|
Occurrence
|
Aliases
|
Description
|
Entity name
|
|
Each student has an ID
|
pupil
|
General term describing all students of the department of information technology
|
Student
|
|
Each member of the staff has a number, an office and an Agenda working according to it.
|
employee
|
General term describing all staff of the department
|
Staff
|
|
Each presentation has a time to be held in
|
meeting
|
Time to present the project
|
Project Presentation
|
|
Each schedule belongs to either a student or an employee
|
timetable
|
A table that shows the daily routine of the student or the employee
|
Schedule
|
|
Each project has an ID and a supervisor
|
plan
|
projects required for graduation
|
Project
|
|
A conflict has a cause
|
clash
|
A time that is not suitable for a student or a member of staff
|
Conflict
|
|
Each coordinator has a name
|
supervisor
|
A person who tries to set up a suitable time between students and staff
|
Coordinator
|
Data Dictionary showing description of 4 relations
|
Multiplicity
|
Entity name
|
Relationship
|
Multiplicity
|
Entity name
|
|
1…1
|
schedule
|
has
|
0...1
|
Student
|
|
1…1
|
project
|
enters
|
0…*
|
Staff
|
|
1…1
|
project
|
Is required by
|
1…1
|
Project Presentation
|
|
1…1
|
staff
|
Is entered by
|
0…1
|
Schedule
|
|
1…1
|
project
|
enters
|
0…1
|
student
|
|
0…1
|
conflect
|
has
|
0…*
|
project presentation
|
|
1…1
|
Project presentation
|
enters
|
1…*
|
Coordinator
|
Data Dictionary showing description of 4 attributes
|
PK
|
Range
|
Default value
|
Multi valued
|
Nulls
|
Length
|
Data type
|
Description
|
Attribute
|
Entity name
|
|
Y
|
1970-2008
|
|
No
No
No
No
|
No
No
No
Yes
|
9
10
6
9
|
Varchar
Varchar
Date
Varchar
|
Uniquely identifies a student
Name of the student
Date of birth
Contacts of the student
|
Student ID
name
DOB
Tel number
|
Student
|
|
Y
|
|
|
No
No
No
No
|
No
No
No
No
|
9
10
6
2
|
Varchar
Varchar
float
float
|
Uniquely identifies a staff
Name of staff
Money a staff gets for his/her work
Hours of free time
|
Staff num
name
salary
office hour
|
Staff
|
|
Y
|
|
|
No
No
No
No
|
No
No
No
No
|
6
6
9
2
|
date
date
Integer
integer
|
The time when students can start present their projects
The time when projects can't be presented anymore
The number of the
coordinator
The number of the project
|
Start date
End date
Cor num
Project number
|
Project presentation
|
|
Y
|
|
|
No
No
No
No
|
No
No
No
No
|
10
6
6
9
|
Varchar
Varchar
Varchar
Varchar
|
A timetable that a student or a staff have to follow
A time that is not suitable for a student or a member of staff
The preferred time
A number that identifies a schedule
|
Personal
agenda
Exclusion set
Preference set
ID
|
Schedule
|
|
Y
|
|
|
No
No
No
No
|
No
No
No
No
|
9
15
9
9
|
Integer
Varchar
Varchar
Varchar
|
Uniquely identifies a project
The name of the project
The person who observes all of the project
The number of staff
|
Project number
Project name
Supervisor
Staff num
|
Project
|
|
Y
|
|
|
No
No
No
|
No
No
No
|
15
15
6
|
Varchar
Varchar
date
|
The name of the conflict
What caused the conflict
When did the conflict happen
|
Conflict name
Cause
Start date
|
Conflict
|
|
Y
|
|
|
No
No
No
|
No
No
No
|
9
9
2
|
Varchar
Varchar
Float
|
Uniquely identifies a coordinator
Name of the person
Times of free time
|
Number
Name
Office hours
|
Coordinator
|
:Component-level design
ReadPresentationDate( )
Algorithm :
the coordinator input the start date
Read the start date
If the start date is not a date type
Print error message
the coordinator input the end date
Read the end date
If the end date is not a date type
Print error message
daterange<- startdate,end date
which that daterange is an array
……………………
ReadStudentInfo( )
algorithm:
read the projecrtname
read the studentID and copmare it with inital value in the system
if(true studentID)
save all info. as astudent
and invisible staffid bottun
else
read staffID and copmare it with inital value in the system
ReadStaffInfo( projectname)
take any project name or the current project name and count the student that regist in the same project name(every 5 student in the project)
if ( count <=5 & have the same projectname)
{
readAgenda(agenda)
the student input there exclusion's
Read exclusion
ReadExclusion(exclusion)
the student input her preference
Read preference
Readpreference(preference)
IsInDateRang (DateRang, PreforExcSet)
count ++}
…………………..
ReadStaffInfo( projectname )
algorithm:
read the projecrtname
read the studentID and copmare it with inital value in the system
if(true staffID)
save all info. as astudent
and invisible staffid bottun
else
error msg"you are not a student or a staff"
count 1 staff of the same project name and save info.
if ( count <=1 & have the same projectname)
{the staff input her agenda
Read agenda
readAgenda(agenda)
the staff input her exclusion
Read exclusion
ReadExclusion(exclusion)
the student input her preference
Read preference
Readpreference(preference)
IsInDateRang (DateRang, PreforExcSet)
count ++}
ReadAgenda(agenda)
algorithm
Read the agenda , or "*" if there is not agenda , or "-" to exit entering
While agenda is not "-" and day is less than 8
Copy agenda into personalAgendas[day][1] , and don't copy agenda if it is "*"
ReadExclusion(exclusion)
algorithm:
Read the exclusion , or "*" to stop
While exclusion is not "*" and there is a space in the exclusionSet array
Copy the exclusion in the exclusionSet
ReadPreference(preference)
algorithm:
Read the preference , or "*" to stop
While preference is not "*" and there is a space in the preferenceSet array
Copy the preference in the preferenceSet
Algorthims are:
1- Enter the period time by the coordinator...
2- Enter the (personal agendas, exclusion set, preference set) for student /staff...
3- Compare the info. Sets that have been entered by student/staff with period time...
4- Conflict info. & solve it..
5- Display result to the user...
and we have an extra algorthims we need..
IsInDateRang (DateRang, PreforExcSet) -> Boolean
Algorithm:
check If all PreforExcSet in DateRang
Return true
Else
Return false
Compare (StuPref&ExcSets, StaffPref&ExcSets, stuPersonalAgenda, staffPersonalAgenda, ProjecName, DateRange)
Algorithm:
Compare between a student preferences set with all student preferences sets and then with preferences set of staff
If there are some of them equal put it in CommonPrefSet array
Else Print there is no CommonPrefSet
Compare between a student exclusions set with all student exclusions sets and then with exclusions set of staff
If there are some of them equal put it
Else Print there is no CommonExcfSet array
Compare between all free times in a student personal agenda with all students personal agendas and then with
Personal agenda of staff
If (there are some of them equal put it in CommonPresonaAgendas array
Else Print there are no CommonPresonaAgendas
FindSlot (CommonPrefSet, CommonExcSet, CommonPresonaAgendas, ProjecName, DateRange)
FindSlot (CommonPrefSet, CommonExcSet, CommonPresonaAgendas, ProjecName, DateRange)
Choose any date in date rang and any time in CommonPresonaAgendas
If (there are no dates in DateRange or this date and time belong to CommonExcSet)
if no date in date rang Print Conflict error Msg : there are no dates in DateRange: expand DateRange !!
ReadPresentationDate( )
if this date and time belong to CommonExcSet Exclusions setsPrint Conflict error Msg :: this date and time belong to CommonExcSet, remove some CommonExcSet
ReadExclusion(exclusion)
Else If (this date and time not belong to CommonPrefSet)
Print error Msg "Conflict: this date and time not belong to preferences sets:
ReadPreference(preference)
Else ProjectDate&Time<-this date and time and allocate it for this ProjecName
DisplayProjectPresentaionSchedule ( )
Algorithm:
for all presentations schedules
print ProjectDate&Time and ProjectName
Interface design:
In the interface design we design the forms that users deal with online, however it should have all information we need to implement the inputs then give the user a suitable result( in our project there are suitable sets for students and their staff).
This is the first picture shows that coordinator will enter the date range
When you see the picture you will understand that the coordinator first should enter his personal ID if it is coorect ,the the period time of the presentations will be visible (just by the coordinator) that why we put the invisible date range ..
then the information about the students/staffs will be visible to them, after that they enters the ID 's of them ,if it a student he entered the ID in the textbox of hem and then the staffID will invisible to hem to aviod that student make an ID of staff and that info. of the student saved in student section ( the opposite is true eather), after that they must enters their (personal agendas, exclusion set and preference set) then they will click start button to make the system start operations,like these picture:
as you see from previuos picture if the staffID OR studentID have been entered in correct way the system will check it from the DataBase ,check if it correct, then he know that info. entered will be the staff info. or student info. and save it in the DateBase ...
If there is a conflict from the beginning if doesn't have, the system will complete its responsibilities then give the user the result (project presentation set).
When the user enters a wrong input like typing wrongly the date of exclusion/preference sets, it will show these message error.
When there are conflicts it will show an error message to the user to have a solution of this problem and prompt them to enter a new preference set or delete exclusion set... and this is the error message
then it will prompt the user to enter a new preference date OR delete exclusion date like follows....
the system returns to ensure that the date added is in the period time, and so on....
Then if every thing is OK the system work and then give the users the result as follows:
Comments (4)
Areej said
at 2:19 pm on Apr 25, 2008
معليش ياريم لكن حبيت اقولك شغله ياريت تعدلين على حجم الكتابه بحيث كلهم نفس الحجم ويكون واضح بس ما هو كبير ارجعي للمرحله الاولى اللي انا عملتها وشوفي الاحجام والالوان لاني ابغاك تمشين عليها لان الاسود والوردي مو حلو,,, وشكرا
Areej said
at 2:20 pm on Apr 25, 2008
وشغله ثانيه ياريت الصور تكون بالوسط من الصفحه ارتب في القراءه وانا شايفه صوره غاده مو واضحه ما ادري ليش انا الان بشوف السبب,, وشكرا
green._.eyes@... said
at 4:30 pm on Apr 27, 2008
اوك اريج انا قرات ملاحظاتك وانا الان بعمل كل المطلوب وبخلصه كله اليوم انشالله
green._.eyes@... said
at 8:04 pm on Apr 27, 2008
خلصت الديزاين بالكامل صح انا ماغيرت الالوان لان جد انا تعبت وماعندي وقت بكرا كوزين لو حابه تغيرينهم اريج ماعندي مانع
You don't have permission to comment on this page.