Problem statement
In this case we have to address the following problems:
University of Tanstaafl (UoT) requires a centralize student attendance management system that can be used by teachers in the different departments of the university to record the attendance.
To reduce the attendance work load from teachers and administrators, who enter attendance data manually into the system.
Make the efficient use of card reader so that the attendance should be recorded accurately.
Existing database need to synchronise with another database in which border police have access, there should be no manual data entry into this database as there are chances of human error.
If a student fails to attend a module for three week, the respective lecturer receives an automatic notification whereas currently lecturer has to go through spreadsheet manually to find the students have short attendance.
To develop a reporting tool that shows different reports such as number of teaching sessions attended, the percentage attendance and the number of students who have been sent letters
System Objective
Following are the main objectives of the study that we need to achieve:
To develop an automated attendance system that resolves all the issues stated above.
Consider the best software development methodologies to develop a robust system.
User friendly system
Minimise human error
Well integrated with the Border police database
Minimise the use of paper sheets and registers
To develop user friendly reporting tool.
Limitations and Constraints
Project limitation influence the project in many ways, it depend upon project limitations whether or not to proceed with the project. Project limitations usually fall into several categories, by recognising these categories we have high chances to figure out the limitations of the project.
To find out the limitation of our project we have to go through the following categories:
Time Frame
Time is one of the crucial factor while development software, we have to produce certain within given time frame. We should avoid giving vague and unclear time frame to the user, with this limitation audience can demand software any time without any prior notice. We should be more precise about the time frame of the software development and we have to make sure to deliver on that time. Failure of delivery causes bad reputation among the audience of the project.
Resource Limitations
We have to be more specific about the resources we require to complete this project, we should avoid any vague statement, we need to have two full time resources for two months in order to complete this project on time.
While finding limitation of the project we have to make sure that we should not miss any information and if there is any conflict it is better to clarify that conflict before proceeding ahead. Once we know what audience expect and in order to determine whether we can meet those expectations we have to consider the following approaches: [5]
Consult with audience (drivers and supporters) to get the desired results on a given time, if there are any issues highlight with the audience before making any commitment.
Review all the facts and written material regarding this project.
In order to increase the accuracy of the project, try to confirm the limitations with different sources and make sure to note the source of every limitation.
Ethical Issues
Data protection is the most considerable ethical issue that we need address during the development of the Attendance Management System. The potential risk we can see is while synchronising data to Border police database, we need to make sure that Border police should not be able to access internal database and while synchronising we should send all the data across to their database.
There is another potential risk if lecturer lost data reader, to avoid this risk we should only capture Student Number, date and time.
Requirement
In order to find out the requirements we will consider the MoSCoW technique, MoSCoW is defined as follows:
Must: the requirements that system must need to perform operations.
Should: high priority requirements and should be done if we have enough time.
Could: good to have these requirements but project is acceptable without these
Won’t: the requirements need to be added in the future but not needed right now.
By using this technique we can priorities our requirements which need to be done now and the requirements that can be consider later on.
Functional Requirements
Must
There must be a login for every teacher / Administrator
Every teacher must have a card reader
System must keep the detail of the courses taught by a particular teacher
System must know the students enrol for every course
System must not accept if student is not enrol in a particular course
Teachers/Administrators must be able to perform download data operation from card reader
Teachers / Administrators must be able to perform view/Print reports operation
Teachers must receive an email if student is absent for three weeks
System must allow user to enter data in case of the failure of card reader
Should
Students should also have access to view their attendance (view only access)
System should allow user to download data in excel file as well
Search functionality should be implemented to search any particular student’s attendance
Could
System could send email to student which has short attendance
System could integrate with university moodle.
Every time when user login to the system it could alert on dashboard
Won’t
Border Police will not have access on attendance of non-international students
Border police will not have access on university database
System will never down
System will not allow user to delete any student’s demographic detail
Non Functional Requirements
Must
System must be easy to use and user friendly
System must be scalable so that modification could be done easily.
System must be reliable and available all the time
System admin must be able to create new user account
Should
System should be able to print customise reports
System should allow user to change layout of the report
System should show appropriate error messages
Could
System could allow user to change the colour theme
Won’t
System will not allow lecturers/Administrators to create new account
Testing
Testing is one the most important phase of software development, there are following phases of testing that we will go through during Attendance Management System development and testing:
Unit testing
Integration testing
User acceptance testing (UAT)
Unit Testing
Unit testing will perform during the development of the software system; programmer is responsible to perform testing on case by case bases. We use unit testing to perform a test on a smallest piece of testable code. In order to achieve desired results we need to isolate that code from the rest of the software and to determine whether it behaves according to our needs. [1]
Integration Testing
Integration testing is a combination of two or more unit tests that have already been tested. Integration testing identifies the problems when we combine unit tests. There are different techniques to do integration testing but the following three are very common: [2]
The Bottom-up approach
The top down approach
Umbrella approach
User Acceptance Testing
User acceptance testing (UAT) is the last phase of the testing, the actual users involved in this phase. In UoT attendance management system we would perform testing with the help of lecturers and administrators; after the successful testing phase we will roll on the software to use in a live environment.
Business Process – Narrative Description
Following are the steps in which explain how the Attendance Management System works, it will give insight picture of the system to the audience
Step 1 – Reset card reader
Step 2 – Lecturer to take attendance using card reader
Step 3 – After finishing the lectures, lecturer to connect card reader to software system to down load attendance.
Step 4 – Lecturer need to check whether the attendance has been updated into system or not.
Step 5 – If attendance has been updated into the attendance management system then reset the card reader otherwise repeat step 4.
Step 6 – Internal process will synchronise the student attendance record with border police database.
Step 7 – Lecturers and administrators can view different reports using reporting tool developed in the system.
Step 8 – SQL jobs will run to send alerts/emails to lecturers for students absent for more than three weeks.
Step 9 – Lecturers are able to print a letter, after signing the letter handed over to administrators to post the letter to the appropriate address of the student.
Cost Benefit Analysis
Tangible Costs
In order to develop a software system it is necessary to do cost benefit analysis. Tangible cost are expected cost to run a business, some of the tangible to a run a business are: salaries of employees, buying equipment for employees (i.e. computers, stationary), property to set up business etc. Existence of a business is not possible without a tangible cost, tangible cost are quantifiable. [3]
To develop UoT Attendance management system there are some tangible costs are involved in it, these costs are:
2 x Software developers required to work for two months on this project
2 x machines with windows operating system
4 x monitors (2 x monitors for each developer)
2 x licences for Visual studio
1 x licence for SQL Server 2008r2
Required card reader for each and every lecturer
User training
Tangible Benefits
Automated attendance system
Paper cost reduction (i.e paper sheets used for manual attendance)
Lecturers time
Administrators time
Intangible Costs
It is difficult to measure intangible cost, some common intangible costs are employees not happy with current working environment, customer dissatisfaction etc. Managers are usually estimate intangible cost when they see any pattern of loss in business.
Intangible Benefits
Accurate and fast access on data using attendance management system
Save time and effort in data entry
Healthy attendance of students in class room
Alternative Options
We can consider several other options, one of them is to take attendance on paper, but there are high chances of human error, in order to save lecturer’s time we could think of hiring at least two data entry specialist there job is enter all the attendance data into the system and also they would be able to generate different kind of reports on excel. By using this technique we can save administrators and lecturers time that they consume on data entry for student attendance. It is a traditional way to take attendance and there are chances of human error that can cost the career of any student, this method to take attendance is not acceptable where the Border police are involved and with a human error Border Police could cancel the study permit of any international student.
References
[1] https://msdn.microsoft.com/en-us/library/aa292197(v=vs.71).aspx
[2] https://msdn.microsoft.com/en-us/library/aa292128(v=vs.71).aspx
[3] http://smallbusiness.chron.com/tangible-costs-intangible-costs-51412.html
[4] http://arxiv.org/ftp/arxiv/papers/1409/1409.6600.pdf [Limitations of Agile software Development]
[5] http://www.dummies.com/how-to/content/project-management-how-to-define-project-constrain.html
[6] http://blog.learningtree.com/requirements-prioritization-technique-moscow-analysis/