Sie sind auf Seite 1von 39


1 INTRANET MAILING SYSTEM The "Intranet Mailing System" has been developed out of a need for communication between the Faculty(s) and the students.The " Intranet Mailing System" provides a means by which students can place their queries,reply to each others queries, send each others mails and basically keep in touch across the " ", network. This application has been designed keeping in mind two types of members(Students and Faculty),before the members can start sending mails they have to register with at this website and as soon as they register they will be provided with a unique Email address, using this Email ID the member can login to the mailing service from any computer on the network and check his mailbox.

Core Features: Intranet email facility among students and faculty members Works as standalone system without requiring any external resources from the Internet Also incorporates Online Feedback facility about the software Personified Login and Mailing pages for different categories of members

1.2 SYSTEM STUDY 1.2.1 PROPOSED SYSTEM: The proposed system Intranet Mailing System includes Registration of Students, Instructor. Mailing Facility Provide Feedback Facility Administrator Authorization

1.2.2 ADVANTAGES OF PROPOSED SYSTEM: The proposed system has following advantages User can interact with any one on the network through mailing system. Proposed system is Intranet enabled. Only Administrator can check number of logins, total mails, feedback

1.3 SYSTEM ANALYSIS System analysis is an in depth of the end user information needs that produces functional requirements that are used as the basic for the design of the new system. System analysis traditionally involves detailed study of: The information needs of the organization and end users like you. The activities, resources, and outputs of the present system in a familiar manner. The system capabilities required to meet your information

Need, and those of others staff member of the organization. There are following steps in the system analysis: Organization Analysis. Analysis of the present system. Functional requirements analysis.

1.4 Software Requirements: Hardware Operating System Software Environment Documentation Pentium IV 2.0, 128 MB RAM, 40 GB HDD Windows XP MS.NET (Front End) MS-SQL Server (Back End) Microsoft Word 2000 2


Feasibility is the determination whether or not a project is worth doing. The process followed in making this determination is called feasibility study. Since the feasibility study may lead to commitment of large resources, it becomes necessary that it should be conducted competently and that no fundamental errors of judgment are made. Preliminary investigation examine project feasibility, the likelihood the system will be useful to the organization. Three important tests of feasibility are described below: Technical feasibility: This is concerned with specifying equipment and software that will successfully satisfy the user requirement. During the analysis of the technical feasibility of the system, it is considered that It should produce outputs in a given time. It should give quick response under certain condition. And, The hardware should be able to process certain volume of transactions at faster speed.Since the project comes under the category of database management system, so here MS SQL Server is used as database. The reason for choosing MS SQL Server that it is easy to use. C# .Net is used as Front-end for MS SQL Server With the above configuration of hardware system and aforesaid software, the system will be entirely technically feasible. One more important point has also been considered that if the BIIPL proposes any changes in its working conditions, the system should also react to that and it can easily be upgraded . Operational Feasibility: The project has been designed considering all future scopes that can come into the consideration in the near future and also considering that the organization can make some changes in its working environment or operational structure, or it can add some new skill that can be essential in near future. At this level the project is almost operationally feasible because the system has been 3

designed so efficiently that a person having little knowledge of computers can handle the system very well. The user may not know every little part of the system but the project should support him in the way that he can easily understand informations and may respond according to that. Software requirement specification: A complete specification of the software requirement is essential to the success of Software development efforts .No matter how will designed and well coded, a poorly specified program will disappoint the user and bring grief to the developers the requirement analysis task is a process of discovery and refinement .The software scope, initially establish is refined in details alternative solutions are analyzed to various software elements. Software Requirement Specification is conducted with the following objectives in mind: Identify the customers need. Evaluate the system concept for feasibility. Perform economic and technical analysis. Allocate functions to hardware, software, people, database, and Other system elements. Establish cost and schedule constraints. Create a system definition that forms the foundation for all Subsequent work.

Software Requirement Specifications (SRS) will facilitate the developer & educate the user on all aspects of the computerized system. Every function, feature and constraint that is required for the system is documented here. This document attempts to give an overall functional and performance requirements of this System.

1. Functional Requirements 1.1.1. Registration:

Purpose Inputs Processing Outputs 1.1.2. Login:

To Register student and instructor. Users click on SUBMIT button. Store all the validated information in to the database. Message indicates that you are registered properly.

Purpose Inputs Processing Outputs 1.1.3. Inbox: Purpose Inputs







instructor. Valid username and password First do the client side validation and then authenticate the user after verifying from database. Student , instructor or admin redirect to mail page

Interface to the user to check his/her email No input Required. It figures out the email selected by the user to be

Processing read and queries the database for the information corresponding to the email message selected. Outputs 1.1.4. Outbox: Purpose To check the sent details 5 Provides a message in the standardized email format

Inputs Processing Outputs

No Input It interacts with database and retrieves the sent emails by the user, if any Display of sent email information in tabular format

1.1.5. Change Password: Purpose Inputs Processing Outputs To change password of student or instructor Old and new password Verify the old password from database and if verified then update new one. New password is confirmed.

Data Flow Diagram: As information moves through the software, it is modified by a series of transformation .A Data Flow Diagram (DFD) is a graphical technique that depicts information flow and transfers that are applied as data moves from input to output. The DFD is also known as Data flow graph or a bubble chart. The data flow diagram may be used to represent a system or software at any level of abstraction. In fact, DFDs may be partitioned into levels that represent increasing information and functional detail. The basic notation to create a DFD is: A rectangle is used to represent an external entity, that is, a system element (e.g. hardware, person and another program) or another System that produces information for transformation by the software or receives information produced by the software. A circle represents a process or transform that is applied to data (or control) and changes it in some way. An arrow represents one or more data items. An open rectangle represents data store stored information that is used by the software, i.e. temporary repository of data. The simplicity of DFD notation is one reason why structured analysis techniques are most widely used .The data flow diagram for the current system is as given in the figure on the next page:




Intranet Mailing System


DFD Level-1

DFD Level-2



S Id

SNam e

Mess age a

M Msg Collector


R Date D

Subje ct c

R Flag

R Name N



S Id
S SName

Messa ge g

M Msg Collector1


R Date D

Subje ct c

R Flag

R Name N


FNa me m

A Age

Phon e

I Id

S Student_Personal_Info

B Emai l

LNa me m

N No

Addr ess e


Y Year C College B Board


Student SSCEDU E
P Percent

Universit y y



Y Year C College B Board


Student HSCEDU E
P Percent

Universi ty t


Y Year C College

B Board


Student GradEDU E
P Percent I Id P Password

Universit y y


L Log_In


U User Name


S Serial No

Stud Name N

S Subject

F Feedback Object oriented analysis D Date M Message

Object oriented analysis is concerned with developing software engineering and specification that expressed as a systems object model as opposed to traditional data or functional views of a system .OOA can yield following benefits maintainability through simplified mapping to the real world, which provides less analysis effort, less complexity in system design and easier verification by the user reusability of the analysis artifacts which sales time and costs; and depending on the analysis model and programming language, productivity games through direct mapping to features of data modeling .


Data Modeling: Modeling is a central part of all activities that ads up to deployment of good software we build models to communicate the desire structure and behavior of a system we built the models to visualize control system architecture. We built models to better understand the system we are building, after exposing opportunities for simplification and reuse we build models to manage risks. Modeling is proven and well accepted engineering technique. A model is a simplification of reality. Unified Modeling Language: Visualizing, specifying, constructing and documenting object oriented system is exactly the purpose of UML.UML is standard language for writing software blue prints. It is very expressive language, easy to understand and easy to use, addressing all the views needed to develop and then deploy software systems. Object oriented design:


Object Oriented Design is design strategy where system designers think in terms of things (objects) instead of operations of functions. The executing system is map of interacting objects that maintain their own local state and provides operation on the state information. An Object Oriented Design process involves designing objects and relationships between these classes. When design is realized as an executing program, the required objects are created dynamically using class definitions. An important advantage of an object oriented approach is that simplifies the problem of making changes to design. Changing interval details of objectives unlikely to affect any other system objects further more, because objects are usually coupled, usually straight forwards to introduce new objects out significant effects on the rest of systems. The various UML diagrams for the various sub system involved in our website are given below. Class Diagram: Class diagram are the back bone of object oriented modeling. Class diagram shows static descriptive view of system diagrams visualize, specify, construct, document, structure of system that is definition. These diagrams are built with structural things like classes, interaction, collaboration relationships between them thus class diagram represent design view of a system. Classes represent an abstraction of entities common and characteristics. Associations represent the relationships between classes. Definition: A class diagram is graphical notation that shows set of classes, interfaces, collaboration and their relationship graphically. Graphically it is a collection of vertices and arcs, classes and interfaces are represented as vertices on relation ships as arcs connecting classes together. Some times these arcs are represented with extension symbols and different form to represent different types of relationships. Advantages of class diagrams: It designs static view of a system. This view provides functions of systems, services of system to end users.


It models vocabulary of system. This means defining abstraction from information which is a part of a system. It models simple collaboration. Collaboration is society of classes, interfaces that connect together with common specifics operation implementation. Class diagrams are useful to model logical database schema based on object orientation that is to design data base on object orientation called object oriented database.


Components Diagram: Component diagram models the instances of things continue in classes diagrams. That is used to model the instances of classes and interfaces, relationships defined, modeled in class diagram. A component diagram that shows set of components and their relationships at a point in time. A component diagram is collection of vertices and arcs between vertices here component are acted as vertices and arcs represent relationships between vertices. A component diagram commonly contains Objects Links Component diagram also contains packages or subsystems. Thus a component diagram is essential instance of class diagram. Component are instances of classes found in class diagram where as lines are relationships between objectives at run time.


Use Case Diagrams: Use case diagram identify the functionality provides by the system (use cases), identifies users who interact with the system (actor) and provides association between users and use cases. This model behavior of a system with respect to users it shows the dynamic aspects of the system then user interact with the system. A use case can have all possible interactions of users with use case graphically. Thus use case diagram models use case view of a system. Definition: A use case diagram is set of use cases, actors and relation ships between actors use cases A use case diagram contains: Use cases Actors Association relationship between actors, use cases Generalization between actors Include , extent, generalization relationships

Common uses of use case diagram: Provides high level view of a system with respect to user To model context of a system Determine human system interaction The basic components in use case diagram are: Use case Actor Association Use case: It is functionality provided by system to user. Example: lodges a complaint, provides user id and password Use case is represented graphically as ellipse with name inside it 18

Actor: An actor is a user of a system of data base in a system it is represented with stick figure Association: Association links actors to use case explain in what way and how actor interacts

Sequence diagram: A sequence diagram is an interaction diagram that emphasizes the time ordering of messages. A sequence diagram shows a set of objects and the messages sent and received by those objects. This commonly contains Objects 19

Links Messages System level sequence diagram



View details sequence diagram



Collaboration Diagrams




VERIFICATION & VALIDATION Validation Specification: The terms verification and validation are used interchangeably, verification is a processes of determining whether are not the products of given phase of software development fulfill the specification established during the previous phase. The activities include providing, testing and previous. Validation is a process of evaluating the software the software at end of software development process to find out how well the software satisfies requirement specification. The development of software starts with requirement document and is there fore important that requirement specification contain no error and specifies clients requirements correctly. The validation process of evaluating deployment system at an end is must, to ensure that it meets all necessary requirement specifications. Requirement verification also checks the factors as complete ness, consistency and testability of the requirements. The major verification and validation activities for software development are transactions, queries and reports. Transaction and queries are performed in order to check various inputs and expected outputs. These outputs are checked against the existing document to see whether they are matching or not. Inspections and reviews are performed in order to be careful with calculations being made. The primary purpose of review was to detect the defects at different stages during the project. The review processes is generally done by group of people including author of product, department head and a person from each phase preceding and succeeding the current phase under review. The review material usually includes specification, system design, detail, design code and test plan. Proper execution of reviews is critical to successes of project. According to pressman validation criteria is probably the most important, and, ironically, the most often neglected section of SRS. How do we recognize successful implementation? What losses of tests must be conducted to validate functional performance and constrains? Specification of validation criteria acts as an implicit review of all other requirement. Reasonable expectations are defined in SRS under this section and user visible attributes of software are also defined here. Information contained in this section forms the basis for a validation testing approach. TESTING Software testing is a critical element of software quality assurance and represents the ultimate role of specification, design and code generation. 25

Once the source code has been generated, software must be tested to uncover as many errors as possible before delivery to consumer. We have to design a series of test cases that have high likelihood of finding errors. The strategies provide systematic guidance of designing tests that Exercise the internal logic of software components and Exercise the input and output domains of program function, behaviors and performance. Testing principles: All tests should be traceable to customer requirements. Test should be planned long before testing begins. The highly error prone components of the software products should be recognize and thoroughly exercise. The testing should start from small components to large components. For effective testing, team should be a third party rather than developer and client The physical system specifications are turned over to programmers at the part of the implementation space. It is last phase of SDLC. It is most expensive and time consuming phase of entire life cycle. During implementation, you turn system specification into a working system i.e., tested and then put into use. Implementation includes coding, testing and instillation. Hence we mainly concentrate on the various types of tests and preparation of user manual. FUNCTION ORIENTED TESTING: This can be broadly classified into two categories based on the area in which tests are conducted. They are White box testing Black box testing White Box Testing: White box testing, some time called glass box testing is a test case design method that uses the control structure procedural design to drive the test cases. As specified design space the inputs are considered, actual processing that goes on with in the system and final output. The test was extensively conducted and checked against the specification given in the design phase module. Black Box Testing: Black box testing focuses on the functional requirements of the software. It enables the software engineer to derive the sets of input condition for a program. Black box testing is not an alternate to white box testing techniques. Here 26

we no longer consider the independent working of each module separately. Rather we aggregate them together to test if they perform the required goals and objectives has specified in study phase. For testing, we had to resort both the sample and real data. In all area the real data was made available to us by our effort in collection them from the engineering department of the hotel. Unit Testing: Here the entire software system is tested. The reference document for the processes is requirement document and the goal if system meets its requirements. Boundary Condition Test: Boundary conditions as in the case of generating sequences ware tested he ensure that module operates properly at boundaries establish to limit of restricts processing. Acceptance Test: This is normally performed with realistic with data of the clients to demonstrate that the software is working satisfactory. Testing here focuses on the external behavior of the system.


DATABASE DESIGN: Data bases are normally implemented by using package called database management system (DBMS).Each particular DBMS has some what unique characteristics, and so such, general technique for the database are limited. One of the most useful methods of analyzing the data required by the system for the data dictionary has developed from research into relational database, particularly the work of E.F Codd. This method of analyzing data is called Normalization. UN normalized data are converted into normalize data by three stages. Each stage has procedure to follow. NORMALIZATION: The first stage of normalization is to reduce the data and to its first normal form, by removing repeating terms showing them as separate records but including in them the key fields of original record. The next stage of reduction to the second normal form is to check that the record, which one is first normal form, all the items in each record are entirely dependent on the key of the record. If a data is not dependent on the key of record, but on other data item, then it is removed with its key to form another record. This is done until each record contains data items, which are entirely dependent on the key of their record. The final stage of analysis, the reduction of third normal form involves examining each record which one is in second form to see whether any items are mutually dependent. If there are any item there are removed to a separate record leaving one of items behind in the original record and using as the key in the newly created record. RELATIONAL DATABASE MANAGEMENT: A relational database management system only its relational capabilities to manage the information store in its databases. INFORMATION REPRESENTATION: All information stored in a relational is represented only by data items values, which are stored in tables that makeup the database. Associations between data items are not logically represented in any other way, such as a use of pointers from one table to another. LOGICAL ACCESSIBILITY: Every data item value stored in relational data base is accessible by stating nature of table it is stored name of column under which it is stored and value of primary key that defines the row in which it is stored.


REPRESENTATION OF NULL VALUES: The database management system has a constitute method of representing null values. For example, null values for numeric data must be distinct from zero or any other numeric and for character data it must be different from string of blanks or any other character value. CATALOGUE FACILITIES: The logical description of relation database is represented in the same manner or ordinary data. This is done so that facilities of relational database management system itself can be used to maintain database description. DATA LANGUAGE: The relational database management system may support many types of languages for describing and accessing database. However, there must be at least one language that uses ordinary character strings to support the definitions if data, the definition of views, manipulation of data, constrains on data integrity, information concerning authorization and the boundaries for recovery of units. VIEW UPDATABILITY: Any view that can be defined combination of basic tables that are theoretically updatable, these capitals of being updated by the relational database management system. INSERT, UPDATE & DELETE: Any operand that describes the result of single retrieval operation is capable of being applied an insert, update or delete operation as well. PHYSICAL DATA INDEPENDENCE: Changes made to physical storage representation or access methods do not require changes to be made to application programmers. LOGICAL DATA INDEPENDENCE: Changes made to tables that do not modify any data stored in that table, do not require changes to be made to application programmers. INTEGRITY CONSTRAINTS: Constraints that applied to integrity and referential integrity are specifiable by the data language implemented by the database management system and not by the statements coded into the application programs.


DATABASE DISTRIBUTION: The data language implemented by the relation management system supports the ability to distribute database without requiring changes to be made to application programmers this facility must be provided in the data language, whether are not the database management system itself supports distributed databases. NON SUB VERSION: If the relational database management system supports facilities that allow application programmers to operate on that table or a row at a time, an application programmer using this type access is prevented from by passing entity integrity or referential integrity constraints that are defined for the database. LOGICAL SCHEMA: A Logical Schema is a data model of a specific problem domain that is in terms of a particular data management technology. Without being specific to a particular database management product, it is in terms of either (for example, in 2007) relational tables and columns, object-oriented classes, or XML tags. This is as opposed to a conceptual data model, which describes the semantics of an organization without reference to technology, or a physical data base model, which describes the particular physical mechanisms used to capture data in a storage medium. CONCEPTUAL SCHEMA: A conceptual schema or conceptual data model is a map of concepts and their relationships. This describes the semantics of an organization and represents a series of assertions about its nature. Specifically, it describes the things of significance to an organization (entity classes), about which it is inclined to collect information, and characteristics of (attributes) and associations between pairs of those things of significance (relationships). Because it represents the semantics of an organization, and not a database design, it may exist on various levels of abstraction. The original ANSI four-schema architecture began with the set of external schemas that each represents one person's view of the world around him or her. These are consolidated into a single conceptual schema that is the superset of all of those external views. A data model can be as concrete as each person's perspective, but this tends to make it inflexible. If that person's world changes, the model must change. Conceptual data models take a more abstract perspective, identifying the fundamental things, of which the things an individual deals with are but examples. The model does allow for what is called inheritance in object oriented terms. The set of instances of an entity class may be subdivided into entity classes in their own right. Thus, each instance of a sub-type entity class is also an instance of the entity class's super-type.


Each instance of the super-type entity class then is also an instance of one of the sub-type entity classes. Super-type/sub-type relationships may be exclusive or not. A methodology may require that each instance of a super-type may only be an instance of one sub-type. Similarly, a supertype/sub-type relationship may be exhaustive or not. It is exhaustive if the methodology requires that each instance of a super-type must be an instance of a sub-type.


TECHNOLOGY USED MS.NET(FRONT- END): The .NET Framework is a development and execution environment that allows different programming languages & libraries to work together seamlessly to create Windows-based applications that are easier to build, manage, deploy, and integrate with other networked systems. The .NET Framework consists of:






A language-neutral development & execution environment that provides services to help "manage" application execution






A consistent, object-oriented library of prepackaged functionality


MS-SQL Server : (Back end) Business today demands a different kind of data management solution. Performance, scalability, and reliability are essential, but businesses now expect more from their key IT investments.

SQL Server 2000 exceeds dependability requirements and provides innovative capabilities that increase employee effectiveness, integrate heterogeneous IT ecosystems, and maximize capital and operating budgets. SQL Server 2000 provides the enterprise data management platform your organization needs to adapt quickly in a fast-changing environment. With the lowest implementation and maintenance costs in the industry, SQL Server 2000 delivers rapid return on your data management investment. SQL Server 2000 supports the rapid development of enterprise-class business applications that can give your company a critical competitive advantage. Benchmarked for scalability, speed, and performance, SQL Server 2000 is a fully enterprise-class database product, providing core support for Extensible Markup Language (XML) and Internet queries. Easy-to-Use Business Intelligence (BI) Tools Through rich data analysis and data mining capabilities that integrate with familiar applications such as Microsoft Office, SQL Server 2000 enables you to provide all of your employees with critical, timely business information tailored to their specific information needs. Every copy of SQL Server 2000 ships with a suite of BI services. Self-Tuning and Management Capabilities Revolutionary self-tuning and dynamic self-configuring features optimize database performance, while management tools automate standard activities. Graphical tools and wizards simplify setup, database design, and performance monitoring, allowing database administrators to focus on meeting strategic business needs.


Testing: Software Testing is the process of executing a program or system with the intent of finding errors or it involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. Software testing is a process used to identify the correctness, completeness and quality of developed computer software. Testing Framework: To begin with, let us look at the traditional Software Development life cycle. The figure below depicts the same.












Fig A

Fig B

In the above diagram (Fig A), the Testing phase comes after the Coding is complete and before the product is launched and goes into maintenance. But, the recommended test process involves testing in every phase of the life cycle (Fig B). During the requirements phase, the emphasis is upon validation to determine that the defined requirements meet the needs of the organization. During the design and program phases, the emphasis is on verification to ensure that the design and programs accomplish the defined requirements. During the test and installation phases, the emphasis is on inspection to determine that the implemented system meets the system specification. During the maintenance phases, the system will be retested to determine that the changes work and that the unchanged portion continues to work. Testing Techniques: In this project we have used the following testing techniques 1. Unit testing: Goal of Unit testing is to uncover defects using formal techniques like Boundary Value Analysis (BVA), Equivalence Partitioning, and Error Guessing. Defects and deviations in Date formats, Special requirements in input conditions (for example Text box where only numeric or alphabets should be entered), selection based on Combo Boxs, List Boxs, Option buttons, Check Boxs would be identified during the Unit Testing phase. Following validation checks are performed during the unit testing a) Validation for Numeric Entries: - This validation checks whether an entry in the text box is numeric or not. If not, a suitable message is flashed to user. b) Validation for Mandatory Entries: - This validation checks whether mandatory entries are filled or not. If not, a suitable message is flashed to user.


c) Validation For Unauthorized Entry:- This validation checks for validity of user for making entries or modification .If user is not authorized than such a user is prevented from executing the software. 2. Integration testing: Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objective is to take unit tested components and build a program structure that has been dictated by design. In these testing forms means for relevant schemes that have already been tested during the unit testing are integrated into one module namely online monitoring of land reforms schemes, this system is then tested thoroughly for the errors. 3. System testing: The system was tested with the test data and it was put to its all limits so that various exceptions and errors could be detected. It was tested for these exceptions Validation checks for numeric entries, for date type data, and for blank text entries are working properly or not. So that wrong data is not added to database. Data addition, modification and deletion should result in change of values in to the database. Data can be retrieved properly from the database on making right query. Database transaction carried out properly or not. Recovery of data in failure conditions.


IMPLEMENTATION: Implementation Platform: At server side Hardware requirement Pentium-III processor or above 128 MB RAM 20 GB Hard Disk Software requirement Microsoft windows 2000 SQL Server 2000 IIS 6.0 At Client site Hardware requirement Pentium processor or above 64 MB RAM Microsoft Internet explorer or any Internet browser


Conclusion: The application has been loaded on the server and can be accessed I conclude my project by discussing the future extensions of this project. In the future I would like to add some features extra features in this project, which are as follows: 1. This application can be made highly secured by adopting several security strategies and techniques. 2. Flexibility can be inbuilt in the project, so as to include as many modules as are required, e.g. we can include attachment in our mailing system and an address book. 3. The security of the data entry forms depends on the user name and password combinations, which authenticates the users. More sophisticated methodologies like digital signature can be employed to restrict access and minimize the threat to the data. BIBLIOGRAPHY


ASP .Net by Wrox Publications. 38

2. 3. 4. 5. 6.

C#.Net by Wrox Publications. ADO.Net by Wrox Publications. Software Engineering by Rajib Mall. DataBase Concepts by Korth. Websites: