Functional and Non-functional Requirements of TLS
The High Quality Institute (HQI), a technological training institute operates in the educational sector, offering courses in information and communication technology. The institution seeks to develop and deploy an advance Teaching and Learning System (TLS). The intended system will provide a range of services such as staff and student emails and a database management system for the institution. As such the project to develop this application will also entail configuring a database server a management, web and email servers.
Besides the configuration of the servers, a complete IT infrastructure has to be established at the institutions to support the deployment of the intended system as well as provide a secure and highly available communication and networking platform. The intended network will use a range of network devices including routers, intrusion detection systems and backup solutions.
The intension of the management at the institution is to develop and deploy two online systems; an Undergraduate Learning System (ULS) and a Postgraduate Learning System (PLS). These systems will be developed internally by the IT department of the institute.
The aim and objective of this report is to present a system analysis and design of the intended system for the institution. This will entail identifying the functional and non-functional requirements of the proposed Teaching and Learning System (TLS). The report will present a Work Breakdown Structure which will identify the various tasks required to accomplish this project. A PERT/CPM chart will then be developed. This will be followed by the identification of the critical path and time requirements for the project. The report also presents a data model of the student registration process by use of class diagrams. Finally the report presents calculations for the net present value, payback period and return on investment.
Theoretically, functional requirements refer to the expected functioning of the system to be developed (Wiegers & Beatty, 2013). These are the system’s features or what the system should do or provider for users. Functional requirements include the functions, reports, online queries and details of data to be held by the system (Wiegers & Beatty, 2013). On the other hand, Non-functional requirements refer to controls, constraints and attributes, which describe the systems and can be used in judging the performance of the system. These include attributes such as security, performance level, availability, reliability and usability (Wiegers & Beatty, 2013).
The functional requirements for TLS are;
- Enable assigning a student to an advisor
- Enable units registration
- Maintain student details and
- Maintain details of assigned advisor
- Maintain Course and Units details
Although the case study does not explicitly mention the course and units, from the other functional requirements, the system must have a function to keep track of all courses and units offered by the institution.
- Usability: the developed system has to be easy to use, to facilitate use by novice computer users.
- Availability: the system should be highly available at any time. The underlying infrastructure has to be designed in a way that provides high availability; with minimal or no downtime at all
- Reliability: the system should perform the required tasks consistently and reliably.
- Security: the system will hold personally identifiableinformation; as such the system should provide adequate data security for data in databases and on transit over the internet (Burke, 2013).
Work Breakdown Structure of TLS Project
A Work breakdown structure WBS outlines activities necessary to be performed in a project to attain the project’s deliverables. A WBS outlines the activities in a hierarchical subdivision of the project’s tasks into work areas, with the lowest level forming a work package (Dennis,Wixom & Tegarden, 2015). In a project a WBS forms the base of all the project management tasks from project planning, cost estimation, resource allocation and project scheduling. The Project Management Body of Knowledge (PMBOK) defines a work breakdown structure as a “deliverable oriented hierarchical decomposition of the work to be executed by the project team” (Burke, 2013). A WBS provides a structural view into a project. The main functions of a work breakdown structure include;
- Enables scope definition
- Facilitates resource allocation to tasks
- Enables the establishment of a control baseline
- Provides means of measuring project progress and accomplishments by defining milestones (Burke, 2013)
The work breakdown Structure for this project is as follows;
Task No |
Description |
Predecessors |
Duration |
1. |
Teaching and Learning System |
180 days |
|
2. |
Project Initiation and Planning |
7 days |
|
3. |
Project kickoff meeting |
1 day |
|
4. |
Stakeholder Identification |
1 day |
|
5. |
Risk Identification |
4 |
2 days |
6. |
Development of a project plan |
5 |
3 days |
7. |
Milestone 1: Project Charter Approved |
0 days |
|
8. |
Requirement Analysis |
12 days |
|
9. |
Requirement gathering |
5 days |
|
10. |
Functional Requirements analysis |
9 |
4 days |
11. |
Analysis of non-functional requirements |
10 |
3 days |
12. |
Milestone 2: System Requirements approved |
0 days |
|
13. |
Application Design |
12 days |
|
14. |
Application Basic Design |
5 days |
|
15. |
Technical Feasibility Assessment |
14 |
2 days |
16. |
Architectural Reference Group Presentation |
14,15 |
2 days |
17. |
Application Detailed Design |
15 |
5 days |
18. |
Milestone 3: Detailed Design Approval |
0 days |
|
19. |
Infrastructure Development |
11 |
11 days |
20. |
Network design |
12 |
3 days |
21. |
Laying of the network |
20 |
3 days |
22. |
Servers installation |
21 |
2 days |
23. |
Network and Servers configuration |
22 |
2 days |
24. |
Network testing |
23 |
1 day |
25. |
Development |
44 days |
|
26. |
Coding |
18 |
20 days |
27. |
Unit testing |
26 |
2 days |
28. |
Integration testing |
26 |
2 days |
29. |
Debugging |
28 |
2 days |
30. |
Milestone 4: Development Complete |
0 days |
|
31. |
Testing |
16 days |
|
32. |
Complete System testing |
30 |
2 days |
33. |
Debugging |
32 |
2 days |
34. |
User Acceptance Testing |
32 |
2 days |
35. |
System & User Interface Bug Fix |
33,34 |
2 days |
36. |
Milestone 5: Testing Completed |
0 days |
|
37. |
Launch |
6 days |
|
38. |
User Training |
36 |
5 days |
39. |
Deployment and GoLive |
38 |
1 day |
40. |
Closure |
10 days |
|
41. |
Document Lessons Learnt |
39 |
1 day |
42. |
Release Project Team |
41 |
1 day |
43. |
Finalize and Archive Project Documentation |
41 |
3 days |
44. |
Close Project |
43 |
1 day |
The critical path for the completion of the project is made up of;
- Project Initiation and scheduling
- Requirement analysis
- Application design
- Programming
- Hardware /network configurations
- Unit Testing
- System testing
- User training
- Project closure
In calculating the NPV the rate was taken to be 0 since the investment is a system
YEAR |
|||||||
No |
Category |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Value of benefits |
7000 |
7000 |
7000 |
7000 |
7000 |
|
2 |
Development Cost |
-20000 |
0 |
0 |
0 |
0 |
0 |
3 |
Annual Expenses |
-2000 |
-2000 |
-2000 |
-2000 |
-2000 |
|
4 |
Net benefits/costs |
10000 |
5000 |
5000 |
5000 |
5000 |
5000 |
5 |
Discount factor |
1 |
1 |
1 |
1 |
1 |
1 |
6 |
Net Present value |
($10,000.00) |
($5,000.00) |
($5,000.00) |
($5,000.00) |
($5,000.00) |
($5,000.00) |
7 |
Cumulative NPV |
($10,000.00) |
($5,000.00) |
$0.00 |
$5,000.00 |
$10,000.00 |
$15,000.00 |
From the cumulative NPV the payback period is 2 years.
Initial investment was 20,000 but year zero had a return of 10,000, meaning the effective initial investment was -10,000
Year |
Cash Flow |
Payback |
0 |
-10000 |
|
1 |
5000 |
-5000 |
2 |
5000 |
0 |
3 |
5000 |
|
4 |
5000 |
|
5 |
5000 |
Initial investment was 20,000 but year zero had a return of 10,000, meaning the effective initial investment was -10,000
Year |
Cash Flow |
0 |
-10000 |
1 |
5000 |
2 |
5000 |
3 |
5000 |
4 |
5000 |
5 |
5000 |
Total discounted benefit amount = 25,000
Total discounted cost amount = 10000
ROI = (benefit – cost) / cost = (25,000 – 10000)/10000 = 1.5
Therefore return on investment = 150%
Conclusion
This report has presented an outline of a project intended to develop a Teaching and Learning System (TLS) at the Quality Institute (HQI). The report has presented a system analysis and design of the intended system. The identified functional and non-functional requirements of the proposed Teaching and Learning System (TLS) have been presented. The report has also presented a Work Breakdown Structure which identifies the various tasks required to accomplish this project. A PERT/CPM chart was developed, which outlines the critical path for the project. . The report also presented a data model of the student registration process by use of a class diagram. Finally the report presents calculations for the net present value, payback period and return on investment. From the analysis, the project is a very viable one, with a very high return on investment and a short payback period. The project should therefore continue to the implementation stage as it is feasible and viable.
References
Burke, R. (2013). Project management: planning and control techniques. New Jersey, USA.
Dennis, A., Wixom, B. H., & Tegarden, D. (2015). Systems analysis and design: An object- oriented approach with UML. John Wiley & Sons.
Hobel, B., & Schütte, S. (2013) Work Breakdown Structure. John Wiley & Sons.
Larson, E. W., & Gray, C. (2013). Project Management: The Managerial Process with MS Project. McGraw-Hill.
Li, F. L., Horkoff, J., Mylopoulos, J., Guizzardi, R. S., Guizzardi, G., Borgida, A., & Liu, L. (2014). Non-functional requirements as qualities, with a spice of ontology. In Requirements Engineering Conference (RE), 2014 IEEE 22nd International (pp. 293- 302). IEEE.
Wiegers, K., & Beatty, J. (2013). Software requirements. Pearson Education.