Software Requirements
Specification
TO :
ONLINE SYSTEM TO LEARNING CENTER
Name student Id section
Ibrahem Abdallah Abu-Alfoul 129796 2
Kamel Belal Shamout 126314 2
Abdelrahman Mohammad ALshrou 129495 2
Ahmed Kamal Naamneh 116969 2
Instructo: صـنوـهـ
وسف خـا
ي ـ.د
Course:SE230 - FUNDAMENTALS OF SOFTWARE ENGINEERING
14 Architectural Design Using MVC patterns ……………...…...19
TABLE OF CONTENTS…………………………………………………..1 15 Context Models…………………………………………………………..20
16 Use Case Diagram………………………………………………………..20
1 INTRODUCTION………………………………………………………3 17 Class Diagram……………………………………………………………..21
18 Sequence Diagram………………………………………………………21
1.1 Document Purpose ……………………………………………3
1.2 Objective and Motivation ……………………………………..3 19 Behavioral Diagram…………………………………………………….21
1.3 Product Scope …………………………………………………4 20 MVC pattern…………………………………………………….…………22
2 Context Diagram...........................................................................4
21 Architecture Designs ……………………………………….…………22
3 Process..........................................................................................5
22 Type of design (pattern or Patterns)…………………….……..23
4 Risk….……………………………………………....…….……...…..6 "it's not included in materials"
5 Feasibility Study……………….……………..…..……………........6
23 Sequence diagram of…………………………………….…………….24
6 Schedule………………………..……….……….…..……………… 7 an Abstract Factory production
7 Techniques………………………………………………..……….…8 24 Where Would I Use This Pattern ?................................25
8 Functional Requirements ......................................................9
25 Testing …………………………………………………..26&27
8.1 System Requirements ……..…....................................................10
8.2 Admin Requirements …................................................................11
8.3 Customer Requirements ..............................................................12
Non Functional. .................................................................................12
9 Use Case of system .........................................................................13
10 Diagrams...............................................................................................14
11 Class Diagram……………… …………………………….……….…..…15
12 Sequence Diagram…………………………………………….…..…..16
13 Behavioral Diagram…………………………………..……..…...…..17
2
1- Introduction
1.1 Document Purpose
The purpose of this document is to build an online system to Learning Center and student for easy of
study .
1.2 Objective and Motivation
student and learning center System was created to give student a great study service, It
also provides the student with and less effort and save time .
The main objective of this project is to process common problems of the Traditional
learning .
The aim of our project is to design and develop a program that will teach teaching such as
providing facilities to explain materials online or any other process through an effective
and simple way for students who intend to learn correctly and quickly.
3
1.3 Product scope
The purpose of the online educational center system is to facilitate study and create a
comfortable and easy-to-use application for students, trying to study materials online.
Above all, we hope to provide a comfortable user experience with the best explanations
of materials.
2 Context Diagram
4
3 Process
Waterfall model:
A software process model that involves discrete development stages: specification, design,
implementation, testing, and maintenance. In principle, one stage must be complete before
progress to the next stage is possible. In practice, there is significant iteration between stages
as our system proceeds from one phase to another in sequential and systematic manner i.e. the
phases are well segregated and only after the completion of one phase, the development of
software moves to the next phase.
as our system is simple to implement and represents processes which are easy to manage and
measure.
all the requirements stated by the user are known before hand and are well understood.
as this is a short duration project.
4 Risk
1. according to our fulfilled university schedule it is difficult to
concentrate on both : the project and what we supposed to
learn and how to get all our tasks done is taking the whole time
.
2. financially we're not able to get all the materials and 5
the necessary equipment's ready for this project.
5 Feasibility Study
Feasibility study, is this project achievable (doable) financially,
technically
A)Financially
1.preparing cost and benefit analysis .
2. Financing the project from investment authorities like unviercity.
3.providing infrastructure (server, internet , pc).
4.preparation of outsourcing plans (machines.. ..).
5. preparation of survey to the market behavior.
6. competitors analysis.
B) Technically
1. identifying the needs for machines and equipment to run the project.
2. structuring the it department and dividing missions over all the
areas that cover the programming and implementation of the project.
3. preparing programming of the project customized for in-bounding
and out-bounding the information
4. the possibility of recalling the data from the system and the
possibility of imposing technical control on data
5. preparation of backup of the data in the system and imposing
security on the server
6
6 Schedule
Task Name duration Start Finish
1. introduction 1 day 1/3/2020 2/3/2020
2.project initiation &
planning phase 5 days 2/3/2020 7/3/2020
3.analysis phase 15 days 7/3/2020 22/3/2020
4.design phase 13 days 22/3/2020 5/4/2020
3 days
5. delivery 5/4/2020 8/4/2020
7
•Google-Review : we put many questions
to supervisor in the Company for
example why do you need the system
and what the system should do and can
7. the system help student in their study?
Techniques
8
8 Functional Requirements
8.1System 8.1System Requirements
Requirements : :
• • The system
The system provides provides
information on information
the course on forthe
thecourse for the student.
student.
• The system must provide details about the courses and the priceand the price
• The system must provide details about the courses
• The system searches for the required course
• The system searches for the required course
• The system should display a detailed list of available courses
• The system should display a detailed list of available courses
• The system should display a detailed list of reservations for specific courses.
• The system should
• Thedisplay a detailed list of reservations for specific courses.
system will cancel the current reservation.
• The system will• cancel the current
The system reservation.
must verify the account balance before making the reservation.
• The system must verify
• The the should
system account balance
display the before making the reservation.
course information.
• The system should
• Thedisplay
systemthe course
tracks eachinformation.
session with the following details: name, amount, date, type,
• The system tracks each of
method session
paymentwith the
and following
the remainingdetails:
amount. name, amount, date, type, method of payment and the
remaining amount.
• The system will find a better result for the customer depending on the price and time.
• The system will• find
The a betterprovides
system result for the customer
a login screen for depending
the customer. on the price and time.
• The system provides registration
The system provides a login screen for the customer.
• (registration) to the customer.
• • The system
The system provides allows(registration)
registration the customer to to enter his full name, password, email and phone
the customer.
• number.
The system allows the customer to enter his full name, password, email and phone number.
• The system sends any alert to the customer via his mobile phone or his email.
• The system sends
• Theany alert to the customer via his mobile phone or his email.
system allows the user to make any changes to its course.
• The system allows
• Thethe user to make any changes to its course.
system allows the customer to accept the application policy.
• The system allows
• Thethe customer
system to accept
provides the path
the course application policy.
for the customer.
• The system provides the course path for the customer.
9
8.2Admin
Requirements :
2. The admin
1. The admin 3. The admin
shall provide a 4. The admin
shall determine shall determine
direct shall provide the
the lecture the prices of the
description of lectures dates.
times trips
each lecture
5. The admin 6. The admin 8. The admin
7. The admin
shall update the shall send a shall provide a
shall edit the
lectures notification to discount for a
lectures..
information. the student. student.
10
1.The student shall select the system language.
2.The student shall select the lecture type.
3.The student shall identify the payment method such
as credit card payment service.
8.3Student 4.The student who is using a credit card, shall
Requirements provided with an account number and a password
: 5.The student who apply a cash method should enter
the money into machine.
6.The student shall get automatic invoicing to his
payment
7.The student shall select the date of the lecture.
8.The student shall select what's the course he want
to make a lecture.
11
9.The student shall select the time of the fight.
10.The student shall compare the lecture prices to choose the better.
11.The student shall select the lecture name.
12.The student shall receive a notification about his lecture.
13.The student shall update his choice.
14.The student shall cancel his lecture before three day from the
lecture date.
15.The student shall enter his information to his profile.
16.The student shall update his profile information.
Non Functional :
Usability: The system shell be easy to use. The system shell be easy to
interface with other elements The system shell be easy to understand The
system shell be easy is fast
Reliability: The system supported by data security system The system is
supported by main server in the site The system is supported by qualified staff.
The system is supported by continual improvement
12
9Use Case of system
use case diagram of student :
use case diagram of administrative :
13
10Diagrams
Context Diagram Context
Context Diagram
Diagram
14
11 Class Diagram
Class Diagram for Learning Center system
15
12 Sequence Diagram
Sequence Diagram for student
16
State system diagram for user
13 Behavioral
Diagram
17
State
transaction
diagram for
admin
18
14 Architectural
Design Using
MVC patterns
•when the user
(Customer) enters a URL
in the browser, it goes to
the server and calls
appropriate controller.
Then, the Controller uses
the appropriate View and
Model and creates the
response and sends it
back to the user.
19
15 Context Models
Context models are used to illustrate the operational context
of a system - they show what lies outside the system
boundaries.
16 Use Case Diagram
The diagram representation of a user's interaction with the system
that shows the relationship between the user and the different use
cases in which the user is involved. A use case diagram can identify the
different types of users of a system and the different use cases and will
often be accompanied by other types of diagrams as well. The use
cases are represented by either circles or ellipses. a use-case diagram
can help provide a higher-level view of the system. The diagram
provides a simplified and graphical representation of what the system
must actually do.
20
17 Class Diagram
Class diagrams, are part of UML , which show the object classes in the
system and the associations between these classes
18 Sequence Diagram
Sequence Diagram Sequence diagrams are part of UML and are used
to model the interactions between the actors and the objects within a
system.
19 Behavioral Diagram
Behavioral Diagram . They show what happens or what is supposed to
happen when a system responds to a stimulus from its environment.
21
20 MVC pattern
The MVC (Model , view , controller ) Separates presentation and interaction from the
system data. The system is structured into three logical components that interact with
each other. The Model component manages the system data and associated
operations on that data. The View component defines and manages how the data is
presented to the user. The Controller component manages user interaction and passes
these interactions to the View and the Model
21 Architecture Designs
The design process for identifying the sub-systems making up a system and the
framework for sub-system control and communication.
22
• Design pattern is a general and reusable solution
to a commonly occurring problem within a given
context in software design, it is not a finished
design that can be transformed directly into
22 Type of
source or machine code, it is a description or
template for how to solve a problem that can be
used in many different situations. Design
design
patterns are formalized best practices that the
programmer can use to solve common problems
when designing an application or system.
(pattern or •
• Object-oriented design patterns typically show
Patterns) relationships and interactions between classes
or objects, without specifying the final
application on classes or objects that are
"it's not involved, design patterns that imply changeable
cases may be unsuited for
functional programming languages, some
included in patterns can be rendered unnecessary in
languages that have built-in support for solving
the problem they are trying to solve, and object-
materials" oriented patterns are not necessarily suitable for
non-object-oriented languages. Design patterns
may be viewed as a structured approach to
computer programming intermediate between
the levels of a programming pattern and a
concrete algorithm.
23
23 Sequence diagram of an Abstract Factory production
• While the class diagram looked a bit busy,
the sequence diagram shows how simple this
pattern is from the Clients point of view. The
client has no need to worry about what
implementations are lying behind the
interfaces, protecting them from change
further down the line. 24
24.Where Would I
Use This Pattern ?
The pattern is best utilized when your
system has to create multiple families of
products or you want to provide a library of
products without exposing the
implementation details. As you'll have
noticed, a key characteristic is that the
pattern will decouple the concrete classes
from the client. An example of an Abstract
Factory in use could be UI toolkits. Across
Windows, Mac and Linux, UI composites
such as windows, buttons and text fields are
all provided in a widget API like SWT.
However, the implementation of these
widgets vary across platforms. You could
write a platform independent client thanks
to the Abstract Factory implementation.
25
discover
bugs and defects.
-Unit testing
- The system must check if the entered flight for the flight
trips
is available and calculate the price based on the amount
-Check if the language of the system works both in
English and
Arabic
-The system should be checked if the message of all of
the
information is shown
-Check the paying method :
25.Testing If credit card the system should check the account is
available
and check the password is secured
-Component testing :focus on testing component
interfaces.
-System testing : focus on testing component
interactions.
-System and component testing : During system testing,
reusable components that have been may be integrated
with
new components. The complete system is then tested.
-Use-case testing : Each sequence diagram we use it to
test a
use case . 26
2) Release testing
Where a separate testing team test a
complete version of the system before it is
released to users.
3) User testing
The customer tries the system and rate it
based on the services that the system
provide .
4) Performance testing
The system should operates its function in
small amount of time which is less than 2
seconds .
5) Reliability testing
The system should be available based on
the customer needs and can work properly .
27