Вы находитесь на странице: 1из 99

A

PROJECT

REPORT

ON

XXXXXXXXXX

Submitted to xxxxx University for the partial fulfillment of the Requirement for the Award of Degree for XXXXXXXXXXXXXXXXXXXXXXXX

Done
Mr. /Miss. XXXXXX

by

XXXXX Institute of Management & Computer Sciences

Hyderabad

CERTIFICATE

This is to certify that Mr. XXXX, bearing Roll No. XXXXXXXXXXX have developed Software project titled XXXXXXXX for xxx SOFTWARE SOLUTIONS as a partial Fulfillment for the award of the Degree of XXXXXXX.

HEAD OF DEPARTMENT

PRINCIPAL XXX institute of Management & Computer Sciences

EXTERNAL

ii

ACKNOWLEDGMENT

My express thanks and gratitude and thanks to Almighty God, my parents and other family members and friends without whose unsustained support, I could not have made this career in XXXX.

I wish to place on my record my deep sense of gratitude to my project guide, Mr. XXXXX, xxx Software Solutions, Hyderabad for his constant motivation and valuable help through the project work. Express my gratitude to Mr. XXXX, Director of XXXXX Institute of Management & Computer Sciences for his valuable suggestions and advices through out the XXX course. I also extend my thanks to other Faculties for their Cooperation during my Course.

Finally I would like to thank my friends for their cooperation to complete this project.

XXXXXXX

iii

ABSTRACT

GNITS Vibes is an web-based social network which is tailored to cater to the staff and students of G. Narayanamma Institute Of Technology. This is a site where every staff member and student can create a Profile with personal details and photograph. They can stay updated on all the events being held at the college and enjoy effective communication with every other member of the college. There are also communities created by different users which you can join as per their liking and make friends with the existing members of that community. It is possible for a user to be a part of multiple clubs and actively participate in the forums, polls and events. It has also been made possible to unjoin a club. As a member of GNITS Vibes, a user can create their own clubs after the Administrator grants permission. GNITS Vibes not only allows users to manage and archive Scribbles, but also provides a method for true communication and collaboration between students and staff. The various features provided by the system are Starting a new College Club: Creating a club is easy just enter a name and start inviting members. But the club must be approved by the Administrator for it to function. This is to ensure that there is no spam and irrelevant discussions. Every club has a forum for discussion on focused topics in which the club members can take part. A club also allows for Polls which allow members to vote on particular question. The poll functionality provides for easier decision-making within the club, by having a voting system in place. The Events functionality lists upcoming events pertaining to the club. The user can add his own events if they wish to. Join an existing club: It is possible for the user to join a club in two different ways. The club owner could send an invitation to the user which he can accept or reject.

iv

Or the user can search for a particular club based on his interest and opt to join it. On joining a club, the user gains access to all the forum discussions, poll questions and event details. ScribblePad: When users make friends with each other they can communicate with each other publicly by leaving Scribbles for each other on their respective ScribblePads. The ScribblePad is a public archive of all the messages that a user has received in the form of Scribbles. Profile: A user enters most of the profile information during the registration process itself. It is possible to edit these details later by editing the profile. It is also possible to insert a picture in the profile. Share photos: Apart from the profile picture, the user can share multiple images through the photo album feature which allows uploading and downloading of images. Friends:It is possible to use the search facility and find new people to make friends with them. The friend requests that are sent to the user by others can either be accepted or rejected by the user. Group Discussion: This window dynamically updates itself with all the incoming messages. All users who are currently online can have a live discussion amongst themselves . Testimonials: Testimonials can be written for others which on their approval will be appended to their profiles. When others write a testimonial for a user they can choose to approve or reject it.

TABLE OF CONTENTS

1. INTRODUCTION
1.1 1.2 1.3 Problem Statement Understanding the Existing System Need for new System 1.3.1 Features of Proposed System 01 01 02 02

2. LITERATURE SURVEY
2.1 Overview of .Net 2.1.1 .Net Supporting Languages 2.1.2 Types of Languages using .Net 2.2 .Net Framework 2.3 Ado.Net 2.4 Assembly 2.5 Validation Controls and Page Navigation 03 03 04 05 07 09 10

3. SYSTEM ANALYSIS
3.1 Use Case Analysis 3.2 Use Case Diagram 3.3 Activity Diagrams 3.4 Sequence Diagrams 13 15 16 19

vi

3.5 Collaboration Diagrams

25

vii

4. SYSTEM DESIGN
4.1 Architectural Design 4.2 Class Diagram 4.3 Data Base Design 4.3.1 Entity Relationship Diagram 32 33 35 36

5. IMPLEMENTATION
5.1 Graphical User Interface 40

6. TESTING
6.1 Testing Concepts for Web Application 6.1.1 Errors with in a WebApp Environment 6.1.2 Testing Strategy 6.1.3 Test Planning 6.2 The Testing Process 6.3 Content Testing 6.3.1 Content Testing Objectives 6.3.2 Database Testing 6.4 User Interface Testing 6.4.1 Interface Testing Strategy 6.4.2 Testing Interface Mechanisms 6.5 Component Level Testing 6.6 Navigation Testing 6.6.1 Testing Navigation Syntax 6.7 Configuration Testing 6.8 Security Testing 71 71 72 72 73 75 75 76 77 77 77 78 84 84 85 85

viii

6.9 Performance Testing

85

7. CONCLUSION
7.1 Conclusion 7.2 Future Enhancements 86 86

BIBOLOGRAPHY

87

ix

LIST OF TABLES

Table 4.1 Registration Table 4.2 Groups Table 4.3 Members Table 4.4 Messages Table 4.5 Photos Table 4.6 Files Table 4.7 Videos Table 6.1 Test Case1 Table 6.2 Test Case2 Table 6.3 Test Case3 Table 6.4 Test Case4 Table 6.5 Test Case5 Table 6.6 Test Case6 Table 6.7 Test Case7 Table 6.8 Test Case8 Table 6.9 Boundary Value Analysis

37 37 38 38 38 39 39 79 80 80 81 81 82 82 83 84

LIST OF FIGURES

Fig 3.1 Overall Usecase Diagram Fig 3.2 Overall Activity Diagram Fig 3.3 Sequence for Join a group Fig 3.4 Sequence for Leave a group Fig 3.5 Sequence for Create own group Fig 3.6 Sequence for manage photos Fig 3.7 Sequence for Share files & Member information Fig 3.8 Collaboration Diagram for Join a group Fig 3.9 Collaboration Diagram for Leave a group Fig 3.10 Collaboration Diagram for Create own group Fig 3.11 Collaboration Diagram for Manage photos Fig 3.12 Collaboration Diagram for Share files and member information Fig 4.1 Functional Architecture Fig 4.2 Request & Response through HTTP methods Fig 4.3 Overall Class Diagram Fig 4. 4 ER-Diagram Fig 6.1 Test Flow

15 17 20 21 22 23 24 26 27 28 29 30 32 33 34 36 74

xi

12

CHAPTER 1
INTRODUCTION

1.1 PROBLEM STATEMENT


GNITS Vibes is an online community that provides effective communication among staff and students of GNITS. Here it allows the sharing of scribbles, private messages, photos, polls, events etc. The basic process is divided into three steps: 1. Understanding the Existing system. 2. Need for new system. 3. Features of proposed system.

UNDERSTANDING THE EXISTING SYSTEM


The examples for the existing system are: 1. Orkut Groups. 2. Facebook Groups. The Existing System doesnt provide video sharing. With the existing system users can scraps and messages to group users only.??? Doesnt apply anymore!

Functionalities of Existing system: Register with GNITS Vibes Create your profile Send and receive Scribbles Join Clubs Create Clubs Upload photos Group Discussions Forums Polls

13

Events Search Private Message. Check if it is present and if it works

NEED FOR NEW SYSTEM


The existing system has a lot of drawbacks as said earlier. Considering these drawbacks in mind the proposed system is developed. The proposed system is to provide features to share Testimonials and chat with friends. Drawbacks of Existing system: Users cant chat with the friends. Users can not share Testimonials. 1.3.1 FEATURES OF PROPOSED SYSTEM Make own College Club Join a College Club. Upload photos and member information Share Photos. Search or browse for clubs and users Maintain a ScribblePad Send testimonials to friends and receive testimonials from friends

14

CHAPTER 2 LITERATURE SURVEY

2.1 OVERVIEW OF .NET


. Net is the combining of smaller technologies into a singular unit. Introduced in July 10 2000 officially by Microsoft company that is why this is also called as . Net is the Microsoft technology. Up to now there are four versions of the. Net technologies is 1.0 in the 2003 supports up to 13 languages, then 1.1in the 2003 supports up to 17 languages, then 2.0in the 2006 supports up to 23 languages, then finally now which are running in the market is 3.0 supports more than 40 languages. That fourth version is also called as ORCAS. 2.1.1 .NET Supporting Languages are Visual Basic. Net Visual C#. Net Visual J#. Net Visual COBOL. Net These are four common languages which are mostly used by the visual studio.Net, this visual studio. Net (VS. Net) is the integrated development environment (IDE). That is Tool through which these 40+ languages are to be run as front end.

15

2.1.2 Types of applications using .Net are Windows applications Console applications Web applications Mobile applications Crystal reports Control Libraries Windows application: This is the application which are applies in the run time and design time, this application are used in the designing of forms in the new projects these windows application can be used by any Vs. Net supporting languages.

Console application: This is also one of the application which are applies in the dos prompt and run time application are used in the designing of forms in the new projects these windows application can be used by any Vs. Net supporting languages. Code window is available with <name. Vb>for Vb. Net and <name. CS> for c#. Net Web application: This is also one of the application which are applies in the runtime and design time, this application are used in the designing of web forms or Web pages in the new websites these web application can be used by any Vs. Net supporting languages. Crystal reports: This is also one of the application which are applies in the creating of tabular column. Generally this crystal reports are ignored by Vs. Net. These

16

applications are used in the generating of the tabular column in the new projects these windows application can be used by any Vs. Net supporting languages. Control Libraries: This is also one of the application which are applies in the creating of assemblies. That is the combination of one or more .dll and .exe files. These applications are used in the assemblies in the new projects these windows application can be used by any Vs. Net supporting languages. The assemblies having two types are as single file assemblies and multi files assemblies.

2.2 .NET FRAMEWORK


Framework is different from Integrated Development Environment (IDE). We use Integrated Development Environment (IDE) as Vs. Net. . Net framework is a programming module of. Net. . Net framework is combination of Basic Class Libraries (BCL) and Common Language Runtime (CLR). BCL includes root name space OOPS concept web services, xml, Active Data Object (ADO). As imports System data. Here import is a keyword used to inherent various name space into the .Net environment. And System is the name space is the logical collection of class, method and properties etc. CLR mainly consists of three parts Memory management how much we used that memory is allocated. Garbage collector allocates and release space for object usage. CTS (common type system) every variable should be either value type or reference type which is a mandatory condition. Root name space: System .windows. Form developing for the windows application. System. Reflection assembly applications.

17

System.io files operations. System. Drawing Microsoft paint brush operation (we can change size, color, of the font). The .NET Framework provides a runtime environment called the Common Language Runtime or CLR (similar to the Java Virtual Machine or JVM in Java), which handles the execution of code and provides useful services for the implementation of the program. CLR takes care of code management at program execution and provides various beneficial services such as memory management, thread management, security management, code verification, compilation, and other system services. The managed code that targets CLR benefits from useful features such as cross-language integration, cross-language exception handling, versioning, enhanced security, deployment support, and debugging. Common Type System (CTS) describes how types are declared, used and managed in the runtime and facilitates cross-language integration, type safety, and high performance code execution. The CLS is simply a specification that defines the rules to support language integration in such a way that programs written in any language, yet can interoperate with one another, taking full advantage of inheritance, polymorphism, exceptions, and other features. These rules and the specification are documented in the ECMA proposed standard document. REFLECTION: The process of reading the metadata of information is called as reflection. Metadata is an open standard environment. TOOLBOX: It is GUI container that contains all the needed development controls like textbox (input of the data), button (to rise on event), label (Description), link etc. SOLUTION EXPLORER: It is GUI container that shows the various forms or web forms or list of various items that are used in the project.

18

LINK LABEL: It is similar to label but with an under linking format (blue color).We cant execute label in the runtime where link can be execute in the runtime. It is used for hyper linking interface to the. Net. but it has some disadvantages that can only opened the defined location by the users.

2.3 ADO .NET


ADO stands for Activex Data Object. Dataset is an in-memory content of the Ado. Net and is disconnected architecture of Ado. Net. The connection between back end (database) and front end (dataset) is called as data adaptor. In back end creates a table with table name and column and required data types. Main database used in .Net are Oracle SQL Server MS Access

To establish a connection in SQL [Sql Connection cn = New Sql Connection (connection string);] As User id= faiyaz; Password=2315851; Database=mdf; Server=.; To establish a connection in Oracle [Oracle Connection cn = New Oracle (connection string);] As User id= Scott; Password=tiger;

19

Database=mdf; Server=.; Command object: Syntax of command object is [Sql Command<obj> = New Sql Command (Sql Statements, cn)] Methods of Command object in ADO.Net: ExecuteNonQuery(); ExecuteScalar(); ExecuteReader(); ExecuteXmlReader(); To open connection the following method is used [Cn. Open;] Cn. Open (); Sql Command; Command Type; Command<object> <method ()>; ExecuteNonQuery(): It is a method in Ado. Net used to perform Non-Query action. Examples are insert, delete, update. ExecuteScalar(): It is a method in Ado. Net used to perform retrieve a single entity from the back end. Example: select user id from EMP where ename = faiyaz. ExecuteReader (): It is a method in Ado. Net used to perform retrieve the data from back End.

20

Example: Select * from emp

ExecuteXmlReader (): It is a method in Ado. Net used to perform retrieve the xml data in the. Net applications.

2.4 ASSEMBLY
Logical collection of one or more .exe and .dll files is called as assembly and the compile source code of .Net architecture. There are two types of assemblies are categories. Single assemblies Multi file assemblies

.EXE: Self execution files and not reusable. .DLL: Not self execution files and reusable. Assemblies of Single file content: Manifest metadata of assemblies. Type metadata-data about assembly class. Msil-Microsoft integrated language. Resource-external resource.

Microsoft integrated language is divided into four parts according to the versions Version 6.0 major Version 3.0 minor Version 0.0 build Version 1.0 revision

Assemblies of multi file content: Manifest- metadata of assembly

21

Type metadata-data about assembly class Msil-microsoft integrated language These are myassembly.dll Metadata Msil-microsoft integrated language Before Microsoft intermediate language (MSIL) can be executed, it must be converted by a .NET Framework just-in-time (JIT) compiler to native code, which is CPU-specific code that runs on the same computer architecture as the JIT compiler. Rather than using time and memory to convert all the MSIL in a portable executable (PE) file to native code, it converts the MSIL as it is needed during execution and stores the resulting native code so that it is accessible for subsequent calls. The runtime supplies another mode of compilation called install-time code generation. The install-time code generation mode converts MSIL to native code just as the regular JIT compiler does, but it converts larger units of code at a time, storing the resulting native code for use when the assembly is subsequently loaded and executed. As part of compiling MSIL to native code, code must pass a verification process unless an administrator has established a security policy that allows code to bypass verification. Verification examines MSIL and metadata to find out whether the code can be determined to be type safe, which means that it is known to access only the memory locations it is authorized to access.

2.5 VALIDATION CONTROLS AND PAGE NAVIGATION:


VALIDATION CONTROLS Validation is the process of making sure that the user enters correct information into a form. Validation controls is provide by the. Net framework in the client browser if the browser supports java script and DHTML and checks the data that user entered before sending it to the server. The entire validation take place in the browser and nothing is sent back to the server. If the

22

browser does not support DHTML and scripting then is done on the server. All validation controls in the. Net frameworks are derived from the BaseValidator class. The validation controls that are provided by the. Net frameworks are as following: Required Field Validator Compare Validator Range Validator Regular Expression Validator Custom Validator Required field Validator: Simple of all, Required Field Validator makes sure that the user enters data into a form. For example, on a registration form you might want your users to enter their data of in a textbox. If they leave field empty, this validation control will display an error. Notable property of the Required Field Validator is the initial value property, which set as an initial value in the control. Compare Validator: Comparison Validations are used to compare the entered by the user into a control (Textbox, for example) with the value entered into another control for with a constant value. We indicate the control to validate by setting the ControlToValidate property and if we want to compare a specific control with another control we need set the ControlToCompare property to specify the ControlToCompare with. Range Validator: Range Validators are used to test if the value of a control is inside a specified range of values. The three property of this control are the ControlToValidate property, which contains the control of validate and maximum and minimum values which hold the maximum and minimum values of the valid range. Regular Expression Validator:

23

Regular Expression Validators are used to check if the value in a control matches a pattern defined by the regular expression. Notable property for this control is the Validation Expression property, which allow us to select a predefined expression which we want to match with the data enter in a control. Custom Validator: Custom Validator are used to our own Validation for the data in a control. For example, you can check the value entered by a user is even or odd, with this control which is not possible with any of the above mentions validation controls. You write the script for the validation for JavaScript or vbscript and associate that script function to the Client Validation Function property of this control.

24

CHAPTER 3 SYSTEM ANALYSIS

Analysis is the detailed study of the various operations by a system and their relationships without and outside of the system. A key question is: what must be done to solve the problem? One aspect of analysis is defining the boundaries of the system and determining whether or not candidate system should consider other related system. During analysis, data are collected on the available files, decision points, and translation handled by the present system.

3.1 USE CASE ANALYSIS


Use-case diagrams graphically represent system behavior (use cases). (actors) perspective. system. Questions to help to identify actors: Who is interested in a certain requirement Where is the system used within the organization? Who will benefit from the use of the system? Who will supply the system with information, use this information, and remove this information? Who will support and maintain the system? Does the system use an external resource? Does one person play several different roles? Do several people play the same role? Does the system interact with a legacy system? These

diagrams present a high level view of how the system is used as viewed from an outsiders A use-case diagram may contain all or some of the use cases of a

25

The actors identified in the system are: Administrator registered user anonymous user Identification of Use cases: Definition: Use case is a sequence of transactions performed by a system that yields measurable result of values for a particular actor. The use cases are all the ways the system may be used. Questions to help to find use cases: What are the tasks of each actor? Will any actor create, store, change, remove or read information in the system? What use cases will create, store, change, remove, or read this information? Will any actor need to inform the system about sudden, external changes? Does any actor need to be informed about certain occurrences in the system? What use cases will support or maintain the system? Can all functional requirements be performed by the use cases? Use cases Identified by this system are: login Creating a club Join a club Leave a club Delete a club Manage photos Share photos and member info Manage Scribbles Send Scribbles

26

3.2 USECASE DIAGRAM


login

Home

uses profilesettings uses

uses uses uses Changeprofile photo uses

uses uses uses

scrapbook

uses uses friend uses

user

Albums uses

uses uses

Testimols

uses

Friend Request

change password

communities

logout

Fig 3.1 Overall Use Case Diagram

27

Login: the user can login to the website if he has already created the account. Registration: if the user is new then he has to register his account. Creating own club: the user can create his own group and the he can invite the members to join. Join a club: the user can join any club he wants to join if he has an account. Leave a club: the user can leave from any club if he doesnt want to continue in that particular club Sharing member info: the user can share members information through the profile. Manage photos: the user can share photo i.e. upload photos, delete photos and add photos. Manage Scribbles: the user can share Scribbles i.e. archive, send and delete them. Change password: if the user wants to change the password he can change the password.. Logout: if the has nothing to do ha can sign out from the groups. Manage profiles: the user can manage profiles i.e. he can edit the profiles, create the profiles.

3.3 ACTIVITY DIAGRAMS:


Definition: An Activity diagram is a variation of a special case of a state machine, in which the states are activities representing the performance of operations and the transitions are triggered by the completion of the operations. The purpose of Activity diagram is to provide a view of flows and what is going on inside a use case or among several classes.

28

Fig 3.2 Overall Activity Diagram

29

The above figure shows the overall activity diagram of the system. It consists of three actors namely member, Nonmember and administrator. A Non member can only perform searching operations by viewing information he cant perform the functionalities provided by the system. The user who is a member of the groups can only perform all the functionalities provided by the system. The Administrator controls overall system. And performs validations

30

3.4 SEQUENCE DIAGRAMS:


A sequence diagram is a graphical view of a scenario that shows object interaction in a time based sequence--what happens first, what happens next. Sequence diagrams establish the roles of objects and help provide essential information to determine class responsibilities and interfaces. A sequence diagram has two dimensions: the vertical dimension represents time; the horizontal dimension represents different objects. The vertical line is called the objects lifeline. The lifeline represents the objects existence during the interaction. Purpose: To show the timely ordered object interactions. To provide readability. It is easy to find out the operations that belong to the particular class. Join a club: User click on the Sign in link and then he has to enter Id & password details are forwarded to the administrator, after validation the user will enter into the groups home page. The user enters into particular club and click on join button.

Make own club: User click on the Sign in link and then he has to enter Id & password details are forwarded to the administrator, after validation the user will enter into the home page. The user can click on the create club icon, enter club name and description that can be updated in the database and wait for Administrator to approve the Club. Manage Photos: User click on the Sign in link and then he has to enter Id & password details are forwarded to the administrator, after validation the user will enter into the groups home page. He/She enter into the particular group and can add photos, delete photos.

31

: user

joincommUI

joincommCC

database

1: click on sign in 2: enter id & pwd 3: forward 4: get details

5: verify id & pwd

6: enter into user's group

7: enter into particular group 8: click join button 9: forward 10: update database

Fig 3.3 Sequence diagram for join a community

32

: user :owncommUI 1: click on sign in 2: enter id & pwd

:owncommCC

:database

3: forward 4: get details 5: verify 6: user logs in 7: enter category of group 8: enter name,description for new group 9: enter user profile 10: forward all 11: invite members 12: forward 13: update

Fig 3.5 Sequence diagram for create own community

33

: user

:photosUI 1: click on sign in 2: enter id & pwd 3: forward

:photosCC

:database

4: get details

5: verify 6: user logs in

7: search photos and albums 8: create photos and albums 9: forward 10: update

Fig 3.6 Sequence diagram for manage photos

34

:profileUI : user 1: click on sign in 2: enter id & pwd

profilecc

:database

3: forward 4: get details

5: verify 6: user logs in 7: search for files 8: search member info. 9: open/create new files 10: forward 11: update

12: send files 13: forward 14: update

Fig 3.7 Sequence diagram for Share members information

35

3.5 COLLABORATION DIAGRAMS:


A COLLABORATION DIAGRAM is an alternate way to show a scenario. This type of diagram shows object interactions organized around the objects and their links to each other. A collaboration diagram contains Purpose: Collaboration diagrams are very useful for drawing class diagrams. These diagrams give the interactions between the classes and objects. To find the operations of the classes. Using command we can draw sequence diagram directly from the collaboration diagrams.

36

1: click on sign in 2: enter id & pwd 7: enter into particular community 8: click join button

: user

joincommuniotyI

6: enter into user's community 3: forward 9: forward 4: get details 10: update database

5: verify id & pwd

joincommunitypCC

database

Fig 3.8 Collaboration diagram for join a community

37

1: click on sign in 2: enter id & pwd 7: enter category of group 8: enter name,description for new community 9: enter user profile 11: invite members

: user

:owncommunityUI

6: user logs in 3: forward 10: forward all 12: forward 4: get details 13: update

5: verify

:owncommunityCC

:database

Fig 3.10 Collaboration diagram for create own community

38

1: click on sign in 2: enter id & pwd 7: search photos and albums 8: create photos and albums

: user

:photosUI

6: user logs in 5: verify 3: forward 9: forward 4: get details 10: update

:photosCC

:database

Fig 3.11 Collaboration diagram for manage photos

39

1: click on sign in 2: enter id & pwd 7: search for profiles 8: search member info. 12: send files

: user 6: user logs in 5: verify 3: forward 10: forward 13: forward 4: get details 11: update 14: update

:profileUI

:profileCC

:database

Fig 3.12 Collaboration diagram for share member information

40

CHAPTER 4 SYSTEM DESIGN

System design or system definition is a process of analyzing the given system and having a goal of improving or modifying it. A system is defined as a system consists of number of components and these components are interactive and interrelated. All these components are put together to achieve the required and pre-determined goal. The tool has to be developed keeping in mind that it aids the administrator. The tool should be developed in such a manner that it hides the complexities on the underlying network and the functioning of various machines on the network. .Net technology is chosen for the development of the software since it is the best at hiding the complexities and provides an interface that helps the developer build the application with great ease.

41

4.1 ARCHITECTURAL DESIGN

Fig 4.1 Functional Architecture

When a client a request for the ASP.Net page to web server, aspnet_isapi.dll is a process which will identify the request type and sends the request to the script engine, inetinfo.exe. Once the script engine accepts the request and passes that request to the Asp.Net Runtime environment. The Asp.Net Runtime environment verifies the configuration details and the requested page will be processed by the Asp.Net work process and the result will be sent as Http Response.

42

Web Server
GET POST Response

ASP.NET Reque st Response FileSystem Ado.n et File Syste m

Databas e

Fig 4.2 Request and Response through HTTP methods

4.2 CLASS DIAGRAM


Class Diagrams are used during requirements analysis to model problem domain concepts. during system design to model subsystems and interfaces, during object design to model classes.

43

Purpose: Name and model concepts in the system. Specify logical database schemas Represent the structure of the system A class represents a concept and encapsulates state (attributes) and behavior (operations).

<<boundary class>>

:user
userid password signIn() registration() createGroup() editGroup() joinGroup() sendMsg() enterCategory() enterDescription() createProfile() inviteMembers() searchGroups() openFiles() logout() searchPhotos() createPhotos() createFiles() sendFiles() changePassword() addVideos() openVideos() createProfiles() editProfiles()

<<boundary class>>

:userInterface
1..n 1..n 1..n forward()

1 <<control class>>

:administrator
sendConfirmation() chechValidation() deleteGroup()

Fig 4.3 Overall Class Diagram

44

4.3 DATABASE DESIGN


Data Design is also referred as Data Architecture. It creates a model of data or information that is represented at a high level of abstraction. The data model is refined progressively, more implementation specific representations that can be processed by computer based design. It includes the step wise refining of data modeling, data structures, data bases and data warehouses.

45

4.3.1 Entity- Relationship Diagram:

46

Fig 4.4 Entity Relationship Diagram

47

Registration: Column Name First Name LastName Gender DOB Userid Pwd Email Alt_email Address S_question S_question Country Data Type Constraints Varchar(50) Varchar(50) Varchar(50) Datetime Varchar(50) Primary Key Varchar(50) Varchar(50) Varchar(50) Varchar(50) Varchar(50) Varchar(50) Varchar(50) Table 4.1 Registration

Communities: Column Name Userid C_name C_date C_description DataType Varchar(50) Constraints Refrenences(Registration

userid) Varchar(50) Primary Key Datetime Varchar(200) Table 4.2 Groups

Friends: Column Name idf userid friendid creationtime DataType bigint Varchar(100) Constraints Primary Key,

References(Groups g_name) Varchar(100) datetime Table 4.3 Members

48

Scraps: Column Name Userid friendid scrapsub scraptext scraptime status Data Type Constraints Varchar(100) Primary Key Varchar(100) References Varchar(100) Varchar(500) datetime bit Table 4.4 Messages

Photos: Column Name id photoname Userid photocaption status DataType bigint Varchar(100) Varchar(100) Constraints Primary Key, References(Groups g_name) References(Registration userid) Varchar(100) bit Table 4.5 Photos

Files: Column Name fid G_name fname Extension fdesc fsize Creator Createdon Data Type int Varchar(50) Varchar(50) Varchar(50) Varchar(200) int Varchar(50) Constraints Primary Key References(Groups g_name)

References(Registration

userid) datetime Table 4.6 Files

49

Testimonials: Column Name id userid friendid Testimonialtext status Data Type Constraints bigint Varchar(100) Primary Key Varchar(100) Varchar(500) bit Table 4.7 Videos

50

CHAPTER 5 IMPLEMENTATION

5.1 SCREEN DESIGN OR GRAPHICAL USER INTERFACE


The system uses a very user-friendly interface developed using extended markup language (XML) and hyper text markup language (HTML). Which most users are acquitted with and is broadly used on the World Wide Web (WWW). The controls are placed on the forms in an easily accessible manner so that user strain is minimized to the maximum extent. Whenever a user enters any from the system also states the action to be performed is an easily understandable and pleasant speech. The navigation of the user from one area of the system to another is very easy using easy to access and properly placed hyperlinks which user can access on the click of a button. The system also posses a unique format for each type of employee; this ensures that employee is presented with options he has access to. This ensures a great deal of security to the system and to the organization as an employee is not given an option to carryout unauthorized activity.

51

Home Page:

52

Signup Page:

53

Signin Page

54

Browse Results Page

55

Search Results Page

Club HomePage

56

57

My Club Page

58

Create a Club Page

59

Particular Club Page

60

Post Scribble Page

61

View Scribbles Page

62

Show Scribble

63

Photo Album Page

64

Add Photo page

65

Profile Settings Page :

66

Sent Scribbles

67

Remove Friend

68

Testimonials Page

69

Send Testimonials Page:

70

View Full Profile

71

Invite Page

72

Profiles Page

73

View Profile Page

74

Change Password

75

Search Communities

76

Create Forum

77

View Forums Page

78

Create Poll

79

View Polls page

80

Edit Profile Page

81

CHAPTER 6 TESTING

6.1 TESTING CONCEPTS FOR WEB APPLICATIONS


Testing is the process of exercising software with the intent of finding (and ultimately correcting) errors. In fact, because Web-based systems and applications reside on a network and interoperate with many different operating systems and applications reside on a network and interoperate with many different operating systems, browsers (or other interface devices as PDAs or mobile phones), hardware platforms, communications protocols, and backroom applications, the search for errors represents a significant challenge. 6.1.1 Errors within a WebApp Environment: Errors encountered as a consequence of successful WebApp testing have a number of unique characteristics: Because many types of WebApp tests uncover problems that are first evidenced on the client side (i.e., via an interface implemented on a specific browser or a PDA or a mobile phone). Because a WebApp is implemented in a number of different configurations and within different environments, it may be difficult or impossible to reproduce an error outside the environment in which the error was originally encountered. Although some errors are the result of incorrect design or improper HTML (or other programming language) coding, many errors can be traced to the WebApp configuration. Because WebApps reside within client/server architecture, errors can be difficult to trace across three architectural layers: the client, the server, or the network itself.

82

Some errors are due to the static operating environment (i.e., the specific

configuration in which testing is conducted), while others are attributable to the dynamic operating environment (i.e., instantaneous resource loading or time-related errors). 6.1.2 Testing Strategy: Basic principles for software testing of WebApps are The Content Model for the WebApp is reviewed to uncover errors. The interface model is reviewed to ensure that all use-cases can be accommodated. The design model for the WebApp is reviewed to uncover navigation errors. The user interface is tested to uncover errors in presentation and/or navigation mechanics. Selected functional components are unit tested. Navigation throughout the architecture is tested. The WebApp is implemented in a variety of different environmental configurations and is tested for compatibility with each configuration. Security tests are conducted in an attempt to exploit vulnerabilities in the WebApp or within its environment. Performance tests are conducted. The WebApp is tested by a controlled and monitored population of end users; the results of their interaction with the system are evaluated for content and navigation errors, usability concerns, compatibility concerns, and WebApp reliability and performance. 6.1.3 Test Planning: A WebApp test plan identifies A task set to be applied as testing commences. The work products to be produced as each testing task are executed. The manner in which the results of testing are evaluated, recorded, and reused when regression testing is conducted.

83

6.2 THE TESTING PROCESS- OVERVIEW:


The testing process for web engineering begins with tests that exercise content and interface functionality that is immediately visible to end-users. As testing proceeds, aspects of the design architecture and navigation are exercised. The user may or may not be cognizant of these WebApp elements. Finally, the focus shifts to tests that exercise technological capabilities that are not always apparent to end-usersWebApp infrastructure and installation/implementation issues. Content Testing Interface Testing Navigation Testing Component Testing Configuration Testing Performance Testing Security Testing

84

The following figure shows the testing flow:

Content testing

Interface testing Navigation testing

User

Interface design Aesthetic design Content design Navigation design Architecture design Component design

Component testing

Configuration testing

Performance testing

Security testing

Technology

Fig 6.1 Testing Flow

85

6.3 CONTENT TESTING:


Errors in WebApp content can be as trivial as minor typological errors or as significant as incorrect information, improper organization, or violation of intellectual property laws. Content testing attempts to uncover these and many other problems before the user encounters them. 6.3.1 Content Testing Objectives: Content testing has three important objectives: To uncover syntactic errors(e.g., typos, grammar mistakes) in text-based documents, graphical representations, and other media To uncover semantic errors (i.e., errors in the accuracy or completeness of information) in any content object presented as navigation occurs To find errors in the organization or structure of content that is presented to the end-user. In our system testing In the ASP.NET technology, we have intelligence facility so that we can avoid syntactic errors while we are doing coding without putting extra effort for detecting these types of errors. Semantic testing focuses on the information presented within each content object. The tester must answer the following questions: Is the information factually accurate? Is the information concise and to the point? Is the layout of the content object easy for the user to understand? Can information embedded within a content object be found easily? Have proper references been provided for all information derived from other sources? Is the information presented consistent internally and consistent with information presented in other content objects? Is the content offensive, misleading, or does it open the door to litigation? Does the content infringe on existing copyrights or trademarks?

86

Does the content contain internal links that supplement existing content? Are the links correct? Does the aesthetic style of the content conflict with the aesthetic style of the interface? In our system: It presents a variety of information about the various communities. Content objects provide descriptive information, photographic representations and related information. We provide different ads in the websites. 6.3.2 Database Testing: Modern web applications do much more than present static content objects. In many application domains, WebApps interface with sophisticated database management systems and build dynamic content objects that are created in real-time using the data acquired from a database. In our system also, the user can view all the information containing in any community which is retrieved from the database, if the user wants to download then only he can download the photos. which is also accessed from the database and present those details in the content object. Database Testing for WebApps is complicated by a variety of factors: The original client-side request for information is rarely presented in the form that can be input to a database management system. Therefore, tests should be designed to uncover errors made by these DBMS. The database may be remote to the server that houses the WebApp. Therefore, tests that uncover errors in communication between the WebApp and the remote database should be developed. Raw data acquired from the database must be transmitted to the WebApp server and properly formatted for subsequent transmittal to the client. Therefore, tests that demonstrate the validity of the raw data received by the WebApp server should be developed, and additional tests that demonstrate the validity of the transformations applied to the raw data to create valid content objects must also be created.

87

The dynamic content objects must be transmitted to the client in a form that can be displayed to the end-user. Therefore, a series of tests should be developed to uncover errors in the content object format and test compatibility with different client environment configurations.

6.4 USER INTERFACE TESTING:


Verification and validation of a WebApp user interface occurs at three distinct points in the Web engineering process. During formulation and requirements analysis, the interface model is reviewed to ensure that it confirms to customer requirements and to other elements of the analysis model. During design, the interface model reviewed to ensure that generic quality criteria established for all user interfaces have been achieved and that application-specific interface design issues have been properly addressed. During testing, the following shifts to the execution of application-specific aspects of user interactions as they are manifested by interface syntax and semantics. In addition, testing provides final assessment usability. 6.4.1 Interface Testing Strategy: Interface features like colors, frames, images, borders, tables, and related elements that are generated as WebApp execution proceeds, are tested to ensure the design rules. Each interface mechanism is tested within the context of a usecase for a specific user category. The complete interface is tested against selected usecases. Individual Interface mechanisms are tested in a manner that is analogous to unit testing. 6.4.2 Testing Interface Mechanisms: Links: Each navigation link is tested to ensure that the proper content object or function is reached. Forms: The following tests are performed to ensure that

88

Labels correctly identify fields within the form and that mandatory fields are identified visually for the user. The server receives all information contained within the form and that no data are lost in the transmission between client and server. Appropriate defaults are used when the user does not select from a pull-down menu or set of buttons. Browser functions (e.g., back arrow) do not corrupt data entered in a form. Scripts that perform error checking on data entered work properly and provide meaningful error messages. In our system, for login if the user is unauthorized, invalid user message will come and it is tested properly. Browser auto-fill features do not lead to data input errors. In our system, the Date of birth fields are initially none, no default date is provided there, if the user did not select those fields an error message will be displayed. The tab key (or some other key) initiates proper movement between form fields. In our system, in the reservation and booking forms, initially we have 3 text boxes and they are placed into the form in different order then we faced a problem there, the fields are first name, then email id and then address like that, they are looking in that format in the form but while designing the form we placed textbox2 for the address textbox, if we pressed tab after name filed it would go to the address textbox without going to the email textbox. We have resolved the problem by placing the textbox2 against email.

6.5 COMPONENT-LEVEL TESTING:


Component-level testing also called function testing, focuses on a set of tests that attempt to uncover errors in WebApp functions. Each WebApp function is a software module is a software module and can be tested using black-box testing and in some cases white-box testing techniques. Component-level test cases are often driven by forms-level input. Once forms data are defined, the user selects a button or other control mechanism to initiate execution. The following test case design methods are used: Equivalence Partitioning: The input domain of the function is divided into input categories or classes from which test cases are derived. The input form is assessed to

89

determine what classes of data are relevant for the function. Test cases for each class of input are derived and executed while other classes of input are held constant.

90

Test cases in our system are as follows: Test Case# : 1 Priority(H,L): High Test Objective: Correct login details. Test Description: Userid and password are checked Requirements Verified: Userid and password are checked in the database Test Environment: Internet Explorer Test setup or Pre-conditions: User initiates any control mechanism like Submit or Go buttons Actions Incorrect login Expected Results A message Invalid userid/password will be displayed and allows the user to reenter the information. Correct Login Pass: Yes PrP Problems or issues: Nil Enter into the Home Page. Conditional Pass: Fail: Table 6.1 Test Case 1

91

Test Case# : 2 Priority(H,L): High Test Objective: For registration; to let the user enter all the required fields Test Description: All the necessary fields are checked Requirements Verified: All the necessary fields should be entered Test Environment: Internet Explorer Test setup or Pre-conditions: User initiates any control mechanism like Submit or Go buttons Actions Incomplete Necessary fields Expected Results Red colored * symbols will come against the incomplete fields and the user is allowed to complete those fields and form will not be submitted until that has been done. Completion of all the necessary fields Just check and go to sign in page. Pass: Yes Conditional Pass: Fail: PrP Problems or issues: Nil Table 6.2 Test Case 2 Test Case# : 3 Priority(H,L): High Test Objective: user joining into particular community. Test Description: is a member or not. Requirements Verified: whether user is joined is verified Test Environment: Internet Explorer Test setup or Pre-conditions: User should click join button. Actions Expected Results User is not signed in Sign in page is displayed User is signed in Pass: Yes PrP Problems or issues: Nil User is joined into community. Conditional Pass: Table 6.3 Test Case 3 Test Case# : 4 Priority(H,L): High Test Objective: Login user only allowed requesting services provided by communities. Test Description: Accessing permissions Requirements Verified: Login status should be verified Test Environment: Internet Explorer Test setup or Pre-conditions: If user tries to request services. Actions Expected Results In login status User should be able to request services. Fail:

92

If not in the login status Pass: Yes PrP Problems or issues: Nil

All services are disabled. Conditional Pass: Fail: Table 6.4 Test Case 4

Test Case# : 5 Priority(H,L): High Test Objective: User is provided to create a new community. Test Description: group name is checked. Requirements Verified: group name is compared with the existing group names. Test Environment: Internet Explorer Test setup or Pre-conditions: user has to enter the details. Actions Expected Results Group name already exists Message community name already exists is displayed. Group name is valid Pass: Yes PrP Problems or issues: Nil Continue process. Conditional Pass: Table 6.5 Test Case 5 Fail:

93

Test Case# : 6 Priority(H,L): High Test Objective: user leaving from a particular community. Test Description: Requirements Verified: whether user has joined any community is verified Test Environment: Internet Explorer Test setup or Pre-conditions: User should click leave button. Actions Expected Results User is not signed in Sign in page is displayed User is signed in Pass: Yes PrP Problems or issues: Nil User is joined into community. Conditional Pass: Table 6.6 Test Case 6 Test Case#: 7 Priority(H,L): High Test Objective: user deleting a particular group. Test Description: deleting messages, photos, scraps, communities and members. Requirements Verified: checking whether the user created the community. Test Environment: Internet Explorer Test setup or Pre-conditions: select the groups and click delete button. Actions Expected Results user name is valid Delete all the messages, files, scraps, photos and members present in the Pass: Yes PrP Problems or issues: Nil particular group. Conditional Pass: Table 6.7 Test Case 7 Fail: Fail:

94

Test Case#: 8 Priority(H,L): High Test Objective: user editing a particular group. Test Description: Update the description. Requirements Verified: checking whether the user only created the group. Test Environment: Internet Explorer Test setup or Pre-conditions: enter the field and click the edit button. Actions Expected Results Group name is valid Description is updated. Pass: Yes Conditional Pass: Fail: PrP Problems or issues: Nil Table 6.8 Test Case 8

95

Boundary Value Analysis: Forms data are tested at their boundaries. In our system: Variable Name password email-id Group name Description Minimum value 1 character 6 characters Approximately Maximum Value 50characters 30characters 10

characters 1 50 1 200 Table 6.9 Bounday Value Analysis

6.6 NAVIGATION TESTING:


The job of navigation Testing is To ensure that the mechanisms that allow the WebApp user to travel through the WebApp are all functional and To validate that each navigation semantic unit can be achieved by the appropriate user category. 6.6.1 Testing Navigation Syntax: Navigation links: Internal links within the WebApp, external links to other WebApps and anchors within a specific Web page should be tested to ensure that proper content or functionality is reached when the link is chosen. Redirects: these links come into play when a user requests a nonexistent URL or selects a link whose destination has been changed. We have tested this by accessing the incorrect internal links and the test is completed successfully.

96

6.7 CONFIGURATION TESTING:


This attempt to uncover errors that are specific to a particular client or server environment. A cross-reference matrix that defines all probable operating systems, browsers, hardware platforms, and communication protocols is created. Tests are then conducted to uncover errors associated with each possible configuration.

6.8 SECURITY TESTING:


It incorporates a series of tests designed to exploit vulnerabilities in the WebApp and its environment. The intent is to demonstrate that a security breach is possible.

6.9 PERFORMANCE TESTING:


It encompasses a series of tests that are designed to assess (1) How the WebApp response time and reliability are affected by increased user traffic, (2)Which WebApp components are responsible for performance degradation and what usage characteristics cause degradation to occur, and (3) How performance degradation impacts overall WebApp objectives and requirements.

CHAPTER 7 CONCLUSION

GNITS Vibes is a web site which is developed to allow users to share scribbles, photos, and private messages, .We provide these facilities which are very essential for the users working in groups. The system has been tested with sample data covering all possible options and its performance is good and is found to work effectively and efficiently. 7.1 FUTURE ENHANCEMENTS: This project can further be extended by providing e-mail services mobile alerts.

- 97 -

BIBLIOGRAPHY
[1] .Dietel, Dietel and Nieto, Internet and World Wide Web-how to program, Student Edition. [2]. Elmasri and Navathe, Fundamentals of Database Systems, 3rd edition, Addison Wesley, Pearson Education, Inc.2000 [3]. Pressman, Software Engineering-A Practitioners Approach, Sixth Edition, McGraw-Hill International [4]. Wrox, Professional ASP.NET 2.0, Special Edition

WEB REFERENCES
[1]. http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/gridview.aspx [2]. http://authors.aspalliance.com/aldotnet/examples/perldotnet.aspx [3]. http://www.aspfree.com/ [4]. http://msdn.microsoft.com [5]. http://groups.yahoo.com [6]. http://groups.google.com

- 98 -

Вам также может понравиться