17
ÇANKAYA UNIVERSITY FACULTY OF ENGINEERING COMPUTER ENGINEERING DEPARMENT CENG 407 INNOVATIVE SYSTEM DESIGN AND DEVELOPMENT I Software Requirements Specification Version 1.0 Mert Çelebi 201311012 Ali Can Aygör 201211009 Atilla Duruel

timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

ÇANKAYA UNIVERSITYFACULTY OF ENGINEERING

COMPUTER ENGINEERING DEPARMENT

CENG 407

INNOVATIVE SYSTEM DESIGN AND DEVELOPMENT I

Software Requirements Specification

Version 1.0

Mert Çelebi201311012

Ali Can Aygör201211009

Atilla Duruel201111017

25 / 11 / 2016

Page 2: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

TABLE OF CONTENTS

1. Introduction21.1.................................................................................................................................... Purpose1.2....................................................................................................................................... Scope1.3.............................................................................................................................. Definitions1.4..................................................................................................... Overview of the Document

2. Overall Description 2.1. Product Perspective 2.2. Product Functions6 2.2.1. System User Use Case6 2.2.2. Department Administrator Use Case8 2.2.3. System Adminstrator Use Case9 2.3. User Characteristics11 2.4. Constraints11 2.5. References12

LIST OF FIGURES

Figure 1: General Use Case5Figure 2: System User Diagram7Figure 3: Department Administrator Diagram8Figure 4: System Administrator Diagram10

1

Page 3: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

1. INTRODUCTION

1.1. Purpose

In this software requirements specification document, cloud based undergraduate,

graduate and faculty courses timetable system’s requirements will be detailed. Questions like

what will be the developers needs, what will be the system’s needs and what will be the user’s

needs in terms of development process will be responsed. Actors and stakeholders will be

identified. In general, the objectives of an SRS document are minimizing product

development cost, saving development time and maximizing the efficiency. The

specifications and features of the product must be well defined before design and

implementation processes. The general purpose of this project will be observing the

requirements inclusively and representing more stable, faster and recoverable system to users.

1.2. Scope

Nowadays, preparing timetable system is big trouble and development of timetable

system is a complex process. However, new solutions and new ideas are revealed day by day.

To produce consistent products, it is necessary to make a significant effort. Scope of this

project depends on requirements. If new requirements need to be added on old requirements

or if the requirements need to be changed, the scope of the project also changes naturally. Our

system will include the whole instructions of timetable system. As an innovation unlike other

timetable systems, the application will use cloud based system. Hence, it need not always

consume storage space on the user’s computer.

In this project, there should be three actors. These are: System administrator,

department administrator and system users. System administrator can open course in the

semester and describe lecture hours and lecture places. Department administrator can change

lecture hours, instructor name and approve user’s timetable. If users have trouble with their

program, in the add/drop time, department administrator can organise syllabus with sending

confirmation code by user automatically. Users only can choose courses and communicate

with the department administrator. Adding courses are fully dependent to system

administrator. Department, faculty, graduate courses are independent fields from each other;

however instructors of a department can give courses from all three fields. Undergraduate,

graduate and faculty courses can be given by the same instructor.

2

Page 4: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

1.3. Definitions

TERM DEFINITION

User The person who can make only certain changes in the program like choosing course

Department Administrator The person who can make only certain changes in the program like changing instructor name, course time and course room.

System Administrator The person who can make only certain changes in the program like add/drop courses, instructors, students, changing user information and course name.

Database A database is a place where we store information. More than that, its a place where we store organized information for a purpose or a set of purposes. [1].

Student User type with specific characteristics

Instructor User type with specific characteristics

Software Development Methodologies

Software Development Methodologies provide a framework for planning, executing, and managing the process of developing software systems [2].

Agile Software Development (ASD)

Agile proponents claim that the focal aspects of light and agile methods are simplicity and speed [3].

Kanban The Kanban development team is responsible for all small feature requests along with bugs [4].

3

Page 5: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

1.4. Overview of Document

This document will consist of many titles and subtitles about what the system should

do. Functional and non-functional requirements will be mentioned. User requirements,

department administrator requirements, system administrator requirements will be explained

separately in each subtitle. Use case diagrams will be used to make the project easier to

understand in terms of visualization of the project. All of these parts will be in product

perspective and product functions chapters. In the following sections, the features that should

be in a good software will be described. While describing the features that should be, the

constraints of our system will also be determined. In summary, the connections between the

elements in the system will be made clear. We need to remember that the requirements may

change if we consider that this project is made an agreement with the customer even if it is

not. Where future changes may cause changes in requirements will be examined in

assumptions and dependencies section. In the last section, apportioning of requirements will

be explained.

4

Page 6: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

2. Overall Description

2.1. Product Perspective

Figure 1: General Use Case

5

Page 7: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

In this project, one of the most important criteria is to create a robust database. Here,

robust database implies that also relationships in database must be robust. To create the

database, Sql Server Management Studio environment will be used. There are many things to

be aware of when creating a database. One of these things is to prevent data redundancy.

Another thing is identifying primary and foreign keys clearly. The database is the basis for

our work and because of all transactions are done through this database, it has a great

importance.

While a software is being developed, if some software development methodologies are

followed, the yield from that software is much higher. Since the last fifteen years, Agile

development model has a significant share among methodologies. We may use the Kanban

that one of the agile software development methodologies. Agile development provides to

respond immediately to the customer’s requests. Development process gets faster and work is

done within a specific layout.

In Figure 1, the functions of the system are shown in general. The functions will be

explained in the next chapter.

2.2. Product Functions

2.2.1. System User Use Case

Use Case:

Login/Logout Select Course Change User Information Send Mail View All Courses Register to System

6

Page 8: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

Diagram:

Figure 2: System User Diagram

General Description

In system user section, allowing the system user to stay in touch with the lessons.

After registering and logging in to the system, he/she can see the course schedule and the

contents of the course.

Step-By-Step Description

1. System user can choose Course, View Courses, Change Information,

Timetable buttons.

2. When a system user clicks on the course button, he/she can see all his/her

courses.

3. If he/she clicks on the View Courses button, he/she can see all the courses

he/she has received.

4. He/She can change his/her personal information.

7

Page 9: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

5. If he/she clicks the Timetable button, he/she can see the weekly schedule.

2.2.2. Department Administrator Use Case

Use case:

Login/Logout

Confirm Timetable

Change Department Information

Change Instructor Name

Change Course Time

Change Course Room

Send Mail

View All Courses

Diagram:

Figure 3: Department Administrator Diagram

8

Page 10: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

General Description

The department administrator section deals with the lessons taken by the student. It

can change course management content when needed.

Step-By-Step Description

1. Department administrator can choose Timetable of students or lessons, Change

Department/Instructor/Course Information, Mail buttons.

2. When the department administrator clicks on the course schedule, he or she can

view the weekly schedule of the student or course.

3. Department administrator can change department information.

4. Department administrator can change instructor name or add/drop new

instructor.

5. Department administrator can change course time/room or view all course

name.

6. Department administrator can send e-mail to students or system.

2.2.3. System Administrator Use Case

Use case:

Login/Logout

Change User Information

Send Mail

Add/Drop Courses

Add/Drop Instructor

Change Course Name

Register to System

Add/Drop Student

View All Courses

Showing Online Student

9

Page 11: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

Diagram:

Figure 4: System Administrator Diagram

General Description

System administrator is completely involved with the system. It has a confirmation.

mechanism. Approves or deletes the student, instructor and course records.

Step-By-Step Description

1. System administrator can choose Students, Instructors, Courses, Mail, Register

buttons.

2. When the system administrator clicks on the student button, students can be

added or deleted.

3. When the system administrator clicks the instructor button, the instructor can

be added or deleted.

4. When the system administrator clicks on the courses button, he or she approves

the course change and can change the course if necessary.

5. Send e-mail to system users or department administrator.

6. Approves new register (student,instructor,course).

10

Page 12: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

2.3 User Characteristics

2.3.1 User must know the computer usage.

2.3.2 System user should know the information of course and credit limit.

2.3.3 Department Administrator must be academic personnel.

2.3.4 User as student must know how to add/drop courses and user as instructor must

know how to confirm students’ course.

2.3.5. System administrator must be able to handle all situations about system

operations.

2.4 Constraints

2.4.1 Usability

System user can add course as possible as their credit limit is enough for

adding course.

Department Administrator can change only “CENG” coded course in system.

2.4.2 Scalability

When system logins increases, the system speed decreases.

2.4.3 Security

Each user must have a login mail and password.

User must use valid mail.

Passwords must at least 6 character long and include 1 uppercase character and

1 special character (e.g.:”!’^+%&/()=?_”).

2.4.4 Performance

Quickly editable, fixable and accessible because cloud database will used.

Average login time must be 1-4 sec.

2.4.5 Portability

This program can developed for mobile devices and tablets

If its developed to a level, virtually accessible from any device with internet

access.

2.5 References

11

Page 13: timetablesystem.files.wordpress.com …  · Web viewNowadays, preparing timetable system is big trouble and development of timetable system is a complex process. However, new solutions

[1] J. Connell and P. J. Connell, Beginning Visual Basic 6 Database Programming.

New York, NY, United States: Apress L. P., 2003.

[2] L. R. Vijayasarathy and C. W. Butler, "Choice of Software Development

Methodologies: Do Organizational, Project, and Team Characteristics Matter?"

in IEEE Software, vol. 33, no. 5, pp. 86-94, Sept.-Oct. 2016.

[3] B. Choudhary and S. K. Rakesh, "An approach using agile method for software

development," 2016 International Conference on Innovation and Challenges in

Cyber Security (ICICCS-INBUSH), Noida, 2016, pp. 155-158.

[4] R. Polk, "Agile and Kanban in Coordination," Agile Conference (AGILE),

2011, Salt Lake City, UT, 2011, pp. 263-268.

12