You are on page 1of 51

DCS KNOWLEDGE PORTAL

A Project Report Submitted in Partial Fulfillment of the Requirements of the Award of Degree of

Bachelor of Technology
Of

National Institute of Technology Raipur


By Ankit Thavale (07115007) Mohd.Farhan Rawani (07115019) Shivam Gupta (07115042) Vinay Sahu (07115055) Under the guidance of Ms. Dolly Das

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING NATIONAL INSTITUTE OF TECHNOLOGY RAIPUR

CERTIFICATE
This is to certify that the following students:

S. No. 1 2 3 4 Ankit Thavale

Name

Roll number 07115007 07115019 07115042 07115055

Mohd. Farhan Rawani Shivam Gupta Vinay Sahu

Of B.Tech. IV year (8th SEM) in Computer Science and Engineering have successfully completed their Major Project report on DCS(DEPARTMENT Of COMPUTER SCIENCE) Knowledge Portal For the Partial fulfilment of requirement as prescribed by the National Institute of Technology, Raipur in the year 2010-11.

Dr. Shobha Lata Sinha Head of Department CSE,NIT Raipur

Ms. Dolly Das Project Guide CSE,NIT Raipur

ACKNOWLEDGEMENT
2

The completion of this project would not have been possible without the help of others. First of all we would like to thank the people who gave us strength and ability to complete this project. The success and accomplishment of this report stems from efforts and dedication offered by faculty members whose support was either direct or indirect during our project work. We thank all of them for their devotion and generosity. Special thanks also go to our Project Guide during this period, Ms. Dolly Das, Department of Computer Science and Engineering for being so inspiring and supportive during our project. We are also thankful to all the persons who have helped us in direct or indirect way towards the accomplishment of our work.

Ankit Thavale Mohd. Farhan Rawani Shivam Gupta Vinay Sahu

TABLE OF CONTENTS
1 INTRODUCTION ..................................................................................5 1.1 Purpose..............................................................................................6 1.2 Scope.................................................................................................7
3

1.3 References.........................................................................................7 1.4 Assumptions and Constraints ...........................................................7 1.5 Document Overview..........................................................................8 2 METHODOLOGIES ..............................................................................8 2.1 Spiral Model .10 3 FUNCTIONAL REQUIREMENTS ......................................................12 3.1 Data Requirement..............................................................................14 4 SYSTEM STUDY AND ANALYSIS....................................................15 4.1 Context..............................................................................................16 4.2 Data Flow Diagram...........................................................................17 4.3 Logical Data Model/Data Dictionary................................................20 4.4 ER Diagram ......................................................................................23 5 OTHER REQUIREMENTS....................................................................27 5.1 Interface Requirements.................................................................... 28 5.2 Hardware Requirements................................................................... 28 5.3 Software Requirements..................................................................... 29 5.4 Security and Privacy .........................................................................36 6 PROJECT OUTPUT................................................................................39 6.1 User Interface.....................................................................................40 6.2Administrative Interface......................................................................42 7 CONCLUSIONS......................................................................................50 7.1 Advantages.........................................................................................51 7.2 Limitations..........................................................................................51 7.3 Future enhancements..........................................................................51 BIBLIOGRAPHY.......................................................................................52

CHAPTER 1 INTRODUCTION

INTRODUCTION
DCS- Knowledge Portal is a formal platform where study material related to the courses offered by the college is provided. Students and faculty can share presentations, research papers, notes, useful links and other concern material.

Knowledge portal comes with some useful features like discussion forum, notice board, user profiles, picture gallery and many more, thus making the knowledge sharing experience more interactive. Issues involved here are developing various privacy settings for user with different access rights. This also helps in displaying related data to the concern user. Databases are to be maintained for storing user information, user profile, shared information and various discussion threads.

1.1 Purpose and Scope:


Existing System There is no such system available for department such that the Student-Teacher online interaction takes place effectively. There is a great problem in keeping record of current students, profile of each person associated with the department,problem related to notes,reference materials ,etc and viewing the current updates and notices related to the department. Proposed System The proposed system is to make an online web portal for Computer Science Department, so that everyone can get information about department. Students can easily interact with teachers online. Teachers can easily interact with the students and can keep records of every student easily and efficiently. The students can easily get the notes related to semester or any campus placement papers and share them.

1.2 Assumptions and Constraints:


Constraints are boundary conditions on how the system must be designed and constructed. Examples include legal requirements, technical standards and strategic decisions. Constraints exist because of real business conditions. For example, a delivery date is a constraint only if there are real business consequences that will happen as a result of
6

not meeting the date. If failing to have the subject application operational by the specified date places the organization in legal default, the date is a constraint. Preferences are arbitrary. For example, a date chosen arbitrarily is a preference. Following are the assumptions and constraints used in the project: Servers are assumed to have minimum requirement. There is no hierarchy of admninstrators.Only one administrator level is supposed to have the central control.

CHAPTER 2 METHODOLOGY

METHODOLOGY
The design starts after the requirement analysis is complete and the coding begins after the design is complete. Once the programming is completed, the testing is done. The sequence of activities performed in this software development project is: Requirement Analysis Project Planning System design Detail design
8

Coding Unit testing System integration & testing

Here the linear ordering of these activities is critical. End of the phase and the output of one phase is the input of other phase. The output of each phase is to be consistent with the overall requirement of the system. A web portal is like a gateway for a World Web Site. Its purpose is to be a major starting point for users when they connect to the Web. Portals are of two types, vis-a-vis general portals and specialized or niche portals. Knowledge portal is a specialized portal, designed specifically for the members of Computer Science Department. Its a formal platform, where knowledge can be shared. The objective of our project is the designing of a web application for online interaction of the students and faculty of the department. This web application is prepared in ASP.NET and the back end used is SqlServer 2005. In this different pages will be prepared individually using different constraints. Three types of user rights are given: Administrator, Guest Users and registered users.

2.1 MODEL : SPIRAL MODEL


The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive and complicated projects. The steps in the spiral model iteration can be generalized as follows:1. The system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system. 2. A preliminary design is created for the new system. This phase is the most important part of "Spiral Model". In this phase all possible (and available) alternatives which can help in developing a cost effective project are analyzed and strategies to use them are decided. This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out possible solution in order to deal with the potential changes in the requirements. 3. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.

4. A second prototype is evolved by a fourfold procedure: 1. evaluating the first prototype in terms of its strengths, weaknesses, and risks; 2. defining the requirements of the second prototype; 3. planning and designing the second prototype; 4. Constructing and testing the second prototype.

Applications
The spiral model is mostly used in large projects. For smaller projects, the concept of agile software development is becoming a viable alternative. The US military had adopted the spiral model for its Future Combat Systems program. The FCS project was canceled after six years (20032009), it had a two year iteration (spiral). The FCS should have resulted in three consecutive prototypes (one prototype per spiralevery two years). It was canceled in May 2009. The spiral model thus may suit small (up to $3 million) software applications and not a complicated ($3 billion) distributed, interoperable, system of systems. Also it is reasonable to use the spiral model in projects where business goals are unstable but the architecture must be realized well enough to provide high loading and stress ability. For example, the Spiral Architecture Driven Development is the spiral based SDLC which shows the possible way how to reduce a risk of non-effective architecture with the help of spiral model in conjunction with the best practices from other models.

SPIRAL MODEL

10

DESIGN METHODOLOGY

CHAPTER 3
11

FUNCTIONAL REQUIREMENTS

FUNCTIONAL REQUIREMENTS Functional requirements capture the intended behavior of the system. This behavior may be expressed as services, tasks or functions the system is required to perform. In product development, it is useful to distinguish between the baselines functionality necessary for any system to compete in that product domain, and features that differentiate the system from competitors products, and from variants in your companys own product line/family. Features may be additional functionality, or differ from the basic functionality along some quality attribute (such as performance or memory utilization). These strategies have important implications for software architecture. In particular, it is not just the functional requirements of the first product or release that must be supported by the architecture. The functional requirements of early (nearly concurrent) releases need to be explicitly taken into account. Later releases are accommodated through architectural qualities such as extensibility, flexibility, etc. The latter are expressed as non-functional requirements. The following functional requirements were identified and then implemented: 1. The user can log in to the system with their assigned username and password.
12

2. The user can change the password he/she uses to log in to the system. 3. The user can view the files that have been uploaded to the website by other users. 4. The user can upload a file to the website. If a file with the same filename resides in the teams directory, the system checks out and notify the same.
5. The user can check out one or more files that currently exists. 6. The user can view the profile of every user of the application.

7.

The faculties can also upload and download the necessary documents related to the department.

8. The user can edit his/her profile that is currently recorded in the system.

9. The faculties and students can view the updates and activities.
10. The administrator can activate a user or an administrator. 11. The administrator can delete one or more users from the system. The system

will present a list of all users to the administrator. 12. The administrator can add and/or edit the links that will be displayed to the students 13. The user can log out of the system. These functional requirements describe all of the functionality available in the system.

13

CHAPTER 4 SYSTEM STUDY AND ANALYSIS

4.1 Module Description


14

The various modules used in the Computer Science Department Web Portal are explained below:Profile Generator: This module provides information to generate the profile, username & password of each student & faculty of the department. Study material: This module gives the facility to upload and download the study material available on the website. The module could be edited only by the administrator of the web portal. Any student can download the material available at any time. About The Department : This module gives the information about the Computer Science department of NIT RAIPUR. Faculties: This module gives profile information of various faculties associated to the department. They can view, edit, and update their profile from anywhere. Faculties can upload and download documents. Students: This is a separate webpage for students. They can view, edit, and update their profile from anywhere. Student can download documents as well. They can directly interact with the faculties. Upload and Download: The syllabus, examination form and other documents and notices associated with Computer Science Department is available here. Syllabus can be viewed, uploaded and downloaded by students and faculties. Technology: This displays the information about various technologies to be used in present scenario. Various links are available for detailed information upon different technologies. Discussion Thread

4.2 User case Survey:


Administrator: Administrator is the central user of the webpage. He is the only person who can add, delete and update the whole information present on the webpage as well as in backend database. He can control various operations to be used by students and faculties. All the moves could be viewed by administrator at any instance. Other User: Other users excluding the administrator can be faculties or students. The faculties can view profile of any student and faculty of the department. They can also feed attendance report, study material references, etc. The students can also view profile of any student and faculty of the department.They can share reference materials,books, etc.

4.3 Data Flow Diagram


15

A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose. The development of DFDS is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The lop-level diagram is often called context diagram. It consist a single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD. The idea behind the explosion of a process into more process is that Understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. Larry Constantine first developed the DFD as a way of expressing system requirements in a graphical from, this lead to the modular design. A DFD is also known as a bubble Chart has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system. DFD SYMBOLS: In the DFD, there are four symbols A square defines a source (originator) or destination of system data An arrow identifies data flow. It is the pipeline through which the information flows A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows. An open rectangle is a data store, data at rest or a temporary repository of data.

16

CONSTRUCTING A DFD: Several rules of thumb are used in drawing DFDS: Process should be named and numbered for an easy reference. Each name should be representative of the process. The direction of flow is from top to bottom and from left to right. Data traditionally flow from source to the destination although they may flow back to the source. One way to indicate this is to draw long flow line back to a source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the DFD it is marked with a short diagonal. When a process is exploded into lower level details, they are numbered. The names of data stores and destinations are written in capital letters. Process and dataflow names have the first letter of each work capitalized. A DFD typically shows the minimum contents of data store. Each data store should contain all the data elements that flow in and out. Questionnaires should contain all the data elements that flow in and out. Missing interfaces redundancies and like is then accounted for often through interviews. SAILENT FEATURES OF DFDS The DFD shows flow of data, not of control loops and decision are controlled considerations do not appear on a DFD. The DFD does not indicate the time factor involved in any process whether the dataflow take place daily, weekly, monthly or yearly. The sequence of events is not brought out on the DFD.
17

TYPES OF DFDS 1. Current Physical In Current Physical DFD process label include the name of people or their positions or the names of computer systems that might provide some of the overall systemprocessing label includes an identification of the technology used to process the data. Similarly data flows and data stores are often labels with the names of the actual physical media on which data are stored such as file folders, computer files, business forms or computer tapes. 2. Current Logical The physical aspects at the system are removed as much as possible so that the current system is reduced to its essence to the data and the processors that transforms them regardless of actual physical form. 3. New Logical This is exactly like a current logical model if the user were completely happy with the user were completely happy with the functionality of the current system but had problems with how it was implemented typically through the new logical model will differ from current logical model while having additional functions, absolute function removal and inefficient flows recognized. 4. New Physical The new physical represents only the physical implementation of the new system. RULES GOVERNING THE DFDS PROCESS No process can have only outputs. No process can have only inputs. If an object has only inputs than it must be a sink. A process has a verb phrase label. DATA STORE Data cannot move directly from one data store to another data store, a process must move data. Data cannot move directly from an outside source to a data store, a process, which receives, must move data from the source and place the data into data store A data store has a noun phrase label. SOURCE OR SINK The origin and/or destination of data: Data cannot move direly from a source to sink it must be moved by a process A source and /or sink has a noun phrase land DATA FLOW
18

1) A Data Flow has only one direction of flow between symbols. It may flow in both directions between a process and a data store to show a read before an update. The later is usually indicated however by two separate arrows since these happen at different type. 2) A join in DFD means that exactly the same data comes from any of two or more different processes data store or sink to a common location. 3) A data flow cannot go directly back to the same process it leads. There must be at least one other process that handles the data flow produce some other data flow returns the original data into the beginning process. 4) A Data flow to a data store means update (delete or change). 5) A data Flow from a data store means retrieve or use. A data flow has a noun phrase label more than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package.

4.4 Logical Data Model/Data Dictionary


After carefully understanding the requirements of the client the entire data storage requirements are divided into tables. The below tables are normalized to avoid any anomalies during the course of data entry.

Context Level Diagram: DFD Level-0


19

Administra tor

Registered User

Guest User

DCS KNOWLEDGE PORTAL

Database

DFD Level-1
20

Administrator

Change in records

User Uploads & updates

Record Tables

Registered User

4.4 ER Diagrams An ERD is a model that identifies the concepts or entities that exist in a system and the relationships between those entities. An ERD is often used as a way to visualize a relational database: each entity represents a database table, and the relationship lines represent the keys in one table that point to specific records in related tables. ERDs may also be more abstract, not necessarily capturing every table needed within a database,
21

but serving to diagram the major concepts and relationships. This ERD is of the latter type, intended to present an abstract, theoretical view of the major entities and relationships needed for management of electronic resources. It may assist the database design process for an e-resource management system, but does not identify every table that would be necessary for an electronic resource management database. The ERD presents a visual representation of e-resource management concepts and the relationships between them. The Data Element Dictionary identifies and defines the individual data elements that an e-resource management system must contain and manage, but leaves the relationship between the elements to be inferred by the reader. Entities Entities are equivalent to database tables in a relational database, with each row of the table representing an instance of that entity. Relationships Relationships are represented by lines between entities. Relationship lines indicate that each instance of an entity may have a relationship with instances of the connected entity, and vice versa.

Entity Relationship (ER) Diagram


(TAKE PRINTOUT OF ER DIAGRAM FROM OTHER FILE AND INSERT IN PLACE OF THIS PAGE)

22

ER

23

ER

24

25

CHAPTER 5 OTHER REQUIREMENTS

5.1 INTERFACE REQUIREMENTS User Interface Design It is essential to consult the system users and discuss their needs while designing the user interface User Interface Systems Can Be Broadly Classified As:
1. User initiated interface-

The user is in charge, controlling the progress of the user/computer dialogue. In the computer-initiated interface, the computer selects the next stage in the Interaction.
26

2. Computer initiated interfaces-

In the computer initiated interfaces the computer guides the progress of the user/computer dialogue. Information is displayed and the user response of the computer takes action or displays further information. User Initiated Interfaces User initiated interfaces fall into two approximate classes: 1. Command driven interfaces: In this type of interface the user inputs commands or queries which are interpreted by the computer. 2. Forms oriented interface: The user calls up an image of the form to his/her screen and fills in the form. The forms oriented interface is chosen because it is the best choice. Computer-Initiated Interfaces The following computer initiated interfaces were used: 1. The menu system for the user is presented with a list of alternatives and the user chooses one; of alternatives. 2. Questions answer type dialog system where the computer asks question and takes action based on the basis of the users reply. 5.2 HARDWARE INTERFACES
Software specifications: Operating system Backend Language Browser : Windows 2000, MS-DOS : SqlServer : VB.net : Internet explorer 5.0

Hardware specifications: Processor type Processor speed RAM Hard disk Network : Pentium III and compatible. : 133 MHz : 128 MB : 20 GB : Internet or LAN of the company

27

5.3 SOFTWARE INTERFACES Introduction to ASP.NET framework ASP.NET Its a web application framework by Microsoft. It allows programmers to build dynamic web sites, web applications and web services. Its built on Common Language Runtime (CLR), which allows programmers to write ASP.NET code using any supported .NET language. Weve used VB.NET as the compilation language here.

.NET Framework version 2.0 Its a software framework by Microsoft that can be installed on computers running Microsoft Windows operating systems. Multiple programming languages are supported by it in a manner allowing language interoperability. The .NET Framework 2.0 was released with Visual Studio 2005 and Microsoft SQL Server 2005, along with BizTalk 2006. Its included as a part of Visual Studio 2005 and Microsoft SQL Server 2005. Some of the changes in version 2.0 as compared to version 1.1 are partial classes, SQL Server integration, many additional and improved ASP.NET web controls etc.

Microsoft Visual Studio 2005 Visual Studio is Microsofts integrated development environment (IDE). It includes a code editor that supports IntelliSense as well as code refactoring. Visual Studio 2005 has an upgraded IntelliSense feature, with new generics and new project types added to support ASP.NET web services.

Internet Information Services 7 The IIS are a suite of services providing common ASP.NET applications in production environments. Its the most commonly used web server for production environments ASP.NET applications.

ASP.NET development server


28

Its an alternative server option for the development environment. Its integrated into Visual Studio, and is the default server unless the web application has been configured to use IIS.

Microsoft SQL Server Express 2005 It comprises a database specifically targeted for embedded and smaller-scale applications. The SQL Server 2005 Express Edition is an easy-to-use, lightweight, and embeddable version of SQL Server.

.NET Framework Class Library It is a standard library and a core component of the Microsoft .NET Framework. It is a collection of thousands of reusable classes, interfaces and value types.

5.3.1 Overview of the .NET Framework


The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives:

To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.

To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party. To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code. 29

The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that ensure security and robustness. In fact, the concept of code management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. The class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services. The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. The .NET Framework not only provides several runtime hosts, but also supports the development of third-party runtime hosts. For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable Web Forms applications and XML Web services, both of which are discussed later in this topic. Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting the runtime in this way makes managed mobile code (similar to Microsoft ActiveX controls) possible, but with significant improvements that only managed code can offer, such as semi-trusted execution and secure isolated file storage.

30

Features of the Common Language Runtime The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime. With regards to security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it is being used in the same active application. The runtime enforces code access security. For example, users can trust that an executable embedded in a Web page can play an animation on screen or sing a song, but cannot access their personal data, file system, or network. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally feature rich. The runtime also enforces code robustness by implementing a strict type- and codeverification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety. In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references. The runtime also accelerates developer productivity. For example, programmers can write applications in their development language of choice, yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor who chooses to target the runtime can do so.
31

Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing applications. While the runtime is designed for the software of the future, it also supports software of today and yesterday. Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs. The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance. Finally, the runtime can be hosted by high-performance, server-side applications, such as Microsoft SQL Server and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting. . NET Framework Class Library The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework. In addition, third-party components can integrate seamlessly with classes in the .NET Framework. For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework. As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such
32

as string management, data collection, database connectivity, and file access. In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. For example, you can use the .NET Framework to develop the following types of applications and services:

Console applications. Scripted or hosted applications. Windows GUI applications (Windows Forms). ASP.NET applications. XML Web services. Windows services.

For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms classes.

SQL SERVER:
Storage Engine Design Goals Database applications can now be deployed widely due to intelligent, automated storage engine operations. Sophisticated yet simplified architecture improves performance, reliability, and scalability. Feature Reliability Description and Benefits Concurrency, scalability and reliability are improved with simplified data structures and algorithms. Run-time checks of critical data structures make the database more robust, minimizing the need for consistency checks. The new disk format and storage subsystem provide storage that is scalable from very small to very large databases. Specific changes include:

Scalability

Simplified mapping of database objects to files eases management and enables tuning flexibility. DB objects can be mapped to specific disks for load balancing. More efficient space management including increasing page size from 2 KB to 8 KB, 64 KB I/O, variable length character fields up to 8 KB, and the ability to delete columns from existing tables without an unload/reload of the data. Redesigned utilities support terabyte-sized databases efficiently. 33

Ease of Use

DBA intervention is eliminated for standard operationsenabling branch office automation and desktop and mobile database applications. Many complex server operations are automated.

Storage Engine Features Feature Data Type Sizes Databases and Files Dynamic Memory Dynamic RowLevel Locking Description and Benefits Maximum size of character & binary data types is dramatically increased. Databases creation is simplified, now residing on operating system files instead of logical devices. Improves performance by optimizing memory allocation and usage. Simplified design minimizes contention with other resource managers. Full row-level locking is implemented for both data rows and index entries. Dynamic locking automatically chooses the optimal level of lock (row, page, multiple page, table) for all database operations. This feature provides improved concurrency with no tuning. The database also supports the use of "hints" to force a particular level of locking. A database can automatically grow and shrink within configurable limits, minimizing the need for DBA intervention. It is no longer necessary to pre allocate space and manage data structures. The new architecture is designed for extensibility, with a foundation for object-relational features. SQL Server 7.0 Enterprise Edition will support memory addressing greater than 4 GB, in conjunction with Windows NT Server 5.0, Alpha processorbased systems, and other techniques. Native Unicode, with ODBC and OLE DB Unicode APIs, improves multilingual support.

Dynamic Space Management

Evolution

Large Memory Support

Unicode

5.4 Security and Privacy System security refers to the technical procedures applied to the hardware operating system to protect against accidental damage from a define threat. Along with system security data security is also essential. It is the protection of data from loss, disclosure, modification and destruction.
34

5.4.1 Physical Security A procedure for protecting a system in which we make sure that our system is physically secure and it also provides a recovery capability. It should have access to backup files. The threats related to physical security are fire, flood, and external attacks. 5.4.2 Operating System Level Security For security at the operating system level it is necessary that the operating system which is used should provide proper authorization mechanisms such as creation of users with password setting. This project can support any windows 2000, XP, VISTA and any version of Linux operating system and we ensure that the operating system which does not provide unauthorized person login should be in use. 5.4.3 Database Security Security is a major concern for the modern age systems/network/database administrators. It is natural for an administrator to worry about hackers and external attacks while implementing security. But there is more to it. It is essential to first implement security within the organization, to make sure right people have access to the right data. Without these security measures in place, you might find someone destroying your valuable data, or selling your company's secrets to your competitors or someone invading the privacy of others. Primarily a security plan must identify which users in the organization can see which data and perform which activities in the database. Security checklist and some standard security practices and tips: Restrict physical access to the SQL Server computer. Always lock the server while not in use. Make sure, the entire file and disk shares on the SQL Server computer are readonly. In case you have read-write shares, make sure only the right people have access to those shares. Use the NTFS file system as it provides advanced security and recovery features. Prefer Windows authentication to mixed mode. If mixed mode authentication is inevitable, for backward compatibility reasons make sure you have complex passwords for sa (system administrator) and all other SQL Server logins. It is recommended to have mixed case passwords with a few numbers and/or special characters, to counter the dictionary based password guessing tools and user identity spoofing by hackers. Rename the Windows NT/2000/XP Administrator account on the SQL Server computer to discourage hackers from guessing the administrator password. In a website environment, keep your databases on a different computer than the one running the web service. In other words, keep your SQL Server off the Internet, for security reasons. Keep yourself up-to-date with the information on latest service packs and security patches released by Microsoft. Carefully evaluate the service packs and patches before applying them on the production SQL Server. Bookmark this page for the latest in the security area from Microsoft: http://www.microsoft.com/security/

35

Enable login auditing at the Operating System and SQL Server level. Examine the audit for login failure events and look for trends to detect any possible intrusion. If it fits your budget, use Intrusion Detection Systems (IDS), especially on high-risk online database servers. IDS can constantly analyze the inbound network traffic, look for trends and detect Denial of Service (DoS) attacks and port scans. IDS can be configured to alert the administrators upon detecting a particular trend. Do not let your applications query and manipulate your database directly using SELECT/INSERT/UPDATE/DELETE statements. Wrap these commands within stored procedures and let your applications call these stored procedures. This helps centralize business logic within the database, at the same time hides the internal database structure from client applications. Let your users query views instead of giving them access to the underlying base tables. Discourage applications from executing dynamic SQL statements. To execute a dynamic SQL statement, users need explicit permissions on the underlying tables. This defeats the purpose of restricting access to base tables using stored procedures and views. Don't let applications accept SQL commands from users and execute them against the database. This could be dangerous (known as SQL injection), as a skilled user can input commands that can destroy the data or gain unauthorized access to sensitive information. Take advantage of the fixed server and database roles by assigning users to the appropriate roles. You could also create custom database roles that suit your needs. Carefully choose the members of the system administrator role, as the members of the system administrator role can do anything in the SQL Server. Note that, by default, the Windows NT/2000 local administrators group is a part of the system administrator fixed server role. Constantly monitor error logs and event logs for security related alerts and errors. SQL Server error logs can reveal a great deal of information about your server. So, secure your error logs by using NTFS permissions. Secure your registry by restricting access to the SQL Server specific registry keys like HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer. If your databases contain sensitive information, consider encrypting the sensitive pieces (like credit card numbers and Social Security Numbers (SSN)). There are undocumented encryption functions in SQL Server, but I wouldn't recommend those. If you have the right skills available in your organization, develop your own encryption/decryption modules using Crypto API or other encryption libraries. DBAs generally tend to run SQL Server service using a domain administrator account. That is asking for trouble. A malicious SQL Server user could take advantage of these domain admin privileges. Most of the times, a local administrator account would be more than enough for SQL Server service. Be prompt in dropping the SQL Server logins of employees leaving the organization. Especially, in the case of a layoff, drop the logins of those poor souls ASAP as they could do anything to your data out of frustration.
36

Do not save passwords in your .udf files, as the password gets stored in clear text. Install anti-virus software on the SQL Server computer, but exclude your database folders from regular scans. Keep your anti-virus signature files up to date. SQL Server 2005 allows you to specify a password for backups. If a backup is created with a password, you must provide that password to restore from that backup. This discourages unauthorized access to backup files.

5.4.4 Recoverability An automatic backup facility is provided in this project, which makes the backup of the complete database automatically after a certain amount of time (say 2 or 3 days). So in case of any system failure due to any technical problems the data of the database is not lost and can be recovered back. 5.4.5 System Availability Since the project is only web based for a department of the college, the project can be made available to the users round the clock. Users either student, faculty members or administrator, the rules for the project availability is same for all kinds of users. 5.4.6 General Performance For the general performances like response time for queries and updates, throughput and expected rate of the user activity depends on the speed of the system, server and RAM of the system. With high RAM in a system the project can be run faster as compared with the system with less RAM. The viruses in the system will also create an obstacle in the path of project.

37

CHAPTER 6 PROJECT OUTPUT

6.1 USER INTERFACE Home Page:

38

About department page:

39

6.2 ADMINISTRATIVE INTERFACE: Admin Welcome Page:


40

Student and Faculty account control Page:

41

Discussion Forum:

42

Upload page:

43

Download:

44

Student home page:

45

Sign up student page:

46

Sign up faculty page:

47

48

CHAPTER 7 CONCLUSION

7. CONCLUSION Advantages:
49

As there was no such system available for department by which the students can interact with teachers properly.This project will provide the students proper medium to interact with the faculties over there probems regarding studies and other topics.

There was a great problem in keeping record of daily attendance, performance of each student, profile of each person associated with the department. There were a lot of difficulties for the student regarding the current updates of the department.All the latest updates of the departments are provided on the website, such as all the information are uploaded on the website as quickly as possible.

Limitations:

Online testing is not included. There is no hierarchy of Admnistrators.Only one Admnistrator is responsible for the central control. Inter-mailing is not supported. No password recovery system exists.

Future Enhancements: As per the departments requirement whole website is designed. We can add additional enhancements to our project. We can also make this project in such a way that users can solve their problems directly through the Internet by querying the faculties of the department and these queries and there replies can be viewed by all other registered users, hence it will save time of both students and faculties, who have the same problem to solve.
50

We can also embed chat option for the users (Students or Faculties) who are online at the time and are registered, so that it can be used as a networking site at a small scale or at department level. Further we can also add an option of sms for the registered users.

BIBLIOGRAPHY

http://en.wikipedia.org/wiki , Internet Information Services http://forums.asp.net, Get Started with ASP.NET http://msdn.microsoft.com/en-us/library/ms950416.aspx, Visual Studio 2005.

Steve Holzner, HTML Black Book: The Programmer's Complete HTML Reference Book, Edition 1, Publisher: Paraglyph Press, July 1, 2002

51

You might also like