Question 1:
I recommend using Agile methodology for the following reasons:
a, Requirements characteristics:
- Reliability:
+ It was stated clearly above that there is a problem that needs to be overcomed, and an
application is required to overcome this problem.
+ The project requirements are well-defined and possible.
+ It can immedate run while the project finished.
=> The project is expected to be highly reliable.
- Types and number of requirement:
+ In this project, there are both functional and non-functional requirements.
+ The project has a lot of functional and non-functional. The project need to
device functions to each people such as:
For Lecturers/Staff: Providing the ability to register bus routes, change bus
routes and view currently registered bus routes.
For Admin Staff: They are provided the ability to synthesize weekly bus
schedules of staffs and lecturers, schedule vehicles for bus routes, record
and summarize costs for bus trips.
For Admin Manager: They are provided the ability to view bus schedules for
weekly trip, approve weekly bus schedules, and view vehicle cost summary.
For Academic Staff: Providing the ability to entering lecturers’ lecture
schedules exported from FAP, synthesizing lecture bus schedules from
lecturers’ lecture schedules, transferring lecturers bus schedules to the
administrative department.
+ Moreover, there are a lot of functions that need to create such as: allow users to log in with FU’s
email account. Needing some non-functional as security, high performance, reliability,…
Types and number of requirements defined this project is very complex and many
functions.
- How often the requirements can change (Frequency of requests may change):
+ Because this is a new development system. Also, it has not had a similar system
before. So that, it may be change during the development process.
+Furthermore, the SBMS is a new development system, there for the system may be
many change during the development process.
=> The requirements may be changed regularly in the future.
- Determination of requirements at an early stage
The requirements determinate early and have well-defined. However, this is the new
system, so that, the project may encounter changes or adjustments throughout the
development process to accommodate customer requirements
=> It is well-defined but not enough.
b, In term of development team:
Team size: Our team will include 4-6 extensive experience and skills developers.
Level of understanding of user requirements by the developers:
+ Our team is supported by IT department in FU. Therefore, members in IT
department can help our team understand about requirements.
+ Also, other departments commit to sending employees to join the project to
support out team. So, all of the requirements defined clearly above and our
members can understand.
+ Moreover, all members in our team has a lot of experience and skills.
Our team can easily understand and build an application that meets the requirements.
c, In term of user involvement
- Our team is supported by IT department in FU. Also other departments commit to
sending employees to join the project to support out team.
=> The organization can provide additional resources and information when needed. The user
involvement is high.
In conclusion, the software development methodology that I suggest for this situation is Agile. This is
a complex project, so that our team need to device project into smaller parts to be more easily. Also,
this project can be change easily due to the new system and change to provide use requirements.
Our team is a professional team with the supportive of FU’s members, they can support our team to
provide more resources when needed. It can assist customers in deploying the product early and
collecting reviews and feedback from users to improve the product better.
The development model that I bests fits the factors I identified is Scum. Because scum model
suitable for complex projects with multiple requirements and the project needs to be completely
completed within 6 months, it is very suitable. When apply Scrum model, our team can early
detection of errors, and customers quickly see the product and provide early feedback.
Question 2:
Our team is a professional team, and team is supported by FU’s members. The type of testing that I
recommend the team to do for this project is a combination of unit testing, performance testing,
system testing and security testing.
+ Unit Testing: Since requirements are clearly classified in terms of functionality -> Test individual
code modules or functions to ensure that they work as expected by the requirement.
+ Performance testing: An university has a lot of students so that performance testing very
important. To satisfy non-functional requirements -> Test to ensure the system performs well under
the expected load of a large number of concurrent users without degrading performance and
behavioral response of the user without significant latency
+ System testing: is the process of testing the entire application. This is important to ensure that the
application meets all its requirements and that it is stable and reliable.
+ Security testing: The information regarding an university is very important. If the information is
leaked, it is very risk. Therefore, security testing is the most important. Security testing involves
evaluating a system's defenses to identify vulnerabilities and ensure that confidential data, integrity,
and functionality are protected from unauthorized access, attacks, or any form of security risks.
I believe this combination of testing will provide the team with comprehensive and
thorough testing coverage for this project, helping to ensure that the application is
tested properly and any bugs are found and fixed early during development. It will help
ensure that the application is high quality, reliable, secure.
Question 3:
- Four functional requirements:
+ Admin Staff can summarize costs for bus trips.
+ Lecture can change bus routes.
+ Admin manager can managers and view bus schedules for weekly trips.
+ Academic staff can entering lecturers’ lecture schedules exported from FAP.
- Two non-functional requirements:
+ The system should be compatible with the latest versions of popular web browsers (e.g.,
Chrome, Firefox, Safari).
+ The system need to provide feedback bus routes and lecturer can give feedback..
Question 5: Four functional test case is:
a. Test case 1: Load testing
- Description: Test the system when a lot of lecturer assign to app
- Objective: Ensure the system can handle high traffic without crashing or significant slowdown.
- Test Steps:
+ Simulate a gradual increase in the number of concurrent users.
+ Measure system response times at different load levels.
+ Monitor server resource utilization (CPU, memory, etc.).
+ Identify the maximum concurrent users the system can handle.
- Expected Result:
+ Response times should remain within acceptable thresholds.
+ Server resources should be monitored to ensure they do not reach critical levels.
+ Identify and document the maximum load the system can handle without degradation.
b. Test case 2: Navigation and User Interface Consistency
- Description: Perform user interface testing on different devices such as tablets, -desktop
computers, and mobile phones.
- Objective: Confirm that the user interface is displayed correctly and is fully functional across all
device types.
- Test Steps:
+ Navigate through different sections of the application.
+ Check for consistent menu structures and navigation paths.
+ Verify that UI elements (buttons, menus, headers) are uniformly styled.
+ Test the application on different devices and screen sizes.
- Expected Result:
+ Users should experience consistent navigation throughout the application.
+ UI elements should maintain a uniform style and appearance.
+ The application should be responsive and display correctly on various devices.
c, Test case 3: Lecture can change bus routes.
- Objective: Tp identify that the change bus input can be upload on the web
- Test Steps:
+ Enter message bus routes change you want to check
+ Check the message can upload the web correctly
+ check the time a message can upload on the web
+ Test a lot of other bus routes change
- Expected result:
+ The message can be upload on the web correctly
+ The message can be upload in 2s
d, Test case 4: View bus schedules for weekly trips
- Objective: To ensure information of bus schedules is correctly
- Test steps:
+ Enter the information of bus
+ Check information of bus who created
- Expected result:
+ The information of bus correctly
+ The schedules of bus can be upload after input and save.
Question 6:
+ As a Admin Manager, I want to manager bus schedule, so that I can easy to find information of bus.
+ As a Lecture, I want to provide feedback, so that I can send feedback for Admin Manager.
Question 7: