Professional Documents
Culture Documents
Module Code & Module Title CS5002NI - Software Engineering Allgemein 20% Group Coursework
Module Code & Module Title CS5002NI - Software Engineering Allgemein 20% Group Coursework
Allgemein
20% Group Coursework
Semester
2022 Spring/Autumn
Group Members:
SOFTSYS
S. N London Met ID Student Name
1 21049542 Nischal Khatiwada (L2C6)
2 21049486 Aryan Dhakal (L2C6)
3 21049493 Ayush Khatiwada (L2C6)
4 20049061 Subrat Sapkota (L3C12)
1. Introduction................................................................................................................ 1
2. Project Charter........................................................................................................... 2
3. Software Requirement Specification (SRS).............................................................4
4. Group Tasks............................................................................................................. 12
4.1. Environmental Model Specification.................................................................12
4.1.1 Context Level Diagram................................................................................12
4.1.2 Level 1 Data Flow Diagram..........................................................................13
4.1.2 Level 2 Data Flow Diagram..........................................................................14
4.2. Internal Model Specification.............................................................................17
4.2.1. Entity Relationship Diagram (ERD)...........................................................17
4.2.2. Data Dictionary............................................................................................19
4.2.3. Process Specifications (Pspecs)...............................................................21
4.3. Design Specifications.......................................................................................24
4.3.1 Structure Chart.............................................................................................24
4.4. Assignment Diary..............................................................................................26
4.4.1 Assumptions................................................................................................ 26
4.4.2 Omissions/ Inconsistencies........................................................................28
4.4.3 Group Member Responsibilities.................................................................29
4.4.4. Group Meetings...........................................................................................30
5. Individual Task......................................................................................................... 37
5.1. Book a Cab (Nischal Khatiwada)......................................................................37
5.1.1. Environmental Model Specification..........................................................37
5.1.1.1. Context Level Diagram.........................................................................37
5.1.2. Internal Model Specification......................................................................38
5.1.2.1. Level 1 DFD...........................................................................................38
5.1.2.2. Level 2 DFD...........................................................................................39
5.1.3. Design Specification...................................................................................40
5.1.3.1. Structure Chart.....................................................................................40
5.1.3.2. Module Specification (MSpecs)...........................................................41
5.2. Join the Training Courses (Ayush Khatiwada)...............................................43
5.2.1. Environmental Model Specification..........................................................43
5.2.1.1. Context Level Diagram.........................................................................43
5.2.2. Internal Model Specification......................................................................44
5.2.2.1. Level 1 DFD...........................................................................................44
5.2.2.2. Level 2 DFD...........................................................................................45
5.2.3. Design Specification...................................................................................46
5.2.3.1. Structure Chart.....................................................................................46
5.2.3.2. Module Specification (MSpecs)...........................................................47
5.3. Register Member (Aryan Dhakal).....................................................................48
5.3.1. Environmental Model Specification..........................................................48
5.3.1.1. Context Level Diagram.........................................................................48
5.3.2. Internal Model Specification......................................................................49
5.3.2.1. Level 1 DFD...........................................................................................49
5.3.2.2. Level 2 DFD...........................................................................................50
5.3.3. Design Specification...................................................................................51
5.3.3.1. Structure Chart.....................................................................................51
5.3.3.2. Module Specification (MSpecs)...........................................................52
5.4. Report Preparation (Subrat Sapkota)..............................................................53
5.4.1. Environmental Model Specification..........................................................53
5.4.1.1. Context Level Diagram.........................................................................53
5.4.2. Internal Model Specification......................................................................54
5.4.2.1. Level 1 DFD...........................................................................................54
5.4.2.2. Level 2 DFD...........................................................................................55
5.4.3. Design Specification...................................................................................56
5.4.3.1. Structure Chart.....................................................................................56
6. Summary...................................................................................................................57
7. Bibliography............................................................................................................. 59
Table of Figures
Table of Tables
1. Introduction
Allgemein is a well-established entertainment company which have been thriving the
entertainment industry for more than ten years with the main source of revenue
generating from a variety of entertainment endeavours. The company has recently
decided to enter the transportation sector with previously owning sizable fleet of
vehicles including cabs, trucks and bulldozers to expand its operation. The company
focuses on providing two key services, the first service being the cab service where the
customers can book the service with the country and the other being rental service
where the customer can rent the automobiles with the predefined rate presenting the
authentic identity document.
The proposed coursework is the first group coursework of Software Engineering module
assigned to the students which requires the development of an application software for
‘Allgemein’ which intends on managing the operations of the company’s transportation
services. The system will allow the customers to book cabs, track the status of driver,
register staff and vehicles and so on. The main task in the group work includes
preparing a project charter and SRS, specifying and designing parts of the system using
structured approach, creating an environmental model specification, an internal model
specification, and a design specification. The environmental model definition will
comprise DFDs for three level 1 processes as well as the context level DFD.
1
SOFTSYS
CS5002NI Software Engineering
2. Project Charter
Problem Statement:
The entertainment company ‘Allgemein’ was not able to meet the expectation of the
consumers by providing the contents like films, music, games and so on due to the
influence and contents produced on the international level. The revenue of the company
decreased by 20% in a rapid term so, they decided to enter transportation sector
experiencing the problem faced by the general public also the market demand for the
automobile services and the revenue that can be uplifted with this business.
Business Case:
Allgemein was not being able to provide desired content to the consumers which led to
the decrement in the revenue by 20%. So, they are entering the transportation industry
in order to gain and increase the revenue and provide some facilities to the consumer
by eliminating the daily transportation problem. The number of users for the automobiles
renting and using the ride services is increasing day by day which can be the utmost
solution for increasing the revenue of the company by 30%.
Goal Statement:
The ultimate goal of this project is to increase the revenue of the company by providing
good transportation experiences to the clients. As the clients starts using the services
the revenue increases slowly for some months. The company will be providing
authentic, qualitative and mesmerizing services to the customers which provides better
experiences to the clients and the number of customers starts growing rapidly within a
year. The revenue which was decreased by 20% will reach to 10% increase within two
years. And a year more, the revenue lost in the entertainment company will be fully
recovered. Then the business can be expanded more by adding other fleets of the
automobiles like bike,
scooters and many more. The mission of achieving the 30% revenue will be
accomplished by the end of the fourth year with the rapid use of the services by the
2
SOFTSYS
CS5002NI Software Engineering
increasing clients. The business will be successful as the services can be used by all
the residents residing within the nation.
Timeline:
Since the following project will be made using the waterfall mode, the first month is set
for analysing and gathering all the requirement for the project. The time of two month is
defined for preparing the system design. The fourth and fifth month is used for
implementation and testing of the product. We are required to check every possible
error that can occur in the product. And at the sixth month of the project making, the
product will be handed over to the client. Frequent maintenance will be performed to
enhance the better version of the product.
Scope:
The scope of the project is to develop an application for Allgemein which enables the
company to manage the transportation business where the customers can be able to
book the cab services and rent automobiles by prior deposition of money and
presentation of appropriate documents. The application should also help the company
to register staff and vehicles, offer different training courses and track the status of the
drivers.
Team Members:
The Project team consist of the following members:
Nischal Khatiwada
Ayush Khatiwada
Aryan Dhakal
3
SOFTSYS
CS5002NI Software Engineering
An SRS minimizes the time and effort required by developers to achieve desired goals
and minimizes the development cost. A good SRS defines how an application will
interact with system hardware, other programs and human users in a wide variety of
real-world situations (TechTarget, 2022).
Functional Requirements
1. Take Membership:
1.2. The system should validate the information provided by the customer and
create a unique membership ID.
1.3. Customers should be able to access their membership account using a login
system.
1.4. Customers should be able to view and update their personal and contact
information from their accounts.
4
SOFTSYS
CS5002NI Software Engineering
2. Book cab:
2.1. Customers should be able to search for available cabs based on their
location and desired destination.
2.2. Customers should be able to select a specific cab and book it for a specified
time and date.
2.3. Customers should be able to choose the type of service they want (e.g. taxi,
food delivery, package delivery).
2.4. The system should send a booking request to the selected driver and allow
them to accept or reject it.
2.5. If the driver accepts the request, the system should confirm the booking and
send a notification to the customer.
2.6. Customers should be able to view and cancel their bookings from their
account.
3.1. Customers should be able to view the status of their booking (e.g. accepted,
rejected, in route) and the location of the assigned driver.
3.2. Drivers should be able to update their status (e.g. available, unavailable) and
location in the system.
5
SOFTSYS
CS5002NI Software Engineering
4.1. Admins should be able to create new staff and vehicle records by providing
their details (e.g. name, contact information, vehicle type).
4.2. The system should validate the information provided by the admin and
create unique IDs for the staff and vehicles.
4.3. Admins should be able to view and update the staff and vehicle records.
5. Hire a vehicle:
5.1. Customers should be able to search for available vehicles based on their
location and desired type.
5.2. Customers should be able to select a specific vehicle and hire it for a
specified time and date.
5.3. Customers should be able to choose the type of service they want (e.g.
bulldozer, cargo truck).
5.4. The system should allow customers to hire specialist drivers if needed.
6. Report preparation:
6.2. The system should allow admins to filter the data used in the reports based
on specific criteria (e.g. date range, location).
6
SOFTSYS
CS5002NI Software Engineering
7.1. Customers should be able to rate their ride experience and the efficiency of the
vehicle they hired.
8.1 Admins should be able to create and post announcements for paid training
programs.
8.2. Customers should be able to view and enroll in the training programs from their
account.
8.3. The system should require customers to pay a fee before they can enroll in a
training program.
Non-Functional Requirements
The system must use MySQL server as SQL engine and database where the
information of all the customers, drivers, vehicles, and staffs is stored and can be
accessible by the admins using the application.
The user must be able to access from any device which has the internet access.
The customers must be able to view all the services that has been used since the
beginning.
The following product must be made using the Python or Dart programming
language.
7
SOFTSYS
CS5002NI Software Engineering
UI Design: The user must be able to recognize whether the booking has been accepted
or not. Since there may be huge number of users who are not completely familiar with
the language. So, a thumbs up symbol should be generated for booking accept and a
thumbs down symbol should be generated for booking reject which helps the users to
get known about the booking.
User Interface:
Login: If the user is not registered or new, he/she can enter the appropriate
details and log in to the application. The user must provide an appropriate or
authentic username and password. If the user provides an invalid username or
password an
invalid message appears.
Search or view: The user can search any service he/she is looking for. The user
can also view the drivers associated with the organization and their experiences.
Hardware Interfaces:
Server: To host the program and store data, the application will probably need a
dedicated server or a cloud-based architecture. The hardware should be capable
of supporting the anticipated load and scaling as necessary.
Network: For the program to operate correctly, the network connection must be
steady and dependable. To provide a seamless connection between the
8
SOFTSYS
CS5002NI Software Engineering
application and other systems, this may comprise routers, switches, and other
networking hardware.
Software Interfaces
9
SOFTSYS
CS5002NI Software Engineering
Goals of Implementation
User and Staff Management: Users, such as clients who make reservations for
transportation services and staff members who work for the business, should be
able to be managed by the system.
Booking and Reservation Management: Customers should be able to reserve
and book transportation services through the system, including choosing a
vehicle and setting up a pickup and drop-off time.
Payment Processing: Customers' payments should be processed through the
system, which should be able to handle credit cards and other payment methods.
10
SOFTSYS
CS5002NI Software Engineering
11
SOFTSYS
CS5002NI Software Engineering
4. Group Tasks
12
SOFTSYS
CS5002NI Software Engineering
13
SOFTSYS
CS5002NI Software Engineering
14
SOFTSYS
CS5002NI Software Engineering
15
SOFTSYS
CS5002NI Software Engineering
16
SOFTSYS
CS5002NI Software Engineering
17
SOFTSYS
CS5002NI Software Engineering
18
SOFTSYS
CS5002NI Software Engineering
19
SOFTSYS
CS5002NI Software Engineering
20
SOFTSYS
CS5002NI Software Engineering
21
SOFTSYS
CS5002NI Software Engineering
22
SOFTSYS
CS5002NI Software Engineering
23
SOFTSYS
CS5002NI Software Engineering
Top-level modules are referred to as low-level modules. Components are read from left
to right and top to bottom. A module that calls another sees the called module as a
"black box" to which it passes the necessary arguments and receives the results.
24
SOFTSYS
CS5002NI Software Engineering
25
SOFTSYS
CS5002NI Software Engineering
Various assumptions are made during for the designation of the system which are
mentioned below:
The customer must be registered to receive services from the Allgemein.
The authentic documents and details must be provided for the registration.
The customer must provide the required amount of sum for joining the training
courses.
The number for the customer to join training course is not provided so, the
customers can join many training courses.
As the customers join the training courses appropriate course details and the
schedule is provided to them.
While making the payment to join training courses, the customers should submit
authentic payment date and other details.
The customer is free to provide the rating to the driver and the vehicle with their
experiences.
Payment report is generated; Hence the customers can view the report for the
payment they have made.
Customers are allowed to choose as many services as possible either it be cab
service or renting vehicle.
The drivers must be registered before providing services to the customer.
Some criterion is mentioned for the drivers to be registered in the Allgemein such
as age, riding experience and many more.
The drivers must make the choice whether they accept or reject the request for
the service.
Overall report is generated by the Admin.
Announcements are made several times which can be viewed by the customers.
26
SOFTSYS
CS5002NI Software Engineering
27
SOFTSYS
CS5002NI Software Engineering
28
SOFTSYS
CS5002NI Software Engineering
29
SOFTSYS
CS5002NI Software Engineering
Items Discussed:
Examined the coursework topic and divided the task among the group
members
Reviewed the Project Charter and SRS requirements
Achievements:
Learned the concept of coursework questions and tasks are divided into
the following group members.
Completed review of the project charter and SRS document.
Ayush Khatiwada
Nischal Khatiwada
Aryan Dhakal
30
SOFTSYS
CS5002NI Software Engineering
Items Discussed:
Continued project charter and SRS document.
Discussed the scope of the project and identified the main functionality to
be included in the application.
Reviewed Data Flow Diagram (DFD) levels.
Achievements:
Completed the project charter and started the SRS document.
Learned the concept of DFD levels.
Ayush Khatiwada
Nischal Khatiwada
Aryan Dhakal
31
SOFTSYS
CS5002NI Software Engineering
Items Discussed:
Continued SRS document.
Reviewed Data Flow Diagram (DFD) levels.
Achievements:
Completed the SRS document
Created a context-level DFD
Ayush Khatiwada
Nischal Khatiwada
Aryan Dhakal
32
SOFTSYS
CS5002NI Software Engineering
Items Discussed:
Continued Data Flow Diagram (DFD) levels.
Reviewed the progress made on the internal model specification
Achievements:
Created a level 1 and 2 DFD
Completed the ERD and data dictionary
Ayush Khatiwada
Nischal Khatiwada
Aryan Dhakal
33
SOFTSYS
CS5002NI Software Engineering
Items Discussed:
Continued working on the process specifications for the elementary
process.
Reviewed the structure chart for the whole system.
Achievements:
Completed the process specifications for elementary processes.
Began work on the structure chart for the whole system.
Ayush Khatiwada
Nischal Khatiwada
Aryan Dhakal
34
SOFTSYS
CS5002NI Software Engineering
Items Discussed:
Continued working on the structure chart for the whole system.
Reviewed the assignment diary
Achievements:
Completed the structure chart for the whole system.
Began work on the assignment diary.
Ayush Khatiwada
Nischal Khatiwada
Aryan Dhakal
35
SOFTSYS
CS5002NI Software Engineering
Items Discussed:
Reviewed the progress made on the assignment diary.
Achievements:
Completed the assignment diary
Problems (if any): None
Ayush Khatiwada
Nischal Khatiwada
Aryan Dhakal
36
SOFTSYS
CS5002NI Software Engineering
5. Individual Task
5.1. Book a Cab (Nischal Khatiwada)
5.1.1. Environmental Model Specification
5.1.1.1. Context Level Diagram
In the above Context Level Diagram, there are two external entities User and Driver.
The name of the system is Book a Cab. The functions are in the figure are Request for
ride, Ride Request and Update for Request. The customer places request for ride to
Book a cab system. The system then sends the request to the Driver. Hence, the driver
checks the availability where he/she can provide the service to the customer or not.
Then, the driver sends the update of the request either ride accept or ride reject.
37
SOFTSYS
CS5002NI Software Engineering
In the above figure, the ride details are provided by the customer. The details are sent
to Request for Ride process. The process verifies the details and sends the ride status
to Update the request process where the driver updates the request either the request
is accepted or rejected. Then the request update detail is stored in the datastore of
Driver. The Request Update details are sent to Booking and Notification datastore. After
that the notification details are generated and sent to the customer. The customer is
notified whether the ride has been accepted or not. Lastly, all the details of Driver,
Booking, Notification and customer is acquired to generate report for Cab Booking.
38
SOFTSYS
CS5002NI Software Engineering
The ride status is sent to the first process where valid destination and information is
checked. The validated information then is sent to the other process. In the second
process the driver is searched. When the driver details are found and sent then the
search begins for the availability of the drivers. The availability details are provided to
the next process. In this process the driver either accepts the request or denies it. Then
the request update details are sent to Driver, Booking and Notification datastores.
39
SOFTSYS
CS5002NI Software Engineering
In the structure chart above, Book a cab is the Main Module. The Main Module is further
divided into three Control Modules Customer, Driver, and Report. The Control Modules
are also further breakdown into different Sub Modules. In Customer Module, the
destination is set and verified and the request for ride is sent. The ride request is
received by the Driver Module. The driver receives the ride request and checks the
availability and provides the update of the request. The overall details are acquired by
the Report module and the report for Cab Booking is generated.
40
SOFTSYS
CS5002NI Software Engineering
PSEUDOCODE:
DO
Var Location = INPUT (“Enter your location”)
Var Destination = INPUT (“Enter the destination”)
IF (validate (Location, Destination)
D0
Var CustomerDetails = DB.getCustomer (“CustomerID, CustomerName,
CustomerContact”)
Boolean DriverResponse = True
IF (DriverResponse is True)
DO
DISPLAY “The request for ride is accepted.”
Var Booking_Details = DB.getBooking (“BookingID, BookingDate”)
DISPLAY Booking_Details
Var Vehicle_Details = DB.getAutomobiles (“VehicleNo, Efficiency”)
DISPLAY Vehicle_Details
Var Driver_Details = DB.getDriver (“DriverID, DriverName,”)
DISPLAY Driver_Details
END DO
ELSE
DO
DISPLAY “Cab is not available now. Search for the other cab.”
END DO
41
SOFTSYS
CS5002NI Software Engineering
END ELSE
END DO
END DO
INPUT PARAMETERS: Location, Destination
OUTPUT PARAMETERS: Booking_Details, Vehicle_Details, Driver_Details, Message
GLOBAL VARIABLIES: Location, Destination
LOCAL VARIABLES: CustomerDetails, Booking_Details, Vehicle_Details,
Driver_Details
CALLS: getCustomer, getBooking, getAutomobiles, getDriver
CALLED BY: Main
42
SOFTSYS
CS5002NI Software Engineering
Figure 12: Context Level Diagram for Join the Training Courses
In the context level diagram, Payment and Course Details are provided by the customer
to the system for joining the training courses. The system after that sends the request of
the customer to join the training courses to Admin then, the Admin enrols the customer
to the training courses.
43
SOFTSYS
CS5002NI Software Engineering
The payment details are sent to manage payment and the payments are recorded to
payment datastore. The payment details are received from the payment datastore, and
the course details are received from the customers. Then the courses are joined, and
the course details are stored in Training courses.
44
SOFTSYS
CS5002NI Software Engineering
The payment details are received and verified in the first process. The verified details
are sent to check for the available course and to record the payment details. The
available details are notified to the customer. The records are stored in payment
datastore.
45
SOFTSYS
CS5002NI Software Engineering
In payment module the payment details are obtained, verified and stored. The payment
report is received by the Admin Module to join the training courses, The admin receives
the payment record, checks available course and Registers customer to the training
courses.
46
SOFTSYS
CS5002NI Software Engineering
PURPOSE: This module intends to help customers join the training courses. The
customer details, payment details are collected, and the customers are enrolled to the
training courses.
PSEUDOCODE:
DO
Var course_name = INPUT (“Enter the course name you want to join.”)
IF Courseavailable = True
DO
END DO
END IF
END DO
GLOBAL VARIABLES: DB
47
SOFTSYS
CS5002NI Software Engineering
In the context level diagram, Customer Details are provided by the customer to the
system for registration. The system after that sends the request of the customer for
registration and the details are sent to Admin then, the Admin registers the customer
and generates report.
48
SOFTSYS
CS5002NI Software Engineering
The customer details are sent for verification and registration. The registration details
are received from Register process and the Membership ID and status is generated.
After that the Membership report is generated and stored to Report datastore.
49
SOFTSYS
CS5002NI Software Engineering
The registration details is received and previous member id is checked. Then the
Member ID for the new customer is generated and stored. After that the customer is
notified about the registration and the member details are stored in the Member
datastore.
50
SOFTSYS
CS5002NI Software Engineering
In customer module the customer details are obtained, verified and send. The
registration report is received by the Admin Module to get registered. The admin
receives the registration details, registers the member and generates the membership
report.
51
SOFTSYS
CS5002NI Software Engineering
PURPOSE: This module intends to register the member. The authentic registration
details are provided, and the member is registered.
PSEUDOCODE:
DO
DO
DO
END DO
END DO
GLOBAL VARIABLE: DB
CALLS: None
52
SOFTSYS
CS5002NI Software Engineering
53
SOFTSYS
CS5002NI Software Engineering
54
SOFTSYS
CS5002NI Software Engineering
55
SOFTSYS
CS5002NI Software Engineering
56
SOFTSYS
CS5002NI Software Engineering
6. Summary
The course provided students with the chance to study software analysis, design,
building, testing, and maintenance in a rigorous manner. Thanks to this curriculum,
students now know more about the processes and tools used in software engineering. It
addressed how to approach software development and its lifecycles. Many software
development approaches may be applied in real-world situations. The technology and
modeling and logical design techniques were both employed in the module and the
homework.
This course's main objective was to create an app for the transportation company
"Aligemein* using actual software engineering knowledge and a successful design
pattern. The system designed for the business should successfully be able to offer its
clients services like renting a car, calling a cab, and getting training for driving cars. For
some tasks, which we completed, software engineering techniques are required. We
learned a lot of new ideas while working on this project, many of which we have
subsequently used. - Utilizing DFD, Structure Chart, Data Dictionary, Module
Specification, Process Modules, and ER-Diagram Concepts, the required system was
created. We were able to visualize how these approaches may be used in real-world
scenarios.
This is an enlarged and modified version of a system-wide human bone structural layer
design. Other unique duties for each group member included working on internal,
external, and design standards. A variety of software engineering topics and problems,
as well as the methods used to create certain features, were all made clearer to us.
during the progress of this project. Re-evaluations and checks are more efficient and
take less time if there is an extensive discussion before the project starts.
Although the system design and report were completed as promised, there is still a
feeling of disappointment that we were unable to make the concept precisely as we had
imagined it from the beginning. We were unable to totally replicate the system as
planned since we were unable to effectively manage our time as well as because of our
57
SOFTSYS
CS5002NI Software Engineering
58
SOFTSYS
CS5002NI Software Engineering
7. Bibliography
59
SOFTSYS