TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity...

14
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

Transcript of TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity...

Page 1: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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

Page 2: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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).

Page 3: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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

Page 4: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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.

Page 5: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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

Page 6: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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.

Page 7: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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

Page 8: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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:

Page 9: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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

Page 10: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

10

Figure 4: use case diagram

Page 11: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

11

Figure 5: use case diagram

Page 12: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

12

Figure 6: activity diagram

Page 13: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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.

Page 14: TMA Assignment · 2019-09-28 · TMA Assignment Student Name: ... Testing is the final activity that involve Link testing which ensures that programs work ... Android mobile or tablet.

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.