Srs Project
Srs Project
Submitted by
BSSE0502 - Jobayer Ahmmed
BSSE0509 - Minhas Kamal
BSSE0516 - Md. Rakib Hossain
BSSE0522 - Md. Abdul Mannan
BSSE0528 - Naima Afroz
BSSE0535 - Khandaker Mamun Ahmed
Submitted to
Dr. Kazi Muheymin-Us-Sakib
Associate Professor
Institute of Information Technology
University of Dhaka
Submission Date
29th November, 2014
LETTER OF TRANSMITTAL
Sir,
We have prepared the report on Software Requirements Specification
of ‘Student Information System for IIT DU’ for your approval. This
report details the requirements we gathered for the project.
The primary purpose of this report is to summarize our findings from
the work that we completed as our Software Requirements
Specification and Analysis course project. This report includes the
details of each step we followed to collect the requirements.
Sincerely Yours,
Jobayer Ahmmed (BSSE-0502)
Minhas Kamal (BSSE-0509)
Md. Rakib Hossain (BSSE-0516)
Md. Abdul Mannan (BSSE-0522)
Naima Afroz (BSSE-0528)
Khandaker Mamun Ahmed (BSSE-0535)
i
Executive Summary
Acknowledgements
ii
Table of Contents
Chapter 1: Introduction ........................................................................... 1
1.1 Purpose 1
1.2 Intended Audience 1
iii
Table
6
of Contents
Chapter 5: Data Model .............................................................................. 90
5.1 Introduction 90
5.2 Data Object Selection 90
5.3 Data Objects & Attributes 95
5.4 Relationship between Data Objects 96
5.5 E-R Diagram 97
5.6 Schema Diagram 98
5.7 Table Creation Statement 100
iv
Student Information System
Software Requirements
Requirement Specification & Analysis
Chapter 1
Introduction
1.1 Purpose
This document is the Software Requirements Specification (SRS) for the IIT, DU
Student Information System (SIS). It contains detailed functional, non-functional,
and support requirements and establishes a requirements baseline for
development of the system. The requirements contained in the SRS are
independent, uniquely numbered, and organized by topic. The SRS serves as the
official means of communicating user requirements to the developer and
provides a common reference point for both the developer team and stakeholder
community. The SRS will evolve over time as users and developers work together
to validate, clarify and expand its contents.
1
The testers will use this SRS to derive test plans and test cases for each
documented requirement. When portions of the software are complete,
the testers will run their tests on that software to ensure that the software
fulfills the requirements documented in this SRS. The testers will again run
their tests on the entire system when it is complete and ensure that all
requirements documented in this SRS have been fulfilled.
2
Chapter 2
Inception
2.1 Introduction
Inception is the beginning phase of requirements engineering. It defines how does
a software project get started and what is the scope and nature of the problem to
be solved. The goal of the inception phase is to identify concurrence needs and
conflict requirements among the stakeholders of a software project. To establish
the groundwork we have worked with the following factors related to the
inception phases:
Identifying Stakeholders
Asking the First Questions
Recognizing Multiple Viewpoints
Working towards Collaboration
3
Whose work will my project affect? (During the project and also once
the project is completed)
Concluding thoughts on Stakeholders, We identified following stakeholders for
our automated Student information system for IIT DU:
1. Program Chair: The Program Chair is the person who has the final
authority over our budget, our personal resources, and ultimately the
finished product. His position empowers him to veto a decision made by
the other Stakeholders. As head of Program Courses, the Program Chair
has direct authority over our Systems budget, and our team— the
people developing the site and doing much of the “management” end of
this project.
2. Program Coordinator: Program coordinator will directly interact with
the system. But program coordinators are selected from the faculty
member so they have two different roles in this system.
3. Program Officer: Program officer will directly interact with the system.
He will provide a lot of information and has a responsibility to maintain
the system.
4. Program Accountant: Program accountant will directly interact with the
system related to any financial activity.
5. Registered Students: The largest user group of the system. They will
provide with all that information which is essential to them. Besides
they will search for items, renew items and reserve items. They will
directly interact with the system.
6. Faculty Members: Faculty member are also responsible for providing all
that information which is essential to the student on a particular course.
They will directly interact with the system.
7. Developers: We selected developers as stakeholder because they
develop this system and Work for further development. If occurs any
system interruption, they will find the problem and try to solve it.
8. Alumni: Alumni’s will also interact with the system. They provide
information in the system and also are provided with the system.
9. Guest: They indirectly interact with the system through an interface to
get information that is essential to them.
4
2.1.2 Asking the First Questions
We set our first set of context-free questions focuses on the customer and other
stakeholders, overall project goals and benefits. The questions are mentioned
above. These questions helped us to identify all stakeholders, measurable benefit
of the successful implementation and possible alternatives to custom software
development. Next set of question helped us to gain a better understanding of
problem and allows the customer to voice his or her perception about the
solution. The final set of question focused on the effectiveness of the
communication activity itself.
5
3. Program Officer:
a. Allow program officer to check-out and check-in items for valid users.
b. The application should be installed and maintained on one computer.
c. Web-Based Interfaces.
d. Allow Program officer to generate reports, editing information on the
items in the system.
e. A user guide describing how to use SIS IIT DU need to be deployed
with the system.
f. A product reference manual describing how to install, setup, and run
the application shall be provided.
4. Program Accountant:
a. Allow the system to be accessed without internet.
b. Easy Access.
c. Allows valid users to temporary information online by logging into
the system.
d. To allow Program Account to log in the system with the official
computers.
5. Registered Students:
a. Web-Based Interfaces.
b. Easy Access.
e. The application can be accessed from any computer that has Internet
access.
f. Easily maintainable profile.
6
6. Faculty Members:
a. Web-Based Interfaces.
b. Easy Access.
c. Enable to log in from smart phones or tablets.
d. Allow the system to be accessed via the Internet.
e. The application can be accessed from any computer that has Internet
access.
f. Easily maintainable profile.
7. Alumni:
a. Web-Based Interfaces.
b. Easy Access.
c. Enable to log in from smart phones or tablets.
d. Allow the system to be accessed via the Internet.
e. The application can be accessed from any computer that has Internet
access.
f. Easily maintainable profile.
7
Common Requirements:
Web-Based Interfaces.
The application can be accessed from any computer that has Internet
access.
Easy Access.
Enable to log in from smart phones or tablets .
Maintain a database of all items in the student information system.
Conflicting Requirements:
Final Requirements:
We finalized following requirements for the system by categorizing and
prioritizing the requirements:
Error free system (Maximum 5% error may be considerable).
Web-based interfaces.
Accessible via the Internet.
Allow valid users to login and logout.
Restrict access to functionality of the system based upon user roles.
Allow administrators of the system to change user types and configure
parameters of the system.
Allow any guest user to search for information in the student information
system‘s home page without having to log in to the system.
8
Allow valid users that log in to renew items, reserve items, and view the
items they have checked out.
Allow Program chair and Program Officer to check-out and check-in items
for valid users.
Allow Program officer to generate reports, editing information on the items
in the system.
Allows valid users to renew items online by logging into the system.
Maintain a database of all items in the Student Information System.
Restrict access to functionality of the system based upon user roles. For
example, Only Administrators of the system will be provided functionality
to change user types, configure new changes to maintain database.
2.2 Conclusion
Inception phase helped us to establish basic understanding about Student
information system for IIT, DU; identify the people who will be benefited if
student information system becomes automated, define the nature of the
student information software and establish a preliminary communication with
our stakeholders.
Group Meeting
9
Members:
Members:
Members:
10
4. Date: September 17, 2014
Members:
Members:
11
Chapter 3
Elicitation
3.1 Introduction
Elicitation is a task that helps the customer to define what is required. To
complete the elicitation step we face many problems like problems of scope,
problems of volatility and problems of understanding. However, this is not an
easy task. To help overcome these problems, we have worked with the Eliciting
requirements activity in an organized and systematic manner.
12
The meetings were conducted with Program Chair .He was questioned
about their requirements and expectations from the automated Student
information system.
He was asked about the problems he is facing with the current manual
system. At last we selected our final requirement list from the meetings.
13
3.4.2 Expected Requirements
These requirements are implicit to the system and may be so fundamental that
the customer does not explicitly state them. Their absence will be a cause for
dissatisfaction.
1. Maintain a database of all items in the student information system.
2. The system shall enable the administrator to change a user’s type to any
user type.
3. Administrator will be able to configure the any changes.
4. The system shall enable the program officer to change or update any
information.
5. The system shall allow the user to log in based upon an assigned login ID
and password.
6. The system shall automatically send notification to the user when
program chair uploads any emergency notice.
7. The user interface of the system shall be easy to use and shall make use
of drop-down boxes, radio buttons, and other selectable fields wherever
possible instead of fields that require the user to type in data.
14
3.5 Usage Scenario
Admission Process:
In every year IIT DU publishes two circulars (September to December) to enroll new
students in these two course programs (PGDIT & MIT). These circulars contain a full
description of admission processes. The admission test has two phases, first one is
written test and second one is viva test. Students who are qualified in the written test
are requested to attend for the viva. At the end, total 40 students are selected from this
whole admission process along with two waiting lists containing 10 students in each list.
Regular Program Office (RPO) is responsible for publishing and updating all these
notices and circulars.
Registration Process:
After completing the selection procedure, new students are enrolled in their respective
course programs. Selected students have to pay semester fee in bank at the beginning
of the registration process. Besides they are requested to fill-up their necessary
documents and submit their previous academic documents in the program office.
Students also have to do a registration in their assigned halls. Students who have
completed their registration process (both in IIT and Hall) are treated as regular
students and a student profile is created for every student.
15
students who want to withdraw their academic papers, character certificates or want to
change their profile information such as phone number, present address etc. contact to
the PO.
The Alumnus:
Students who have successfully completed any program (MIT or PGDIT) are considered
to be a alumnus of IIT. All the information of alumnus, such as their academic profile,
their contribution to IIT, current job position, address, phone number, email address
etc. are preserved to RPO. If any change is occurred in the personal information of any
individual alumnus, it is his/her responsibility to make the change.
16
3.6 Elicitation Work Product
The output of the elicitation task can vary depending on size of the system or
product to be built. Our elicitation work product includes:
A statement of our requirements for automated book circulation system.
A bounded statement of scope for our system.
A list of customers, users and other stakeholders who participated in
requirement specification.
Set of usage scenarios.
Description of the system’s technical environment.
Group Meeting
Members:
17
Place: Institute of Information Technology, University of Dhaka
Members:
Members:
Members:
18
○ BSSE 0522- Md Abdul Mannan
○ BSSE 0535- Khandaker Mamun Ahmed
Members:
Members:
19
Chapter 4
Scenario-Based Model
4.1 Introduction
In this model the system is described from the user’s point of view. As this is the
first model, it serves as input for creation of other modeling elements.
20
Program Coordinator,
Program Chair,
Program Accountant,
Course Teacher,
Student, Alumnus
Admission Publish Admission Program Officer,
Process Notice Program Coordinator,
Program Chair
Publish Result Program Officer,
Program Chair
Create Student Program Officer
Profile
Manage Publish Notice Program Officer,
Program Program Coordinator,
Office Work Program Chair
Provide Course Program Officer,
Outline Course Teacher
Create Course Program Officer
Teacher Profile
Change Profile Program Officer,
Information Program Chair
Keep Financial Program Accountant
Record
Provide Form Program Officer
Administrative Create & Assign Program Chair
Work Program Office Staff
Assign Program Program Chair
Coordinator
System Manipulation Program Chair
Maintain Verify Document Program Coordinator,
Course Program Chair
Program Control Emergency Program Coordinator,
Issue Program Chair
Assign Course Program Coordinator
Teacher
Provide Provide Course Course Teacher
Resource & Resource
Marks Submit Course Marks Course Teacher,
Program Officer
21
4.3 Use Case Description
We shall elaborate use case scenario to use case diagram, description,
activity diagram & swim-
-lane diagram. Here is the use case diagram of
level-0 for SIS:
22
4.3.1 Student Information System
This is the elaborated form of level-0
level for SIS:
23
4.3.1.1 Authentication
We can further section Authentication system into three sub-systems:
sub systems:
24
4.3.1.1.1 Use Case: Sign In
Primary Actor:
1. Program Officer
2. Program Coordinator
3. Program Chair
4. Program Accountant
5. Course Teacher
6. Student
7. Alumnus
Scenario:
Exceptions:
1. Unrecognized username.
2. Wrong password.
3. User is blocked.
25
Figure a1: Activity Diagram- Sign In
26
Figure a2: Swim-Lane Diagram- Sign In
27
4.3.1.1.2 Use Case: Sign Out
Primary Actor:
1. Program Officer
2. Program Coordinator
3. Program Chair
4. Program Accountant
5. Course Teacher
6. Student
7. Alumnus
Scenario:
Exception:
1. System error.
2. Network error.
28
Figure b1: Activity Diagram- Sign Out
29
Figure b2: Swim-Lane Diagram- Sign Out
30
4.3.1.1.3 Use Case: Maintain Profile
Primary Actor:
1. Program Officer
2. Program Coordinator
3. Program Chair
4. Program Accountant
5. Course Teacher
6. Student
7. Alumnus
Scenario:
Exceptions:
31
Figure c1:: Activity Diagram-
Diagram Maintain Profile
32
Figure c2:: Swim-Lane
Swim Diagram- Maintain Profile
33
4.3.1.2
1.2 Admission Process
We can divide Admission Process into three following sub-systems:
systems:
34
4.3.1.2.1 Use Case: Publish Admission Notice
Secondary Actors:
1. Program Coordinator
2. Program Chair
Scenario:
Exceptions:
35
Figure d1:: Activity Diagram-
Diagram Publish Admission Notice
36
Figure d2:: Swim-Lane
Swim Diagram- Publish Admission Notice
37
4.3.1.2.2 Use Case: Publish Result
Scenario:
Exceptions:
38
Figure e1
e1: Activity Diagram- Publish Result
39
Figure e2:: Swim-Lane
Swim Diagram- Publish Result
40
4.3.1.2.3 Use Case: Create Student Profile
Scenario:
Exceptions:
41
Figure f1:: Activity Diagram-
Diagram Create Student Profile
42
Figure f2:: Swim-Lane
Swim Diagram- Create Student Profile
43
4.3.1.3 Manage Program Office Work
We found six sub-systems
systems in this level:
44
4.3.1.3.1 Use Case: Publish Notice
Secondary Actors:
1. Program Chair
2. Program Coordinator.
Scenario:
Exceptions:
45
Figure g1
g1: Activity Diagram- Publish Notice
46
Figure g2:: Swim-Lane
Swim Diagram- Publish Notice
47
4.3.1.3.2 Use Case: Provide Course Outline
Scenario:
Exceptions:
1. File format miss-match.
2. Unable to attach file.
3. File size is too large to upload.
48
Figure h1:: Activity Diagram-
Diagram Provide Course Outline
49
Figure h2:: Swim-Lane
Swim Diagram- Provide Course Outline
50
4.3.1.3.3 Use Case: Create Course Teacher Profile
Scenario:
Exceptions:
51
Figure i1:: Activity Diagram-
Diagram Create Course Teacher Profile
52
Figure i2:: Swim-Lane
Swim Diagram- Create C. Teacher Profile
53
4.3.1.3.4 Use Case: Change Profile Information
Primary Actors:
1. Program Officer
2. Program Chair
Scenario:
Exceptions:
1. System error.
2. Network error.
3. Null information provided.
4. Unable to update the changes.
54
Figure j1:: Activity Diagram-
Diagram Change Profile Information
55
Figure j2: Swim--Lane Diagram- Change Profile Information
56
4.3.1.3.5 Use Case: Keep Financial Record
Scenario:
Exceptions:
57
Figure k1:: Activity Diagram-
Diagram Keep Financial Record
58
Figure k2:: Swim-Lane
Swim Diagram- Keep Financial Record
59
4.3.1.3.6 Use Case: Provide Form
Scenario:
Exceptions:
1. System error.
2. Cannot attach the form.
3. File format mismatch.
4. Unable to upload the form.
60
Figure l1: Activity Diagram- Provide Form
61
Figure l2
l2: Swim-Lane Diagram- Provide Form
62
4.3.1.4
1.4 Administrative Work
We divided administrative work in three sections:
63
4.3.1.4.1 Use Case: Create & Assign Program Office Staff
Scenario:
Exceptions:
64
Figure m1:: Activity Diagram-
Diagram Assign Program Office Staff
65
Figure m2: Swim
Swim-Lane Diagram- Assign Program Office Staff
66
4.3.1.4.2 Use Case: Assign Program Coordinator
Scenario:
Exceptions:
67
Figure n1:: Activity Diagram-
Diagram Assign Program Coordinator
68
Figure n2: Swim--Lane Diagram- Assign Program Coordinator
69
4.3.1.4.3 Use Case: System Manipulation
Scenario:
Exceptions:
70
Figure o1:: Activity Diagram-
Diagram System Manipulation
71
Figure o2:: Swim-Lane
Swim Diagram- System Manipulation
72
4.3.1.5
1.5 Maintain Course Program
We have found three sub-systems
sub in this system:
73
4.3.1.5.1 Use Case: Verify Document
Scenario:
Exceptions:
74
Figure p1
p1: Activity Diagram- Verify Document
75
Figure p2:: Swim-Lane
Swim Diagram- Verify Document
76
4.3.1.5.2 Use Case: Control Emergency Issue
Scenario:
1. Sign in.
2. Click on ‘Maintain Course Program’.
3. Select ‘Control Emergency Issue’.
4. Solve or remove the issues.
Exceptions:
1. Error in network.
2. Not authorized to change the error.
77
Figure q1:: Activity Diagram-
Diagram Control Emergency Issue
78
Figure q2:: Swim-Lane
Swim Diagram- Control Emergency Issue
79
4.3.1.5.3 Use Case: Assign Course Teacher
Scenario:
Exceptions:
80
Figure r1:: Activity Diagram-
Diagram Assign Course Teacher
81
Figure r2:: Swim-Lane
Swim Diagram- Assign Course Teacher
82
4.3.1.6 Provide Resource & Marks
We have sectioned it into two following parts:
83
4.3.6.1 Use Case: Provide Course Resource
Scenario:
1. Sign in.
2. Click on ‘Provide Course Resource & Marks’.
3. Press ‘Upload Resource’ button.
4. Press ‘Attach’ button.
5. Browse and select file.
6. Press ‘Upload’ button.
Exceptions:
1. Network problem.
2. Connection problem.
3. System problem.
4. Data size is out-of-bound.
5. File is a possible threat (like *.exe or *.jar file).
84
Figure s1:: Activity Diagram-
Diagram Provide Course Resource
85
Figure s2:: Swim-Lane
Swim Diagram- Provide Course Resource
86
4.3.6.2 Use Case: Submit Course Marks
Scenario:
Exceptions:
1. System error.
2. File format mismatch.
3. Unable to attach file.
4. Network error.
87
Figure t1:: Activity Diagram-
Diagram Submit Course Marks
88
Figure t2:: Swim-Lane
Swim Diagram- Submit Course Marks
89
Chapter 5
Data Model
5.1 Introduction
If software requirements include the need to create, extend, or interface with a
database or if complex data structures must be constructed and manipulated, the
software team may choose to create a data model as part of overall requirements
modeling.
90
Assigned Semester ,
Course Id, Assigned Hall,
Student Photo
PGDIT A course program
MIT A course program
System Alias of
SIS
Course Teacher Course Name, Teacher Potential data object Accepted
Name, Course Id,
Teacher Photo,
Qualification(PhD,
From where, Papers
etc), Teacher Email
Information Can be an attribute Rejected
Course Materials An attribute of course Rejected
Financial Rejected
activities
Academic life Admission test, Written A student’s whole Rejected
test, Viva test academic life
Admission A process Rejected
process
Year September, December can be an attribute Rejected
Circular can be an attribute of Rejected
Notice
September A month Rejected
December A month Rejected
Course Program Course Id, Teacher Potential data object Accepted
Name, Course Name,
Course Materials.
Admission test Out of scope Rejected
Written test Out of scope Rejected
Viva test Out of scope Rejected
Waiting list Can be an attribute of Rejected
Notice
91
Regular Staff Name, Staff ID, Potential data object Accepted
Program Office Staff Email.
92
Class routine Can be an attribute of Rejected
Notice
Amount Can be an attribute of Rejected
Notice
Submission Can be an attribute of Rejected
deadline Notice
Cultural activity Can be an attribute of Rejected
fees Notice
Cultural activity An attribute of Notice Rejected
Forms
Program officer External entity Rejected
Exam routine An attribute of Notice Rejected
Academic Out of scope Rejected
papers
Character Not necessary Rejected
certificate
Profile An attribute of other Rejected
information potential objects
Phone number An attribute of other Rejected
potential objects
Present address An attribute of other Rejected
potential objects
Program External entity Rejected
Accountant
Financial Can be an attribute Rejected
activity
Submission Out of scope Rejected
Program Chair External entity Rejected
Administrator Out of scope Rejected
Program External entity Rejected
coordinator
Documents An attribute of Course Rejected
Emergency Out of scope Rejected
issues
Faculty External entity Rejected
member
Knowledge Out of scope Rejected
93
Reference An attribute of Course Rejected
books
Web links An attribute of Course Rejected
Course An attribute of Course Rejected
objective
Mark An attribute of Notice Rejected
distribution
policies
Resources An attribute of Course Rejected
Marks An attribute of Notice Rejected
Grades An attribute of Notice Rejected
Mark sheets An attribute of Notice Rejected
Dead line Defined in notice Rejected
Mark Can be an attribute Rejected
distribution
Alumnus Alumnus Name, Potential data object Accepted
Alumnus Email ,Alumnus
Achievements ,Alumnus
Present Address,
Alumnus Permanent
Address , Alumnus
Phone Number
Academic Alias of other Rejected
profile potential data objects
Contribution Can be an attribute Rejected
Job position Can be an attribute Rejected
Address An attribute of other Rejected
objects
Email address Can be an attribute Rejected
Individual An individual person Rejected
alumni
94
5.3 Data Objects and Attributes
This is a brief view of all attributes we have found so far:
95
5.4 Relationship between
etween Data Objects
O
Here we have shown pair wise relation between two entities.
96
5.5 E-R Diagram
Here relationships among all entities are shown as a diagram.
97
5.6 Schema Diagram
Here is the table of all entities carrying their attributes and types:
98
5.7 Table Creation Statement:
Here is DDL, the statement for creating all the entities:
create table student (
studentID varchar(13) not null,
studentName varchar(25),
studentPresentAddress varchar(35),
studentPermanentAddress varchar(35),
studentPhoneNumber integer,
assignedSemester integer not null,
assignedHall varchar(7),
studentEmail varchar(25),
studentPersonalAchievements bolb,
studentPhoto BYTE IN photo_space,
primary key (studentID),
constraints_fk_programID foreign key (programID) references
notice(programID),
constraints_fk_courseID foreign key (courseID) references
course(courseID),
constraints_fk_username+passwordforeign key (username+password)
references system (username+password)
)
99
alumnusEmail varchar(35),
alumnusPresentAddress varchar(35),
alumniPhoneNumber integer,
alumniPermanentAddress char(35),
alumniPhotoBYTE IN photo_space,
aluniAchievements bolb,
primary key (alumiID),
constraint_fk_username+password foreign key (username+password)
references system (username+password)
)
100
Chapter 6
Class-Based Model
6.1 Introduction
Class-based modeling represents the objects that the system will manipulate, the
operations that will be applied to the objects, relationships between the objects
and the collaborations that occur between the classes that are defined.
General
No. Noun Remarks
Classification
1 Student Information 2 Problem Space (represents
System whole system)
2 Institute of NULL Problem Space
Information
Technology
3 University of Dhaka NULL Problem Space
4 Student 1, 4 Solution Space
5 PGDIT Problem Space
101
6 MIT Problem Space
7 System 2 Solution Space
8 Course Teachers 4 Solution Space (same
as 58)
9 Information 2 Problem Space
10 Course Materials 2 Solution Space (same
as 65)
11 Financial Activities 3 Problem Space
12 Academic Life Problem Space
13 Admission Process 3 Solution Space
14 Year Problem Space
15 Circulars 2, 3 Solution Space
16 September Problem Space
17 December Problem Space
18 Course Programs Problem Space
19 Admission Test 3 Problem Space
20 Written Test 3 Problem Space
21 Viva Test 3 Problem Space
22 Waiting Lists 2 Solution Space (same
as 24)
23 Regular Program 4, 5 Solution Space
Office
24 Notice 2, 3 Solution Space
25 Registration 3 Solution Space
Process
26 Selection Procedure 3 Problem Space
27 Semester Fee 2 Problem Space
28 Bank 6 Solution Space
29 Necessary Documents 2 Problem Space
30 Academic Documents 2 Problem Space
31 Assigned Hall 6 Solution Space
32 Regular Students 4 Solution Space (same
as 4)
33 Student Profile 2 Problem Space
34 Semester 2 Problem Space
35 Length of Semester Problem Space
102
36 Month Problem Space
37 Academic Calendar 2 Problem Space
38 Class Routine 2 Solution Space (same
as 24)
39 Amount 2 Problem Space
40 Submission Deadline 2 Problem Space
41 Cultural Activity Fees 2 Problem Space
42 Cultural Activity 2 Problem Space
Forms
43 Program Officer 4 Solution Space (same
as 23)
44 Exam Routine 2 Solution Space (same
as 24)
45 Academic Papers 2 Problem Space
46 Character Certificate 2 Problem Space
47 Profile Information 2 Problem Space
48 Phone Number 2 Problem Space
49 Present Address 2 Problem Space
50 Program Accountant 4 Solution Space (same
as 23)
51 Financial Activity 3 Problem Space
52 Submission Problem Space
53 Program Chair 4 Solution Space
54 Administrator 4 Solution Space (same
as 53)
55 Program 4 Solution Space
Coordinator
56 Documents 2 Problem Space
57 Emergency Issues Problem Space
58 Course Teacher 4 Solution Space
59 Course Teacher 4 Solution Space (same
as 58)
60 Knowledge Problem Space
61 Reference Books 2 Solution Space (same
as 65)
62 Web Links 2 Solution Space (same
103
as 65)
63 Course Objective 2 Solution Space (same
as 65)
64 Mark Distribution 2 Solution Space (same
Policies as 65)
65 Resource 2 Solution Space
66 Marks 2 Problem Space
67 Grades 2 Problem Space
68 Mark Sheets 2 Solution Space (same
as 24)
69 Dead Line 2 Problem Space
70 Mark Distribution 2 Solution Space (same
as 65)
71 Alumnus 4 Solution Space
72 Academic Profile 2 Problem Space
73 Contribution Problem Space
74 Job Position Problem Space
75 Address 2 Problem Space
76 Email Address 2 Problem Space
77 Individual Alumni 4 Solution Space (same
as 71)
104
No. Potential Class Characteristics Remarks
1 Student 1, 2, 3, 4, 5, 6 Yes
2 System 1, 2 No
3 Admission Process 1, 2, 6 No
4 Regular Program Office 1, 2, 3, 4, 5, 6 Yes
5 Notice 1, 2, 3, 6 Yes
6 Registration Process 1, 2, 6 No
7 Bank 1, 2, 3 No
8 Assigned Hall 1, 2, 3 No
9 Program Chair 1, 2, 3, 4, 5, 6 Yes
10 Program Coordinator 1, 2, 3, 4, 5, 6 Yes
11 Course Teacher 1, 2, 3, 4, 5, 6 Yes
12 Resource 1, 2, 3, 4, 5, 6 Yes
13 Alumnus 1, 2, 3, 4, 5, 6 Yes
105
pco_rank Coordinator’s photo,
pco_email for Program
Coordinator’s Email
Address,
pco_phoneNumber for
Program Coordinator’s
phone number, pco_rank
for Program Coordinator’s
Rank
3 Regular rpo_name, rpo_id, rpo_name for Regular
Program Office rpo_photo, rpo_email, Program Office Staff’s
rpo_phoneNumber, name, rpo_id for Regular
rpo_rank Program Office Staff’s ID,
rpo_photo for Regular
Program Office Staff’s
photo, rpo_email for
Regular Program Office
Staff’s Email Address,
rpo_phoneNumber for
Regular Program Office
Staff’s phone number,
rpo_rank for Regular
Program Office Staff’s
Rank
4 Course Teacher fm_name, fm_id, fm_name for Faculty
fm_photo, fm_email, Member’s name, fm_id for
fm_phoneNumber, Faculty Member’s ID,
fm_rank fm_photo for Faculty
Member’s photo, fm_email
for Faculty Member’s Email
Address, fm_phoneNumber
for Faculty Member’s
phone number, fm_rank
for Faculty Member’s Rank
5 Student s_name, s_id, s_name for Student’s
s_photo, s_email, name, s_id for Student’s
s_phoneNumber, ID, s_photo for Student’s
s_regNo photo, s_email for
106
Student’s Email Address,
s_phoneNumber for
Student’s phone number,
s_regNo for Student’s
Registration Number
6 Alumnus a_name, a_id, a_name for Alumnus’
a_photo, a_email, name, a_id for Alumnus’
a_phoneNumber, ID, a_photo for Alumnus’
a_jobPosition photo, a_email for
Alumnus' Email Address,
a_phoneNumber for
Alumnus’ phone number,
a_jobPosition for Alumnus’
Job Position in a
corporation/company
7 Notice n_id, n_data, n_date n_id for Notice ID, n_data
for Notice File, n_date for
Publication Date
8 Resource r_id, r_data, n_date, r_id for Resource ID,
n_subjectId r_data for Resource File,
n_date for Resource
Publication Date,
n_subjectId for Subject Id
that the Resource belongs
to
In this part we find all the verbs from usage scenario and include necessary
external verbs in a list; and select useful verbs as methods.
107
No. Verb Remarks
1 provide information Out of Scope
2 publish circular Yes
3 select student Out of Scope
4 enroll student No Need
5 pay fee Out of Scope
6 register No Need
7 publish notice Yes
8 manage program office works Out of Scope
9 create student profile Yes
10 create faculty member profile Yes
11 change profile information Yes
12 keep financial records Yes
13 assign program coordinator Yes
14 assign program officer Yes
15 assign program accountant Yes
16 remove notice Yes
17 maintain course program Out of Scope
18 verify document Yes
19 control emergency issue Yes
20 register student Yes
21 register faculty member Yes
22 publish notice Yes
23 provide resource Yes
24 submit course mark sheet Yes
25 complete course program Out of Scope
26 make change in personal information Yes
27 get information Yes (external)
28 attach file Yes (external)
29 upload Yes (external)
30 sign in Yes (external)
108
6.5.2 Selected Methods
From the verb list above we have selected following methods for classes.
Class Methods
Program Chair sign_in(), get_information(),
assign_program_coordinator(),
assign_program_officer(),
assign_program_accountant(),
remove_notice()
Program Coordinator sign_in(), get_information(),
maintain_course_program(),
verify_document()
register_student(),
register_faculty_member(),
publish_notice()
Regular Program Office sign_in(), get_information(),
publish_circular(), publish_notice(),
create_student profile (),
create_faculty_member_profile(),
change_profile_information()
Course Teacher sign_in(), get_information(),
provide_resource(),
submit_course_mark_sheet()
Student sign_in(), get_information()
Alumnus sign_in(), get_information(),
make_change_in_personal_information()
Notice attach_file(), upload()
Resource attach_file(), upload()
109
6.6 Class Diagram
We have shown here, how the classes interact together to accomplish certain
goal.
110
6.7 Class Card
Class card represents a graphical view of responsibility and collaborator for each
class.
111
112
Chapter 7
Flow-Oriente
Oriented Model
7.1 Introduction
Although data flow-oriented
oriented modeling is perceived as an outdated technique by
some software engineers, it continues to be one of the most widely used
requirements analysis notations in use today.
113
Figure 7.2.1: DFD Level-1
114
Figure 7.2.1.1: DFD Level-1.1
115
Figure 7.2.1.3: DFD Level-1.3
116
Figure 7.2.1.5: DFD Level-1.5
117
Chapter 8
Behavioral Model
8.1 Introduction
Behavior modeling is also referred to as State modeling, State machines and State
transition matrix. Behavior modeling is when one thinks of his ideas in terms of
states and transitions. This requires both identifying all of the interesting states of
being that software or its components are likely to be in. And also, at a high level,
abstracting what events are likely to cause software or its components to change
between states of being.
118
Notify Program Accountant Student
Assign Program Program Officer Program Coordinator,
Coordinator Program Officer, Program
Accountant
Create and Assign Program Chair
Program Officer &
Program Accountant
Remove Notice Program Chair
Verify Document Program Coordinator
Control Emergency Program Coordinator
Issue
Assign Course Teacher Program Coordinator Course Teacher
Publish Notice Program Coordinator
Provide Resource Course Teacher Student
Submit Course Marks Course Teacher Student/ Program Officer
Change Personal Alumnus
Information
119
8.3 State Transition Diagram
State Transition Diagram represents active states for each class and the events
(triggers) that cause changes between these active states. Here we have provided
diagram for each of the actors.
120
Figure 8.3.2: Program Accountant
121
Figure 8.3.3: Program Chair
122
Figure 8.3.4: Program Coordinator
123
Figure 8.3.5: Course Teacher
124
Figure 8.3.6: Alumnus
125
8.4 Sequence Diagram
Sequence Diagram indicates how events cause transitions from object to object. It
is actually a representation of how events cause flow from one object to another
as a function of time.
126
Figure 8.4.2: Publish Notice
127
Figure 8.4.3: Create Course Teacher Profile
128
Figure 8.4.4: Change Student Profile Information
129
Figure 8.4.5: Record Financial Activity
130
Figure 8.4.6: Notify
131
Figure 8.4.7: Assign Program Coordinator
132
Figure 8.4.8: Create & Assign PO & PA
133
Figure 8.4.9: Remove Notice
134
Figure 8.4.10: Verify Document
135
Figure 8.4.11: Control Emergency Issue
136
Figure 8.4.12: Assign Course Teacher
137
Figure 8.4.13: Publish Notice
138
Figure 8.4.14: Provide Resource
139
Figure 8.4.15: Submit Course Marks
140
Figure 8.4.16: Change Personal Information
141
Chapter 9
Conclusion
142
Appendix
References
1. Pressman, Roger S. Software Engineering: A
Practitioner's Approach (7th ed.). Boston, Mass:
McGraw-Hill. ISBN 0-07-285318-2.
2. Ralph, Paul (2012). "The Illusion of Requirements in
Software Development".
3. Somerville, I. Software Engineering, 7th ed. Harlow,
UK: Addison Wesley, 2006.
4. httt://www.aiub.edu, accessed on 12th September, 2014.
5. http://en.wikipedia.org/wiki/Student_information_syste
m, accessed on 28th September, 2014.
6. http://techlearning.com/student-information-systems,
accessed on 28th September, 2014.
7. http://www.scribd.com/doc/48111565/Software-
Requirements-Specification-for-online-student-
management-system, accessed on 22th October, 2014.
8. http://www.codeproject.com/Articles/6675/Behavior-
Modeling-Lesson, accessed on 6th November, 2014.
143