TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity...
Transcript of TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity...
1
Faculty of Computer Studies
Course Code: T471a
Course Title: Telematics- Project
TMA Assignment
Student Name: Zeinab Badr Azzam
Student ID Number: 501503407
Course Section Number: 5101
2
Question 1:
Title:
Class management system (CMS android application).
Aims of the Project:
The basic aim of this system is to help in scheduling and managing courses timetables efficiently.
It wishes to be one of the most fundamental aspects of high quality education since it considers all kind of rooms, course, staff, and students for a particular time slot with no slots collide or overlaps.
It will help the administrator in planning sophisticated timetables easily, and will allow them to update them as required.
Besides that, it will work as a contact point between tutors and students, as needed, in urgent situations such as canceling and scheduling extra classes.
Also, it will keep users informed with Notifications whenever any updates or changes happen to their schedule.
This project involves building an efficient application for android based systems whereby
there will be a corresponding web page for administrators to supply the database.
Question 2:
Problem with a scenario:
Every semester our university face from some problems due to the complexity of courses
timetables and how to manage them adequately.
Administrates find it hard to schedule the increased numbers of courses in an optimal
way beside taking consideration of the
available lecture rooms,
collide avoidance between courses,
Limited availability of lecturers and similar
Moreover they have to work manually to plan the schedule which is costly and time
consuming (Manual system does not mean working with pen and paper, it also include working
on spread sheets and other simple software's).
3
On the other hand, Tutors also find it difficult to inform students about extra or canceled
classes in urgent situation, as using emails or short message service (SMS) is not practical
and time consuming nowadays.
Besides that, when they try to make extra or makeup classes they get the same problems
faced by administrators from confliction, classrooms availability, and so on.
Project Scope:
The proposed system will deal with people involved in the educational process. It is
particularly introduced as an integrated platform for managing classes’ timetables in the
environment of the Arab Open University. The system interface will deal with the
following:
1. Administrators: adding, updating or removing basic timetables.
2. Tutors: cancelling or scheduling classes.
3. Students: planning daily schedules.
Target customers:
The main stakeholders are:
1. Students.
2. Tutors.
3. Administration.
4. University management.
5. System maintainer.
Suggested solution:
For this scenario, I purpose to use class management system. This system will be as an
aid to tutors as well as students to have an organized and efficient management of their
courses schedule. By logging in, tutor can check his timetable, cancel a class, and
schedule extra class easily.
Also, Student can view his daily schedule, notified about upcoming, cancelled, and extra
classes
4
Admin, who is responsible to provide the basic timetables of the courses to both students and tutors, will be supplied with many options and features to come up with consistent timetables easily. The program will be implemented as a distributed web-based, application, and data should be stored in a database.
Description of the activities needed:
To implement the idea of my project and to produce a high-quality software system I will
take consideration of the agile methodology as it is really flexible, and it will allow for
changes to be made in the project development requirements even after the initial
planning has been completed.
Also, I will follow the process of Software Development Life Cycle (SDLC) which involve the
known technical activities; requirements analysis, Design, Implementation and Testing.
In the analysis activity, I will start by eliciting the requirements upon consulting the
stakeholders (administrators, tutors, students) of the system, then I will analyze those
requirements (categorize and prioritize them), document, and validate them.
After that I will go through the design activity, I will decide how to allocate the expected
functionality to each part of the system. Through the following
1. Drawing Interaction diagrams using UML. 2. Choosing an appropriate Database Management System (DBMS). 3. Establishing system security standards. 4. Designing the user interface.
By reaching the implantation (coding) stage, it will require the most effort and time as the
actual development starts, and the physical system specifications are converted into a
working solution. Eventually, the final product will be built.
Testing is the final activity that involve Link testing which ensures that programs work
together, System testing which ensures that the system as a whole performs according to
the design specification, and finally, user acceptance testing which is carried out by the
users to ensure that the system is usable.
5
Word count: 601
Question 3:
Task Name Duration Start Finish
-- Graduation project 226 days 10/9/2018 1/5/2019
1 Planning stage 26 days 10/9/2018 8/10/2018
2 Thinking about an existing problem and solution 2 days 10/9/2018 11/9/2018
3 Getting out with a project idea 4 days 12/9/2018 16/9/2018
4 Refining the idea information 7 days 17/9/2018 24/9/2018
5 Initial work I the domain model 6 days 25/9/2018 1/10/2018
6 Deployment of the proposal 6 days 2/10/2018 8/10/2018
-- Requirement and analysis stage 30 days 12/10/2018 12/11/2018
7 Working the requirement activities(elicitation, analysis, validating) 5 days 12/10/2018 17/10/2018
8 Refining functional and nonfunctional requirements 3 days 18/10/2018 21/10/2018
9 Building basic UML diagrams(use case, activity, and class diagram) 8 days 22/10/2018 30/10/2018
10 Submitting TMA 1 12 days 1/11/2018 12/11/2018
-- Design stage 52 days 7/11/2018 31/10/2018
11 Submitting report 1 10 days 7/11/2018 17/11/2018
12 Building basic interaction diagrams 6 days 18/11/2018 24/11/2018
13 Start designing the user interface 11 days 25/11/2018 6/12/2018
14 Prepare and perform presentation 1 6 days 6/12/2018 12/12/2018
15 Examination rest 7 days 13/12/2018 20/12/218
16 Resume designing the user interfaces 3 days 21/12/2018 24/12/2018
17 Designing the database 7days 25/12/2018 31/12/2018
-- Implementing stage 89 days 1/1/2019 30/3/2019
18 Exploration 7 days 1/1/2019 8/1/2019
19 Installation 3 days 9/1/2019 12/1/2019
20 Initial implementation 17 days 13/1/2019 30/1/2019
21 Full implementation 50 days 1/2/2019 20/3/2019
22 Submitting TMA 2 7 days 21/3/2019 30/3/2019
-- Testing stage 10 days 1/4/2019 10/4/2019
23 Testing unit, integration, and acceptance of the system 2 days 1/4/2019 2/4/2019
24 Fixing errors 7 days 3/4/2019 10/4/2019
-- Deployment stage 19 days 11/4/2019 1/5/2019
25 Submitting report 2 8 days 11/4/2019 19/4/2019
26 Prepare and perform the final presentation 11 days 20/4/2019 1/5/2019
Figure 1: schedule for the project
6
Figure 2: Gantt chart for the project
Question 4:
Functional requirements of admin
NO. Functional requirements
R1 The system have to enforce the administrator to sign in.
R2 The system shall allow only the administration to schedule the timetables.
R3 The system shall allow only the administration to update the timetables.
R4 The system shall allow only the administration to assign tutors and students as members.
R5 The system shall allow only the administration to appoint tutors and students to courses.
7
Functional requirements of tutors
NO. Functional requirements
R7 The system have to enforce tutor to sign in R8 The system shall allow tutor to view their courses timetable R9 The system should enable tutor to cancel a class in urgent situations R10 The system shall enable tutor to schedule extra or make-up classes R11 The system should supply tutor with information about the availability of
classrooms in case of extra class or make-up R12 The system shall notify tutor in case of a student confliction with other course R13 The system should notify tutor about upcoming classes
Functional requirements of students:
Non-Functional requirements
NO. Non-Functional requirements class
R19 The system must be user friendly and easy to deal with usability R20 The system shall have a consistent, intuitive, and descriptive UI Look and feel R21 The system will have server for the database and connection to the
main database Operational
R6 The system shall allow only the administration to monitor the whole changes made by tutors in the timetable.
NO. Functional requirements R14 The system have to enforce student to sign in R15 The system shall allow student to view the courses timetable R16 The system shall notify student of cancelled classes R17 The system shall notify student of make-up or extra classes R18 The system shall allow students to request to change the lecture time
8
R22 Only the person who has user name and password can access the system.
Security
R23 No one can change the password without login to the system. Security R24 The system shall have high availability Availability R25 The system shall have downtime only during low-intensity hours performance
Software requirements:
Visual studio 2010 used to write the codes of the android app
SQL 2008 Used to establish the system Database
Android studio IDE used to write the code of the admin website
Sketch used in designing user interface
SmartDraw and draw.io used to make UML diagrams
Microsoft office project used to schedule the project plan
Microsoft word used in doing the project assignments
Microsoft PowerPoint used in doing the presentation
Microsoft excel Used in making tables and some charts.
Hardware requirements:
1. Personal computer:
CPU type: Intel Pentium 4 RAM - as minimum.
size: 512 MB
hard disk capacity: 40 GB
2. Android mobile or tablet.
Quad core Processor or higher.
1 GB RAM
Question 5:
Initial map, activity, and usecase diagrams that shows the software operation of the
system:
9
Figure 3: System map
%3C mxGraphM odel%3E%3Croot%3E%3C mxCell %20id%3D %220%22%2F%3E%3C mxC ell%20i d%3D%221%22%20parent%3D %220%22%2F%3E%3C mxC ell%20i d%3D% 222%22%20style%3D %22vsdxID%3D64%3BedgeStyl e%3Dnone%3Bdashed%3D 1%3BdashPattern%3D 1.00%204.00%3BstartArrow%3Dnone%3BendArr ow%3Dnone%3BstartSize%3D 9%3BendSize%3D9%3Bstr okeCol or%3D%23000000%3Bspaci ngTop%3D-3%3Bspaci ngBottom%3D-3%3Bspaci ngLeft%3D-3%3Bspaci ngRight%3D-3%3BverticalAlign%3D mi ddl e%3Bhtml%3D 1%3Bl abel Backgr oundC ol or%3D none%3Brounded%3D 0%3Bentr yX%3D0.037%3BentryY%3D 0.669%3Bentr yPeri meter %3D 0%3B%22%20edge%3D %221%22%20par ent%3D%221%22%3E%3C mxGeometr y%20rel ati ve%3D%221%22%20as%3D %22geometr y%22%3E%3CArr ay%2 0as%3D %22poi nts%22%2F%3E%3C mxPoi nt%20x%3D%22343%22%20y%3D%22622%22%20as%3D%22sourcePoint%22%2F%3E%3C mxPoi nt%20x%3D%22415.5%22%20y%3D%22599.8333333333334%22%20as%3D%22targetPoi nt%22%2F%3E%3C %2FmxGeometr y%3E%3C%2FmxC ell%3E%3C %2Fr oot%3E%3C %2FmxGraphModel%3E
10
Figure 4: use case diagram
11
Figure 5: use case diagram
12
Figure 6: activity diagram
13
Class model which illustrates the structure and components of the system:
Figure 7: class diagram
During the initial design of my system, I used UML model language with the help of
lucidchart and Draw.io programs. Although the UML language is a helpful tool, but I have
faced some limitations on it as follow:
1. It takes from me a lot of time to plan the diagrams and keep them logical and
reasonable.
2. I could not represent every condition in the activity diagram, as I found that it will
promote complexity on it, and therefore become confusing to the involved parts.
14
3. Besides that, it lacks of expressiveness as it's hard to point out what's important, and what's not.
4. And finally, it can only shows one isolated side at once (either class, use case, or
activity diagram) but what I need for a good understanding is a mix of those
diagrams.
Question 5:
In the near future, I intend to work in 2 parts simultaneously:
The first part: I will work in the design activity – designing the user interface and database
- this step come after I have identified and analyzed the requirements, it is important to
the success of the project as it will help me in specifying exactly hardware and system
requirements and in defining the overall system architecture.
The second part: I will work in the report 01 assignment as I have to submit it, at
maximum, by the end of this month.