Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 63

Module Code & Module Title

CS5002NI – Software Engineering

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)

Assignment Submission Date: 2nd January 2023


Word Count (Where Required):
I confirm that I understand my coursework needs to be submitted online via Google Classroom under the
relevant module page before the deadline in order for my assignment to be accepted and marked. I am
fully aware that late submissions will be treated as non-submission and a marks of zero will be awarded.
Table of Contents

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

Figure 1: Context Level Diagram for whole System.......................................................12


Figure 2: Level 1 DFD for whole system........................................................................13
Figure 3: Level 2 DFD for Manage Payment Process....................................................14
Figure 4: Level 2 DFD for Training Courses Process.....................................................15
Figure 5: Level 2 DFD for Book Service Process...........................................................16
Figure 6: Entity Relationship Diagram (ERD).................................................................18
Figure 7: Structure Chart for the whole system..............................................................25
Figure 8: Context Level Diagram for Book a Cab...........................................................37
Figure 9: Level 1 DFD for Book a Cab...........................................................................38
Figure 10: Level 2 DFD for Book a Cab.........................................................................39
Figure 11: Structure Chart for Book a Cab.....................................................................40
Figure 12: Context Level Diagram for Join the Training Courses...................................43
Figure 13: Level 1 DFD for Join the Training Courses...................................................44
Figure 14: Level 2 DFD for Join the Training Courses...................................................45
Figure 15: Structure Chart for Join the Training Courses...............................................46
Figure 16: Context Level Diagram for Register Member................................................48
Figure 17: Level 1 DFD for Register Member................................................................49
Figure 18: Level 2 DFD for Register Member................................................................50
Figure 19: Structure Chart for Register Member............................................................51
Figure 20: Context Level Diagram for Report Preperation.............................................53
Figure 21: Level 1 DFD for Report Preparation..............................................................54
Figure 22: Level 2 DFD for Report Preperation..............................................................55
Figure 23: Structure chart for Report Preperation..........................................................56

Table of Tables

Table 1: Group Member Responsibilities.......................................................................29


CS5002NI Software Engineering

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

3. Software Requirement Specification (SRS)


A software requirements specification (SRS) is a comprehensive description of the
intended purpose and environment for software under development. The SRS fully
describes what the software will do and how it will be expected to perform.

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.1. Customers should be able to create a new membership account by providing


their personal and contact information.

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. Track the status of drivers:

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. Register staff and vehicles:

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.1. Admins should be able to generate reports on various aspects of the


business (e.g. customers, revenue, vehicles).

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. Rate the ride experience and vehicle's efficiency:

7.1. Customers should be able to rate their ride experience and the efficiency of the
vehicle they hired.

7.2. Customers should be able to provide suggestions and feedback on their


experience.

8. Join the training courses:

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

Design and Implementation Constraints

 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

 The system should be developed to run on web browsers, with responsive


design to support different devices and screen sizes.
 Since the product is both mobile and web application, the application must be
supported by the current latest versions of Android and iOS.
 For using the application in web, the system must consist of hardware which
supports a minimum of 1.9 GHz processor and 2 GB RAM.

External Interfaces required:

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.

 GPS: If the application includes GPS tracking, it may require specialized


hardware such as GPS receivers and antennas to accurately track the location of
vehicles. This also may include interfaces with mapping services, traffic data
providers, and geofencing capabilities.
 Mobile: If the application is intended for use on mobile devices such as
smartphones or tablets, it will need to be compatible with the hardware of those
devices. This may include considerations such as screen size, processor speed,
and operating system.

Software Interfaces

 Payment gateway integration: To process consumer payments, the application


will probably need to be integrated with a payment gateway service. This can
involve integrating with several payment systems like bank transfers, e-wallets,
and credit/debit cards.
 Customer relationship management (CRM) integration: To store and handle
customer information and communication, the application might need to be
integrated with a CRM system. Customer care tools, social media networks, and
email marketing systems could all be interfaced in this Communication Interfaces
 SMS gateway integration: To notify users of updates and new features through
text message, the application may need to be integrated with an SMS gateway
provider.
 Email integration: To deliver notifications and changes to clients via email, the
application might need to be integrated with an email service provider.
 Social media integration: To enable users to share their experiences and give
feedback, the application might need to be integrated with social networking
platforms.

9
SOFTSYS
CS5002NI Software Engineering

Other Non-Functional Requirement

 Scalability: Without experiencing any speed reduction, the application should be


able to handle a huge volume of users and transactions.
 Security: Protecting private customer, vehicle, and staff data from unauthorized
access should be possible with the application. Data backup and secure socket
layer (SSL) encryption are a few examples of the precautions that are included
here.
 Reliability: The software must operate reliably and without any interruptions. This
includes safeguards like redundant servers and backup programs.
 Usability: With a simple and straightforward design, the application should be
simple to use for both staff and customers.
 Performance: With the least amount of latency possible, the application should
be able to perform transactions and retrieve data quickly.
 Compatibility: The application should be compatible with a wide range of devices,
including smartphones, tablets, and desktop computers.
 Maintainability: The application should have comprehensive documentation, a
sturdy architecture, and be simple to maintain and update.

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

 Reporting and analytics: The data gathered, including details on client


reservations, vehicle usage, and income, should be able to be analyzed by the
system and used to produce reports.
 Blog creation and email marketing: The system should allow for the creation
and management of blog entries as well as the sending of emails to clients if the
business plans to include a blog and provide a listing function.
 Training and feedback: Management of training sessions and client feedback
should both be possible through the system.
 Technology and Programming language: Must choose the technologies and
programming languages to utilize before you can begin to construct such a
system. Programmers proficient in Python and Java can collaborate on the
project since the system can be created employing a variety of languages and
technological advancements.

11
SOFTSYS
CS5002NI Software Engineering

4. Group Tasks

4.1. Environmental Model Specification


4.1.1 Context Level Diagram

Figure 1: Context Level Diagram for whole System.

12
SOFTSYS
CS5002NI Software Engineering

4.1.2 Level 1 Data Flow Diagram

Figure 2: Level 1 DFD for whole system

13
SOFTSYS
CS5002NI Software Engineering

4.1.2 Level 2 Data Flow Diagram

Figure 3: Level 2 DFD for Manage Payment Process

14
SOFTSYS
CS5002NI Software Engineering

Figure 4: Level 2 DFD for Training Courses Process

15
SOFTSYS
CS5002NI Software Engineering

Figure 5: Level 2 DFD for Book Service Process

16
SOFTSYS
CS5002NI Software Engineering

4.2. Internal Model Specification.


4.2.1. Entity Relationship Diagram (ERD)
An Entity Relationship (ER) Diagram is a form of flowchart that shows the relationships
between "entities" like people, things, or concepts within a system. ER Diagrams are
most frequently used in the disciplines of software engineering, business information
systems, education, and research to build or troubleshoot relational databases. They
are also known as ERDs or ER Models, and they use a predetermined collection of
symbols to represent the interconnectedness of entities, relationships, and their
qualities. These symbols include rectangles, diamonds, ovals, and connecting lines.
They have verbs for relationships and nouns for entities, mirroring the grammatical
framework (Lucidchart, 2022).
The entities and attributes for the following ERD is presented below:
S.No Entities Attributes
1. Customer Customer ID (PK), Customer Name, Email, Username

2. Training Course Course ID (PK), Course Name, Customer ID (FK)


3. Rating Rating No (PK), Customer ID (FK), Rating

4. Booking Booking ID (PK), Customer ID (FK), Booking Status

5. Booking.Driver Booking ID (FK), Driver ID (FK)

6. Driver Driver ID (PK), Location, Driver Name

7. Driver.Vehicle Driver ID (FK), Vehicle ID (FK)

8. Vehicle Vehicle ID (PK), Vehicle Type, Price


9. Admin Admin (PK), Name, Qualification

10. Report Report No (PK), Report Detail, Admin ID(FK)


11. Staff Staff ID (PK), Staff Name, Admin ID (FK)
12. Payment Customer ID (FK), Staff ID (FK), Payment No, Payment
Sum

17
SOFTSYS
CS5002NI Software Engineering

Figure 6: Entity Relationship Diagram (ERD)

18
SOFTSYS
CS5002NI Software Engineering

4.2.2. Data Dictionary


The main part of the system's structured analysis paradigm is the data dictionary. It
contains a list of every piece of data found in DFD. A file or series of files that contain a
database's metadata (hold records about other objects in the database), such as data
ownership, relationships between the data and other objects, and other data, are
referred to as a data dictionary in software engineering (GeeksforGeeks, 2022).

Customer Registration = Command


Registration No = Integer
Customer ID = Integer
Staff ID = Integer
Vehicle No = Integer
Payment ID = Integer
Experience Details = Command
Rate Ride = Command
Announcement = Command
Service Details = Command
Book Service = Command
Booking Details = Command
Ride Request = Command
Renting Request = Command
Staff and Vehicle Registration Details = Command
Payment Record = Payment Details + Customer Details + [Mobile Banking, Card
Payment]
Generate Payment Report = {Payment ID + Payment + Customer ID + Staff ID}*
Generate Overall Report = Vehicle Details + Staff Details + Customer Information
Driver Status = Command
Automobiles Status = Command
Customer Information = Customer ID + Name + Registration Number + Registered Date
+ Location + Contact Number
Staff Details = Staff ID + Name + Hire Date + Location + Contact Number

19
SOFTSYS
CS5002NI Software Engineering

Vehicle Details = Vehicle No + Vehicle Type


View Announcement = Command
Customer Record = {Customer ID + Customer Information}*
Staff Record = {Staff ID + Staff Details}*

20
SOFTSYS
CS5002NI Software Engineering

4.2.3. Process Specifications (Pspecs)


A process specification is a method used to document, analyze and explain the
decision-making logic and formulas used to create output data from process input data.
Its objective is to flow down and specify regulatory/engineering requirements and
procedures. High-quality, consistent data requires clear and complete process
specifications (techopedia, 2012).

Process Number 0.2.1:


Name: Collect Payment and Customer Information
Description: This process obtains all the details of customer payment such as Customer
name, Time of deposition, date, Sum amount and so on.
Input Data Flow: Payment Details
Output Data Flow: Payment Information
Process Logic:
 Payment details are acquired from the payment record.
 Save the payment details which are required for the customers or members.
 Now the payment information is passed to next sub process i.e., 0.2.2.

Process Number 0.2.2:


Name: Verify Customers, Payment Details and Sufficient Funds.
Description: This process validates the customer details as well as the payment details
and checks whether the sufficient funds are submitted or not.
Input Data Flow: Payment Information
Output Data Flow: Verified Details
Process Logic:
 Payment Information such as customer and payment details and funds are
acquired.
 Verification is performed whether authentic details are provided or not.
 If the verified customer and payment details is provided then, it is passed to next
sub process i.e., 0.2.3.

21
SOFTSYS
CS5002NI Software Engineering

Process Number 0.2.3:


Name: Generate and Send Verification Message.
Description: This process sends verification message and email to the customer.
Input Data Flow: Verified Details
Output Data Flow: Approved
Process Logic:
 Verified Details of customer payment and the sufficient fund is obtained.
 The verification email and message are sent for the customer to approve.
 If the user approves the verification message, then the Approved details are
passed to next sub process i.e., 0.2.4.

Process Number 0.3.2:


Name: Check Availability of Training Courses.
Description: This process checks whether the training course in which the customer
wants to enrol is available or not.
Input Data Flow: Verified Details
Output Data Flow: Course Available Information
Process Logic:
 Verified information of customer, payment and the sufficient fund is obtained.
 It is checked whether the training course for the customer is available or not.
 If the Course is available then Course Available Information is passed to next sub
process i.e., 0.2.3.

22
SOFTSYS
CS5002NI Software Engineering

Process Number 0.6.3:


Name: Choosing the type of Service
Description: This process let the customers to choose the type of Service.
Input Data Flow: Service and Driver Availability
Output Data Flow: Booking Details
Process Logic:
 Availability of the service and driver is acquired.
 The customers need to choose the service either it be cab service or renting
services.
 After the Customer chooses the service then the Approved details are passed to
the data store i.e., Bookings.

23
SOFTSYS
CS5002NI Software Engineering

4.3. Design Specifications


4.3.1 Structure Chart
Module hierarchy is represented by a structure chart. It divides the entire system into its
smallest functional modules and goes into deeper detail on the functions and sub-
functions of each module. The system is divided into "black boxes" by Structure Chart
(functionality of the system is known to the users but inner details are unknown). The
black boxes receive inputs, and they provide the desired results.

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.

The Symbols used in construction of structured chart are:


 Module
 Control Module
 Sub Module
 Library Module
 Conditional Call
 Loop
 Data Flow
 Control Flow
 Physical Storage (GeeksforGeeks, 2019).

24
SOFTSYS
CS5002NI Software Engineering

Figure 7: Structure Chart for the whole system.

25
SOFTSYS
CS5002NI Software Engineering

4.4. Assignment Diary


4.4.1 Assumptions

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

The assumptions for datastores to store system data are:


 Customer: The proposed data store stores all the details of the customer
registered in the Allegemein.
 Payment: The proposed data store stores all the payment details and the details
of the customer who made the payment.
 Courses: The proposed data store stores all the details about the courses
available and the details of the customer who are enrolled to the courses.
 Driver: The proposed data store holds all the record of the driver who are
registered to provide services to the customer. It also stores the update request
which is provided by the driver to the customers.
 Booking: The proposed data store holds all the record about the booking made
by the users.
 Automobiles: The proposed data store holds all the record about the automobiles
available in the company.
 Vehicle and Staff: The proposed data store holds all the record about the
registration of vehicle and staff.
 Announcement and Reports: The proposed data store holds all the record
regarding the announcements which are made and also all the details about the
report which is generated.

27
SOFTSYS
CS5002NI Software Engineering

4.4.2 Omissions/ Inconsistencies


The omission/ inconsistencies discovered in the provided specifications are:
 The provided specification doesn’t mention how the customer will pay for joining
the training courses and for the services.
 The specification doesn’t mention of any security measures that will be taken to
protect the customer and payment data.
 The provided specification doesn’t mention how the system will be able to handle
the multiple booking of the services by the customer at the same time.
 The specification doesn’t provide the pricing for the different services and
vehicles.
 The specification doesn’t mention how the drivers and the customers can be fired
from Allegemein.
 The specification doesn’t mention about the cancellations or changes to the
bookings.
 There is not any mention about how the customer will access the system (e.g.
website or mobile application).

28
SOFTSYS
CS5002NI Software Engineering

4.4.3 Group Member Responsibilities

Group Member Responsibility


Nischal Khatiwada  Work on the individual task for Book a Cab.
 Mock the designs of DFD level 0 to level 2 of the whole sys-
tem.
 Work on Project Charter.
 Contributed to the assumption part of the report.
 Design ERD (Entity Relationship Diagram).
Ayush Khatiwada  Work on the individual task for Join the Training Courses.
 Work on SRS (Software Requirement Specification).
 Work on Data Dictionary.
 Work on the Assignment Diary of the report.
 Contributed to the summary portion of the report document-
ation.
Aryan Dhakal  Work on the individual task for Register Member.
 Work on Structure Chart.
 Work on Project Specification (Pspecs).
 Work on formatting part of the report.
Subrat Sapkota  Work on the individual task for Report Preparation.
 Work on the Introduction portion.
 Work on Structure Chart.
 Work on overall documentation of report.
Table 1: Group Member Responsibilities

29
SOFTSYS
CS5002NI Software Engineering

4.4.4. Group Meetings

Logbook Entry Sheet


Meeting No: 01 Date: 25 - 11 – 2022

Start Time: 11:00 PM Finish Time: 01:30 PM

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.

Problems (if any):


 Faced some difficulties while understanding the SRS

Tasks for Next Meeting:

 To complete Project Charter and SRS.


 To review Data Flow Diagram (DFD) levels.

Student’s Name Student’s Signature

Ayush Khatiwada

Nischal Khatiwada

Aryan Dhakal

30
SOFTSYS
CS5002NI Software Engineering

Logbook Entry Sheet


Meeting No: 02 Date: 01 - 12 – 2022

Start Time: 2:00 PM Finish Time: 4:00 PM

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.

Problems (if any):


 Faced some difficulties while understanding the DFD and its levels.

Tasks for Next Meeting:

 To complete the SRS document.


 To create a context level Data Flow Diagram (DFD).

Student’s Name Student’s Signature

Ayush Khatiwada

Nischal Khatiwada

Aryan Dhakal

31
SOFTSYS
CS5002NI Software Engineering

Logbook Entry Sheet


Meeting No: 03 Date: 06 - 12 – 2022

Start Time: 10:00 AM Finish Time: 12:00 PM

Items Discussed:
 Continued SRS document.
 Reviewed Data Flow Diagram (DFD) levels.

Achievements:
 Completed the SRS document
 Created a context-level DFD

Problems (if any): None

Tasks for Next Meeting:

 To create level 1 and 2 DFD


 Begin working on the internal model specification, including the ERD, data
dictionary, and process specifications for elementary processes.

Student’s Name Student’s Signature

Ayush Khatiwada

Nischal Khatiwada

Aryan Dhakal

32
SOFTSYS
CS5002NI Software Engineering

Logbook Entry Sheet


Meeting No: 04 Date: 15 - 12 – 2022

Start Time: 12:00 PM Finish Time: 2:30 PM

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

Problems (if any): None

Tasks for Next Meeting:


 Begin working on the process specifications for the elementary process.
 To review the structure chart for the whole system.

Student’s Name Student’s Signature

Ayush Khatiwada

Nischal Khatiwada

Aryan Dhakal

33
SOFTSYS
CS5002NI Software Engineering

Logbook Entry Sheet


Meeting No: 05 Date: 15 - 12 – 2022

Start Time: 8:00 AM Finish Time: 10:00 AM

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.

Problems (if any): None

Tasks for Next Meeting:


 Continue working on the structure chat.
 To review the assignment diary.

Student’s Name Student’s Signature

Ayush Khatiwada

Nischal Khatiwada

Aryan Dhakal

34
SOFTSYS
CS5002NI Software Engineering

Logbook Entry Sheet


Meeting No: 06 Date: 22 - 12 – 2022

Start Time: 11:00 AM Finish Time: 2:30 PM

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.

Problems (if any): None

Tasks for Next Meeting:


 Continue working on the assignment diary
 Review the completed specification documents and make any necessary
revisions.

Student’s Name Student’s Signature

Ayush Khatiwada

Nischal Khatiwada

Aryan Dhakal

35
SOFTSYS
CS5002NI Software Engineering

Logbook Entry Sheet


Meeting No: 07 Date: 30 - 12 – 2022

Start Time: 1:00 PM Finish Time: 3:00 PM

Items Discussed:
 Reviewed the progress made on the assignment diary.

Achievements:
 Completed the assignment diary
Problems (if any): None

Tasks for Next Meeting: None

Student’s Name Student’s Signature

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

Figure 8: Context Level Diagram for Book a Cab

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

5.1.2. Internal Model Specification


5.1.2.1. Level 1 DFD

Figure 9: Level 1 DFD for Book a Cab

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

5.1.2.2. Level 2 DFD

Figure 10: Level 2 DFD for Book a Cab

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

5.1.3. Design Specification


5.1.3.1. Structure Chart

Figure 11: Structure Chart for Book a Cab

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

5.1.3.2. Module Specification (MSpecs)


MODULE NAME: Book a Cab
PURPOSE: The respective module obtains the details that are required while booking a
cab such as Destination, Location and many more. The customer should place a
request to book a cab. The driver receives the ride request from the customer and
provides the update whether the request is accepted or denied. The notification of the
response is received by the customer in the form of notification.

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

5.2. Join the Training Courses (Ayush Khatiwada)


5.2.1. Environmental Model Specification
5.2.1.1. Context Level Diagram

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

5.2.2. Internal Model Specification


5.2.2.1. Level 1 DFD

Figure 13: Level 1 DFD for Join the Training Courses

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

5.2.2.2. Level 2 DFD

Figure 14: Level 2 DFD for Join the Training Courses

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

5.2.3. Design Specification


5.2.3.1. Structure Chart

Figure 15: Structure Chart for Join the Training Courses

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

5.2.3.2. Module Specification (MSpecs)


MODULE NAME: Join the Training Courses

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 customer_details = DB.getCustomer()

Var payment_details = DB.getPayment()

Var course_name = INPUT (“Enter the course name you want to join.”)

Boolean Courseavailale = True

IF Courseavailable = True

DO

DISPLAY Training Course Joined

DISPLAY (“The Course id is: ” + CourseID`)

END DO

END IF

END DO

INPUT PARAMETERS: Course Name and details

OUTPUT PARAMETERS: CourseID

GLOBAL VARIABLES: DB

LOCAL VARIABLES: CourseID

CALLS: get customer, get payment

CALLED BY: Main

47
SOFTSYS
CS5002NI Software Engineering

5.3. Register Member (Aryan Dhakal)


5.3.1. Environmental Model Specification
5.3.1.1. Context Level Diagram

Figure 16: Context Level Diagram for Register Member

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

5.3.2. Internal Model Specification


5.3.2.1. Level 1 DFD

Figure 17: Level 1 DFD for Register Member

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

5.3.2.2. Level 2 DFD

Figure 18: Level 2 DFD for Register Member

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

5.3.3. Design Specification


5.3.3.1. Structure Chart

Figure 19: Structure Chart for Register Member

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

5.3.3.2. Module Specification (MSpecs)


MODULE NAME: Join the Training Courses

PURPOSE: This module intends to register the member. The authentic registration
details are provided, and the member is registered.

PSEUDOCODE:

DO

Var customer_details = INPUT (“Provide the appropriate details”)

DO

IF (validate (customer details))

DO

Var CustomerID = DB. Customer (Customer Details)

DISPLAY Registration Successful

DISPLAY (“CustomerID, Customerdetails, Username”)

END DO

END DO

INPUT PARAMETERS: Customer details

OUTPUT PARAMETERS: CustomerID, Customerdetails, Username

GLOBAL VARIABLE: DB

LOCAL VARIABLE: CustomerID

CALLS: None

CALLED BY: Main

52
SOFTSYS
CS5002NI Software Engineering

5.4. Report Preparation (Subrat Sapkota)


5.4.1. Environmental Model Specification
5.4.1.1. Context Level Diagram

Figure 20: Context Level Diagram for Report Preperation

53
SOFTSYS
CS5002NI Software Engineering

5.4.2. Internal Model Specification


5.4.2.1. Level 1 DFD

Figure 21: Level 1 DFD for Report Preparation

54
SOFTSYS
CS5002NI Software Engineering

5.4.2.2. Level 2 DFD

Figure 22: Level 2 DFD for Report Preperation.

55
SOFTSYS
CS5002NI Software Engineering

5.4.3. Design Specification


5.4.3.1. Structure Chart

Figure 23: Structure chart for Report Preperation

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

ignorance and lack of understanding. We learnt a lot about software engineering


methods used in this project, including requirements analysis, project management,
structured software engineering, and problem-solving. The project was effectively
managed, finished within the deadline, and well-coordinated by a small group of
personnel. We are thankful for the wealth of knowledge and opportunities this
experience has given us as well.

58
SOFTSYS
CS5002NI Software Engineering

7. Bibliography

GeeksforGeeks, 2019. Software Engineering | Structure Charts. [Online]


Available at: https://www.geeksforgeeks.org/software-engineering-structure-charts/
[Accessed 1 January 2023].
GeeksforGeeks, 2022. Data Dictionaries in Software Engineering. [Online]
Available at: https://www.geeksforgeeks.org/data-dictionaries-in-software-engineering/
[Accessed 1 January 2023].
Lucidchart, 2022. What is an Entity Relationship Diagram (ERD)?. [Online]
Available at: https://www.lucidchart.com/pages/er-diagrams
[Accessed 27 December 2022].
techopedia, 2012. Process Specification. [Online]
Available at: https://www.techopedia.com/definition/28636/process-
specification#:~:text=A%20process%20specification%20is%20a,regulatory
%2Fengineering%20requirements%20and%20procedures.
[Accessed 27 December 2022].
TechTarget, 2022. software requirements specification (SRS ). [Online]
Available at: https://www.techtarget.com/searchsoftwarequality/definition/software-
requirements-specification
[Accessed 19 December 2022].

59
SOFTSYS

You might also like