Академический Документы
Профессиональный Документы
Культура Документы
(SRS)
19 November 2009
Submitted by:
Garima Ahuja (05CS124)
Kamal Tuteja (06CS146)
Swati Gupta (06CS201)
Swati Pasricha (06CS202)
Yakshendra Bhardwaj (06CS221)
Chetan Pahwa (06CS222)
1
TABLE OF CONTENTS
1. Introduction 4
1.1 Purpose of this Document
1.2 Scope of the Development Project
1.3 Overview of Document
2. Vision of scope 6
2.1 Requirements
2.1.1 Objective
2.1.2 Risks
2.2 Vision of the Solution
2.2.1 Major Features
2.2.2 Assumption and Dependencies
2.3 Scope and Limitations
2.3.1 Scope of Initial Release
2.3.2 Scope of Subsequent Releases
2.3.3 Limitations
2.4 Operating Environment
3. System overview 8
3.1 User Personas and Characteristics
3.2 Product Perspective
3.3 Functional Requirements (Use Cases)
2
6. Object Oriented Programming 22
6.1 Objects
6.2 Classes
6.3 Data Abstraction and Encapsulation
6.4 Inheritance
6.5 Polymorphism
6.7 Benefits of OOP
7. Site Map 27
3
1. Introduction
4
1.3. Overview of Document
Section 2, the general description, gives an "executive overview" and is very client oriented. It
expounds on the functional and data requirements of the application. It also lists the limitations,
assumptions and dependencies of the application. Section 3.0, the specific requirements
section, includes the developers' technical view of the client's expectation of the application. It
also touches on the performance and quality requirements of the application and provides a
solid definition of the interface.
5
2. Vision of scope
2.1. Requirements
2.1.1. Objectives
1) To provide an integrated platform for learning.
2) To encourage communication between the students and the concerned faculty.
3) To make a website that is appealing to the users.
4) Making the website personal and secure.
Our vision at LCMS is to provide an integrated platform for learning and course management by
enhancing the management systems, making them online, and also to encourage student-
teacher interactions.
3) Online availability of course content for all the courses offered by the institute.
6
2.2.3. Assumptions and Dependencies
Ø The details entered by the student will be correct and student will not be a fake
user.
Ø Roles and tasks are predefined.
Ø Information provided by the college in college profile will be correct.
2.3.2. Limitations
1) Limited server space hence not many documents can be uploaded.
2) Time Constraint
3) Students do not have the facility of a chat server.
Framework : .NET
7
3. System Overview
The Administrator
I. The administrator can keep track of all the data related to every student, teacher
and the H.O.D.s
Faculty
I. The teachers can create their personal profiles.
II. The teachers from all the departments can upload their course content and
assignments for students to access.
III. They can interact with their respective H.O.D.s using the chat server or the
mailbox.
8
IV. They have access to the time tables of the classes assigned to them.
H.O.D
I. The H.O.D.s provide authorization before any course content is uploaded by the
teachers of their respective departments.
II. They can interact with the teachers as well as other H.O.D.s using the chat
server or the mailbox.
III. They are responsible for uploading the academic calendars and the examination
schedules.
IV. They are also responsible for uploading any important notices.
The program will be a web-based application, meaning it runs from a browser. The product
should be able to be run from a remote client machine with an Internet connection. This decision
is made depending on where the data file is stored. If it is stored locally, then the program will
run on the local machine. The external interface with be through the browser, through HTML,
PHP 4.4.2 etc.
9
3.3 Functional Requirements(Use Cases)
Use case related to Uploading Uploading Creates and initializes working files.
Use Cases related to Grouping system Create Group Creates a new Group in a given Profile.
Use Cases related to Messaging system Create Message This is used for both e-mail and scrap
Use cases related to Scheduling Mails Show the pending Schedules List of all pending schedule
10
Use case related to Uploading
Alternate Scenario:
(a) Network failure.
(b) Server too busy.
Alternate Scenario:
(a) Authorization fails
11
Alternate Scenario:
(a) Authorization fails
(b) Prompt the user that he typed the wrong password
(c) Allow him to re-enter the password. Give him 3 chances.
(d) New password and confirm new password do not match.
(e) Allow him to re-enter the attributes. Give 3 chances.
Alternate Scenario:
(a) User with the same name exists.
(b) System asks the user for a secondary email.
Alternate Scenario:
(a) The profile whose name is supposed to change does not exist.
(b) Renaming fails, the error message is displayed.
(c) Profile with the same new name exists.
Alternate Scenario:
(a) Renaming fails, the error message is displayed.
(b) If a group with same new name exists, then error message is displayed.
Alternate Scenario:
1. Until Save functionality is not accessed changes are temporary.
2. The priority cannot be assigned to any individual.
13
Alternate Scenario:
(a) Group does not exist.
(b) Deletion fails, error message is displayed.
Alternate Scenario:
(a) Email address of receiver should be clearly specified.
(b) Error in messaging center.
Main Scenario:
1. Users select the other person by drop down list.
2. A request is sent in return of which acknowledgement is being sent by the person
who wants to chat.
3. Only two persons can chat with each other at that time.
15
4. Entity-Relationship Diagrams
STUDENT FACULTY
STUDENT FACULTY
FACULTY H.O.D
16
Approves content uploaded by
H.O.D FACULTY
ADMINISTRATOR
ADMINISTRATOR STUDENT
17
5. Technology Used: MICROSOFT.NET
Programs written for the .NET Framework execute in a software environment that manages the
program's runtime requirements. Also part of the .NET Framework, this runtime environment is
known as the Common Language Runtime (CLR). The CLR provides the appearance of an
application virtual machine so that programmers need not consider the capabilities of the
specific CPU that will execute the program. The CLR also provides other important services
such as security, memory management, and exception handling. The class library and the CLR
together compose the .NET Framework.
18
Principal design features
· Interoperability
· Common Runtime Engine
· Language Independence
· Base Class Library
· Simplified Deployment
· Security
· Portability
5.2. ASP.NET
ASP.NET is the next version of Active Server Pages (ASP). It is a unified web development
platform that provides the services necessary for developers to build web applications. It is a
compiled, .NET-based environment; applications can be written in any .Net compatible
language, including VisualBasic.Net, C# and JScript.Net. Developers can easily access the
benefits of these technologies, which include the managed common language runtime
environment, type safety, inheritance, and so on.
ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and other
programming tools, including Microsoft VisualStudio.Net. Not only does this make web
development easier, but it also provides all the benefits that these tools have to offer, including
19
a GUI that developers can use to drop server controls onto a web page and fully integrated
debugging support. Developers can use web forms or XML web services when creating an
ASP.NET application or a combination of these. Each is supported by the same infrastructure
that allows developers to use authentication schemes, caches frequently used data, or
customize your applications configurations, to name only a few possibilities.
5.3. C# Language
Design goals
20
7. Although C# applications are intended to be economical with regard to memory and
processing power requirements, the language is not intended to compete directly on
performance and size with C or assembly language.
RDBMS is an acronym for Relational Database Management System. The most famous
RDBMS packages are Oracle, Sybase and Informix. Every business enterprise maintains large
volumes of data for its operations. With more and more people accessing data for their work,
the need to maintain its integrity and relevance increases. Microsoft SQL Server is a relational
database management system (RDBMS) produced by Microsoft. Its primary query language is
Transact-SQL.
T-SQL (Transact-SQL) is the primary means of programming and managing SQL Server. It
exposes keywords for the operations that can be performed on SQL Server, including creating
and altering database schemas, entering and editing data in the database as well as monitoring
and managing the server itself. Client applications, both which consume data or manage the
server, leverage SQL Server functionality by sending T-SQL queries and statements which are
then processed by the server and results (or errors) returned to the client application. SQL
Server allows it to be managed using T-SQL. For this it exposes read only tables from which
server statistics can be read. Management functionality is exposed via system-defined stored
procedures which can be invoked from T-SQL queries to perform the management operation.
Features:
21
3. Allows a database server to be exposed over web services using TDS packets
encapsulated within SOAP requests.
4. T-SQL has been augmented with error handling features and support for recursive
queries.
5. Enhanced with new indexing algorithms and better error recovery systems.
Object-oriented programming (OOP) is a programming paradigm that uses "objects" and their
interactions to design applications and computer programs. Object-oriented programming may
be seen as a collection of cooperating objects, as opposed to a traditional view in which a
program may be seen as a group of tasks to compute (subroutines). In OOP, each object is
capable of receiving messages, processing data, and sending messages to other objects. Each
object can be viewed as an independent little machine with a distinct role or responsibility.
Object-oriented programming can trace its roots to the 1960s. As hardware and software
became increasingly complex, quality was often compromised. Researchers studied ways in
which software quality could be maintained. Object-oriented programming was deployed in part
as an attempt to address this problem by strongly emphasizing discrete units of programming
logic and re-usability in software. Computer programming methodology focuses on data rather
than processes, with programs composed of self-sufficient modules (objects) containing all the
information needed within its own data structure for manipulation.
Inspiring factor in the invention of object-oriented approach is to remove some of the flaws
encountered in the procedural approach. OOP treats data as a critical element in the program
development and does not allow it to flow freely around the system. It ties data more closely to
22
the functions that operate on it, and protects it from accidental modification from outside
functions. OOP allows decomposition of a problem into a number of entities called objects and
then builds data and functions around these objects.
An object-oriented program consists of a set of objects that communicate with each other. The
process of programming in an object-oriented language, therefore, involves the following basic
steps:
Objects communicate with one another by sending and receiving information much the same
way as people pass messages to one another. The concept of message passing makes it
easier to talk about building systems that directly model or simulate their real-world
counterparts. A message for an object is a request for execution of a procedure, and therefore
will invoke a function (procedure) in the receiving object that generates the desired result.
Message passing involves specifying the name of the object, the name of the function
(message) and the information to be sent. Objects have a life cycle. They can be created and
destroyed. Communication with an object is feasible as long as it is a1ive.
6.1 Objects
23
Objects are the basic run-time entities in an object-oriented system. They may represent a
person, a place, a bank account, a table of data or any item that the program has to handle.
They may also represent user-defined data such as vectors, time and lists. Objects take up
space in the memory and have an associated address like a record in Pascal, or a structure in
C. When a program is executed, the objects interact by sending messages to one another.
Each object contains data, and code to manipulate the data. Objects can interact without having
to know details of each other’s data or code. It is sufficient to know the type of message
accepted, and the type of response returned by the objects.
6.2 Classes
Objects contain data, and code to manipulate that data. The entire set of data and code of an
object can be made a user defined data type with the help of a class. In fact, objects are
variables of the type class. Once a class has been defined, we can create any number of
objects belonging to that class. Each object is associated with the data of type class with which
they are created.
A class is a collection of objects of similar type. For e.g., mango, apple and orange are
members of the class fruit. Classes are user-defined data types and behave like the built-in
types of a programming language.
24
6.3 Data Abstraction and Encapsulation
The wrapping up of data and functions into a single unit (called class) is known as
encapsulation. Data encapsulation is the most striking feature of a class. The data is not
accessible to the outside world, and only those functions, which are wrapped in the class, can
access it. These functions provide the interface between the object’s data and the program. This
insulation of the data from direct access by the program is called data hiding or information
hiding.
Abstraction refers to the act of representing essential features without including the
background details or explanations. Classes use the concept of abstraction and are defined as
a list of abstract attributes such as size, weight and cost, and functions to operate on these
attributes. They encapsulate all the essential properties of the objects that are to be created.
The attributes are sometimes called data members because they hold information. The
functions that operate on these data are sometimes called methods or member functions. Since
the classes use the concept of data abstraction, they are known as Abstract Data Types (ADT).
6.4 Inheritance
25
Inheritance is the process by which objects of one class acquire the properties of objects of
another class. For example, the bird ‘robin’ is a part of the class “flying bird’ which is again a
part of the class ‘bird’. The principle behind this sort of division is that each derived class shares
common characteristics with the class from which it is derived.
Concept of inheritance provides the idea of reusability. This means that we can add additional
features to an existing class without modifying it. This is possible by deriving a new class from
the existing one. The new class will have the combined features of both the classes. The real
appeal and power of the inheritance mechanism is that it allows the programmer to reuse a
class that is almost, but not exactly, what he wants, and to tailor the class in such a way that it
does not introduce any undesirable side-effects into the rest of the classes. Note that each sub-
class defines only those features that are unique to it. Without the use of classification, each
class would have to explicitly include all of its features.
6.5 Polymorphism
Polymorphism means the ability to take more than one form. An operation may exhibit different
behaviors in different instances. The behavior depends upon the types of data used in the
operation. For e.g., consider the operation of addition of two numbers, the operation will
generate a sum. If the operands are strings, then the operation would produce a third string by
concatenation. The process of making an operator to exhibit different behaviors in different
instances is known as operator overloading. Polymorphism plays an important role in allowing
objects having different internal structures to share the same external interface. This means that
a general class of operations may be accessed in the same manner even though specific
actions associated with each operation may differ. Polymorphism is extensively used in
implementing inheritance.
1. Through inheritance, we can eliminate redundant code and extend the use of existing
classes.
2. We can build programs from the standard working modules that communicate with one
another, rather than having to start writing the code from scratch. This leads to saving of
development time and higher productivity.
3. The principle of data hiding helps the programmer to build secure programs that cannot
be invaded by code in other parts of the program.
4. It is possible to have multiple instances of an object to co-exist without any interference.
5. It is possible to map objects in the problem domain to those in the program.
6. It is easy to partition the work in a, project based on objects.
7. The data-centered design approach enables us to capture more details of a model in
implementable form.
8. Object-oriented systems can be easily upgraded from small to large system.
8. Sitemap
HOME
Sign In Sign Up
Session Session