ICT602 Software Engineering
In this assessment the students will work in groups assigned to submit a software specification document. The document must contain the following headings:
a. Title Page
b. Table of Contents
c. Introduction
d. System Description
e. Selection of SDLC
f. Requirement Specifications
i. Functional Requirements
ii. Non-functional Requirements
iii. Others
g. Assumptions / Constraints
h. Use Case Diagram
i. References
j. Appendecies (if needed)
k. Contributions/WBA
Title Page
Your report must include a Title Page with the title of the assessment, your group member’s name, student ID and the VIT logo.
Table of Contents
A contents page showing page numbers and titles of all major sections of the report.
Introduction
The introduction should describe the purpose of the report in not more than 250 words.
System Description
The part should provide a brief overview of the system. For example, if your team is developing an ATM system, the system description should include relevant details such as withdrawing money etc. This section should not exceed more than 500 words.
Selection of SDLC
This section of the report should provide the reasoning of why the SDLC methodology is selected. For example, if the group selects ‘Scrum’ as a methodology, they need to provide a strong justification for that. Simply saying “we will use Scrum” will not give any marks for this section.
Requirement Specifications
The requirement specifications should be written based on the SDLC methodology your team has selected. For example, if they have selected ‘Agile’ as a methodology then it should be following the USER STORY format as shown below:
If your team decides to adopt non-agile methodology (such as waterfall etc), then your team will be writing the requirements in the Use Case Casual format as shown in the lecture notes.
The requirements must be divided into functional and non-functional sections.
This heading will include any relevant assumptions or constraints your team has considered with respect to the project and the domain.
Use Case
This section provides a complete use case diagram of the system under discussion (i.e., the project). The diagram should include all use cases based on the specifications and relevant relationships that are <<include>>, <<extend>> and generalisation. The diagram must be syntactically correct.
All relevant references must be added here. The references should use IEEE format. For more help about IEEE format, refer to the instructions provided under library and learning section of the LMS page for the unit.
The software application development process helps to assess the requirements and use cases [1]. Functional aspects of a software application create scope for maintaining operational efficiency to better serve users. The software development life cycle creates a comprehensive idea of the infrastructure, user interface, use cases, and designs of systems. The process of creating a software system also depends on the available options to ensure stakeholder satisfaction. The functionality of an application depends, to a large extent, on usability, security, accessibility, and durability [2].
The report shows the case of VIT Ride to assess how the team can help an application named VIT Ride. The software application VIT Ride will be created for users who seek a ride on a budget. The purpose of creating the VIT Ride software application is to provide services to users and jobs to drivers. The report will generate ideas for the system with a proper description of the VIT Ride application. The SDLC method selection for software application development will create effective knowledge of the phases of VIT Ride application development. Through the specification of requirements, the SDLC methodology will be implemented. The report will also help to assess the assumptions and constraints in the project of VIT Ride application development. The use cases associated with the project of software development will also help to create use case diagrams for VIT Ride application development for MBA assignment expert.
The application VIT Ride will ensure timely services to users looking for a ride within budget. VIT Ride will be designed to create an interface feasible for users. The user interface will help to connect users to get the services of the ride. The user interface will contain options such as driver mode and passenger mode. The availability of drivers in the driver mode option will help the users select their vehicle types and available drivers for the vehicles to reach their destinations. Using the passenger mode option, the users can also check their credit balance within the VIT Ride application. The credit checking process will help users determine the payment and available balance to pay for their rides. VIT Ride application will also provide payment options through online mediums. Users, selecting the passenger mode option, can use a credit card, Google Pay, apple pay, and PayPal to make payments to the drivers.
User interface design within the software application helps to improve user experience and interaction [3]. The driver mode option visible within the user interface will create awareness among the users through notifications for a new task. The drivers can check the new tasks from passengers through the VIT Ride application. The application will also reflect the amount earned by the drivers in the driver mode. GPS options available for drivers to guide them in tracking the locations and finding short routes will help to provide services to passengers within a specific time. It also provides the drivers to identify the promotion option to create more earnings.
VIT Ride will be a flexible platform to help users to switch to driver mode and passenger mode. The options available for users to travel to their destination will be based on driver mode and passenger mode. The users can either hire a driver or share a car with other customers. The system within the VIT Ride application will security process user data and store information to maintain the privacy of users. Security of user data within the system develops the scope for better engagement [4]. VIT Ride allows the passengers to provide feedback regarding their ride. A review based on one star to five stars can help to improve the riding services to customers. The administrator involved in managing the accounts and drivers will monitor the feedback of customers. By using the VIT Ride application, the users can timely manage their rides. The scheduled time within the application allows the users to have services to ride on time. It also allows safe payment and easy ride options. VIT Ride will update locations and budget to the passengers so that they can acquire budget-friendly travel.
The software development life cycle generates ideas to create a software design within different phases and effective methods. In the case of the VIT Ride software application, the SDLC method will help to assess the step-by-step process of creating a software design suitable to serve the users. It also generates scope to determine a design of user interface for maintaining better engagement of users. The agile software development methodology will be effective in creating VIT Ride software applications. Using the agile software development methodology, the project work can be divided into several phases. The agile software development model is one of the advanced methods of software development [5].
The phases, such as concept creation, inception, interaction, release planning, maintenance, and retirement, will help to implement the agile software development methodology. The VIT Ride software will meet user requirements of travelling to a destination with flexible ways of selecting a driver and vehicle. The scope of the project will be defined in the concept creation process. Documentation and preparation of the requirements for software development will be possible in this phase. The agile software development process involves the phase of inception for software architecture creation and iteration for goal planning [6].
VIT Ride application development will be possible through iterations. The iteration phases will help the team create a plan to meet short-term goals while acquiring feedback from stakeholders. The process of dividing the software development work into iterations is an effective and unique technique used in the agile method [7]. The iterations in the agile method will lead to the accomplishment of the VIT Ride software development. The agile model will also help to create release plans to ensure quality. The step will generate ideas about the errors or defects and help the project team determine the quality of the software. The developers of the VIT Ride application will engage in documentation of the functional aspects and release the final product. The deployment of the VIT Ride application will be done in the maintenance phase. This phase in the agile model will increase awareness of the need for upgrades and additional features within the VIT Ride application. Nonetheless, the retirement phase will allow the project team to refine the project deliverables and maintain workflow within the software development process. The end-of-life activities will help to successfully implement the VIT Ride software application for user engagement and services.
The requirements of VIT software development will be divided into functional and non-functional requirements, which will develop ideas to fulfil the criteria of software development. System requirements analysis becomes essential to determine the usability and user demand [8].
4.1. Functional requirements
• The user interface design will consist of the options of passenger mode and driver mode
• The system will allow the users to switch to driver mode or passenger mode
• The payment option will be available within the system to ensure payment from passengers through Google Pay, Apple Pay, PayPal, and credit card
• The availability of drivers and vehicles will be visible within the system application
• VIT Ride will reflect the amount earned by the drivers in the driver mode option
• A safe network will allow the drivers to use GPS and track destinations and passengers' locations
• The system will allow the passengers to check their credit balance within the passenger mode option
• The automated technology incorporation will be required to update the drivers for new tasks
• The system will help passengers provide feedback and review through the passenger mode option
• A clear and well-designed user interface will allow the users to flexibly interact with the system
• The administrator needs to manage accounts and monitor customer feedback
• The stakeholders meeting for VIT Ride design creation will help to proceed with the work of SDLC with an agile model
4.2. Non-functional requirements
Table 1: Nonfunctional requirements
Source: (Developed by the author)
The project will be a medium-scale project and the cost of software development will be of moderate range. VIT Ride software application will be developed within a timescale of 3 months. The project team members and the project manager will work in collaboration while implementing the agile method of software development. The high quality of the software will ensure user data security. The possible constraints can be time and cost management. Timely software development can be challenging. Project deadlines are crucial to deliver timely outcomes [10]. The budget may exceed the estimation and create issues in accomplishing the software development project with proper requirements.
The report generated ideas to create a proper software application with specific use cases. VIT Ride application will help to engage the users within the application through passenger mode and driver mode. Proper booking of rides and budget-friendly travel will increase the engagement of users in the future. However, the requirements related to the system will develop knowledge of the software development needs. It will help to maintain the proper structure of the system to ensure a high level of user experience.
[1]S. Alsaqqa, S. Sawalha, and H. Abdel-Nabi, “Agile Software Development: Methodologies and Trends,” International Journal of Interactive Mobile Technologies (iJIM), vol. 14, no. 11, p. 246, Jul. 2020, doi: 10.3991/ijim.v14i11.13269.
[2]J. Wen et al., “An empirical study on challenges of application development in serverless computing,” Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Aug. 2021, Published, doi: 10.1145/3468264.3468558.
[3]S. Shi, Y. Wang, X. Chen, and Q. Zhang, “Conceptualization of omnichannel customer experience and its impact on shopping intention: A mixed-method approach,” International Journal of Information Management, vol. 50, pp. 325–336, Feb. 2020, doi: 10.1016/j.ijinfomgt.2019.09.001.
[4]R. V. Yohanandhan, R. M. Elavarasan, P. Manoharan, and L. Mihet-Popa, “Cyber-Physical Power System (CPPS): A Review on Modeling, Simulation, and Analysis With Cyber Security Applications,” IEEE Access, vol. 8, pp. 151019–151064, 2020, doi: 10.1109/access.2020.3016826.
[5]C. González Moyano, L. Pufahl, I. Weber, and J. Mendling, “Uses of business process modeling in agile software development projects,” Information and Software Technology, vol. 152, p. 107028, Dec. 2022, doi: 10.1016/j.infsof.2022.107028.
[6]A. Hinderks, F. J. Domínguez Mayo, J. Thomaschewski, and M. J. Escalona, “Approaches to manage the user experience process in Agile software development: A systematic literature review,” Information and Software Technology, vol. 150, p. 106957, Oct. 2022, doi: 10.1016/j.infsof.2022.106957.
[7]A. Zaitsev, U. Gal, and B. Tan, “Coordination artifacts in Agile Software Development,” Information and Organization, vol. 30, no. 2, p. 100288, Jun. 2020, doi: 10.1016/j.infoandorg.2020.100288.
[8]L. Zhao et al., “Natural Language Processing for Requirements Engineering,” ACM Computing Surveys, vol. 54, no. 3, pp. 1–41, Apr. 2021, doi: 10.1145/3444689.
[9]L. N. AlRawi, “Understanding the Relation between System Usability and End User Performance,” 2021 2nd International Informatics and Software Engineering Conference (IISEC), Dec. 2021, Published, doi: 10.1109/iisec54230.2021.9672429.
[10]T. Thesing, C. Feldmann, and M. Burchardt, “Agile versus Waterfall Project Management: Decision Model for Selecting the Appropriate Approach to a Project,” Procedia Computer Science, vol. 181, pp. 746–756, 2021, doi: 10.1016/j.procs.2021.01.227.