0% found this document useful (0 votes)
15 views

Report01 Part01

This document describes the requirements for a cargo management system. It includes: 1) Functional requirements like allowing different users (CEO, administrators, employees, customers) to login and perform roles like adding customers, receiving/sending packages, and tracking package status. 2) Non-functional requirements around portability, security, maintainability, reliability, performance, and reusability. Dynamic arrays, inheritance and abstract classes are discussed. 3) Mentions use case diagrams, class diagrams, and other diagrams will be included but are not shown. 4) Discusses the problem solving approach of using user types and dynamic arrays to store and process user data through the system flows defined in the code.

Uploaded by

dannybitscom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Report01 Part01

This document describes the requirements for a cargo management system. It includes: 1) Functional requirements like allowing different users (CEO, administrators, employees, customers) to login and perform roles like adding customers, receiving/sending packages, and tracking package status. 2) Non-functional requirements around portability, security, maintainability, reliability, performance, and reusability. Dynamic arrays, inheritance and abstract classes are discussed. 3) Mentions use case diagrams, class diagrams, and other diagrams will be included but are not shown. 4) Discusses the problem solving approach of using user types and dynamic arrays to store and process user data through the system flows defined in the code.

Uploaded by

dannybitscom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

GIT Department of Computer Engineering

CSE 222/505 - Spring 2020


Homework 01Report

Mohammad Ashraf Yawar


161044123
1. SYSTEM REQUIREMENTS:

a: functional requirements of the system:

- system starts with a message saying cargo name.


- system has automaticaly hired a CEO to the cargo company.
- name surename and user id of CEO of the system is ashraf yawar 2514.
- CEO has authority (or can ) to start and close the system and hire Administrators
to the system.
- from Login Page we can Login as CEO, Adminisrator, BranchEmployee
TransportaionPersonnel and Customer to the system.
- Administrator can hire/remove a BranchEmployee, Branch and Trasporation
Personnel To /from Admin Page of the system.
- Branch Employee can add and remove customer to the system in two sectuation:
a >> only register the customer to the system thats all
b >> register the customer to the system and send package related to that customer
from certain branch.
- branch employee can receive a shipmend the branch that he or she works at.
- branch employee can send an already received package, from a branch.
- branch employee can set and change the status of a package which is in the
branch of on it’s way to customer’s address.
- when a package received from a customer it has three stages:

stage 1 : in branch status (Branch Employee can change the status of a package in
this stage).

stage 2 : on the way status( Branch Employee can change the status of a package
in this stage).

Stage 3: delivered stage ( Transportaion Personnel can delete delivered shipments


from the Shipment list).
-Transportaion Personnel has authority to delete the packages which is delivered to
the certain address .
- customer can display his or her package info( information of sender information
of receiver and information and status of the packge) .
- a customer can only send one package in the same time after delivering his or her
package he or she can send another one.
- if user inters a number not in the range of certain menu it must give an input
error saying that the entered input is not in range or incorrect ,and return to menu
until the valid input is entered In a certain menu(page).
- CEO of the system should close the system when it’s necessary.

Non functional requirements of the system:

a) Portability:

since java programs are not platform independent this system’s byte code
will work in any platform as far as there is appropriate jdk is installed to the
platform.

b)Security:

-security is concerned in this system since every class has it’s own access
scope .
- class User is abstract which’s refference variable can reffere to the
objects of the class Administrator , Branch , BranchEmployee ,
TransportationPersonnel and Customer classes.
Customer class can refer to one object of type Package class.
- classes of Administrator, BranchEmployee TransportationPersonnel and
Customer each should hold a reference to object of type Branch class .
- name , surename , id , tracking number’s should be accessed via class
methods and should be private variables.

c) Maintainability:
-the system should be maintainable meaning we must be able to look up
the code after a long time and understand it easily and could be able to
expand the functionality of the system and make changes on old program.

- arrays used in this system must be flexible (dynamic ). and any


programmer who works on it should be able to make changes on it.

d) Reliability:

the system should be free of bugs and reliable to anyone.


- avoid null pointer access in the system.

e) Performance:

- system should respond in satisfactory manner so that users of the


system be pleased with the performance of the system.

f) Reusability:

-create functions of the portions of the code which have same or different
inputs but same or different outputs.
- make use of inheritence ,make an abstract class of parent class make
variables and methods used differently in different child classes.

2. USE CASE DIAGRAMS:


3. CLASS DIAGRAMS:
4. OTHER DIAGRAMS:
5. PROBLEM SOLUTION APPROACH:
this system takes a user info and reacts according to that in order to store the user
data I have used dynamic array concept to add and remove user or user’s object in
a dynamic array once system starts to process it asks user to login an according to
which type of user ( whether ceo ,administrator,branch employee transportation
personnel or customer him or herself ) system behaves to that and system kind of
force user in some cases to a flow of program determined through out the coding
relations between classes and objects by forcing user system prevents any kind of
damage to the system and user privacy . Since we can manipulate the inheritence
in this project we need to make use of abstract classes in inheritence since we have
common data field and some common method used in some group of classes we
can make use of inheritence .in this project case I have used a class named User
and inheritend Ceo , Administrator, Branch Employee , Transportation Personnel
and Customer Classes from it .in in this program once we start processing system
foreces user to add atleast one admin to the company cause there must be at least
one admin in a company and then we can add other user types to the system and
each user has his her own range of accessibility to system in order to make
changes in the system.

6. RUNNING AND RESULTS:


schreen shots:
schreen shots from biggenig of the program till the end with all tested scenarios.

You might also like