You are on page 1of 60

JAN-MAY 2013

PROJECT REPORT ON

HOSPITAL MANAGEMENT SYSTEM

SUBMITTED AS PARTIAL FULFILLMENT OF REQUIREMENTS FOR THE AWARD OF

THE THREE YEAR DIPLOMA IN COMPUTER ENGINEERING

PROJECT GUIDE: SUBMITTED BY: ER. DALEEP KOHLI ( H.O.D) 2762

KETAN SHARMA ROLL NO:-

NATIONAL INSTITUTE OF TECHNOLOGY & SCIENCE, JAMMU

CERTIFICATE
This is to certify that Project entitled Hospital Management System is a bonafide work of KETAN SHARMA and has been carried out under our supervision & guidance. Submitted as partial fulfillment of the requirement for the award of Diploma in Computer Engineering during academic year 2013 awarded by J & K State Board Of Technical Education

Project Guide:

Er. Daleep Kohli

Project Profile
Project Title Project Guide Hospital Management System
Er. Daleep Kohli

Technical Specification

Processor RAM HARD DISK

1 Ghz & above 256 DDR 2 RAM 80 GB

NO. OF COMPUTERS - 2 onwards

SOFTWARE ENVIRONMENT
Operating System Backend Frontend Case Tool Front Page - Windows XP/2000. - Microsoft Access - ASP.NET with VB.NET - Microsoft Word 2003, Ms

Project Duration Submitted to:

8 weeks MBSCET

CHAPTER - 1
o Introduction o Objective o System Development LifeCycle

Introduction
Our Project is Hospital Management System, through which we are trying to automate . The main feature of this hospital management system is that it will provide Hospital Authorities with a much easier way to manage patient records an will remove unnecessary file and papers. We will be developing the Hospital Mangement Software and will also provide hospital authorities Physical Network so that the software can be managed over the network from any corner of the hospital.

CHAPTER 1

SYSTEM DEVELOPMENT LIFE CYCLE

1. System Development Life Cycle


The basic idea of software development life cycle (SDLC) is that there is a well defined process by which an application is conceived, developed and implemented. The phases in the SDLC provide a basis for the management and control because they define segments of the flow of work, which can be identified for the managerial purpose and specifies the documents or other deliveries to be produced in each phase. System Development revolves around a life cycle that begins with the recognition of user needs. In order to develop good software, it has to go through different phases. There are various phases of the System Development Life Cycle for the project and different models for software development, which depict these phases. We decided to use waterfall model, the oldest and the most widely used paradigm for software engineering. The Various relevant stages of the System Life Cycle of this Application Tool are depicted in the following flow diagram.

SYSTEM ANAYLSIS

SYSTEM DESIGN

CODING

SYSTEM TESTING

SYSTEM IMPLEMENTATION

SYSTEM MAINTENANCE

Let us have a look on each of the above activities: 1. System Analysis System Analysis is the process of diagnosing situations, done with a defiant aim, with the boundaries of the system kept in mind to produce a report based on the findings. Analysis is fact-finding techniques where problem definition, objective, system requirement specifications, feasibility

analysis and cost benefit analysis are carried out. The requirement of both the system and the software are document and reviewed with the user. 2. System Design System Design is actually a multistep process that focuses on four distinct attributes of a program: data structures, software architecture, interface representations, and procedural (algorithmic) detail. System design is concerned with identifying the software components (Functions, data streams, and data stores), specifying relationships among components, specifying software structure, maintaining a record of design decisions and providing a blueprint for the implementation phase.

3. Coding
Coding step performs the translations of the design representations into an artificial language resulting in instructions that can be executed by the computer. It thus involves developing computer programs that meet the system specifications of design stage.

4. System Testing
System testing process focuses on the logical internals of the software, ensuring that all statements have been tested on the functional externals, that is conducting tests using various tests data to uncover errors that defined input will produce actual results that agree with required results.

5. System Implementation
System Implementation is a process that includes all those activities that take place to convert an old system to a new system. The new system may be totally new system replacing the existing system or it may be major modification to the existing system. Coding performs the translations of

the design

representations into an artificial

language

resulting in

instructions that can be executed by the computer. It thus involves developing computer programs that meet the system design specifications. System implementation involves the translation of the design specifications into source code and debugging, documentation and unit testing of the source code.

6. System Maintenance
Maintenance is modification of a software product after delivery to correct faults to improve performance or to adopt the product to a new operating environment. Software maintenance canot be avoided due to ware & tear caused by users. Some of the reasons for maintaining the software are 1. Over a period of time, software original requirements may change. 2. Errors undetected during software development may be found during user & require correction. 3. With time new technologies are introduced such as hardware, operating system etc. The software therefore must be modified to adapt new operating environment. Type of Software Maintenance Corrective Maintenance: This type of maintenance is also called bug fixing that may observed while the system is in use i.e correct reported errors. Adaptive Maintenance: This type of maintenance is concern with the modification required due to change in environment. (i.e external changes like use in different hardware platform or use different O.S. Perfective Maintenance: Perfective maintenance refers to enhancement to the software product there by adding or support to new features or when

user change different functionalities of the system according to customer demands making the product better, faster with more function or reports. Preventive Maintenance: This type of maintenance is done to anticipate future problems and to improve the maintainability to provide a better basis for future enhancement or business changes.

SYSTEM ANAYLSIS
1.1.1 Objective of the Project
Our Project Hospital Mangement is a Web Based Intranet Application for manging the day to day work of a Hospital. The main modules of this Software will Blood Bank Mangement, Donor Mangement, Doctor Database and Duties Management, Labour Room and Ward Management.

1.1.2 Proposed System


The Proposed system will have the following features: Internetworking & Server: This is the Physical module where in we will lay the network in the said hospital and connect the different systems together in a LAN, so the data can seamlessly flow over to different computers, we will alos create a Server which will act as Web Application Server and host our Application, All other computers will be connected to this particular server and will feed & fetch data from this System. Patient Database Management: This module will enable the administrator to create patient records and update them on need basis all patient information, prescriptions, test reports etc will be able to store in this database, this database can be viewed by doctors and other attendant by just punching the patient ID. There will alos be a search Module which will enable search patient records based on part of patients name or intials.

Doctor Datbase Mangement: This module will primarily provide manage doctor Information, their duty week days and timings. This will also be completely searchable module. Blood Bank Management: This is the most important Module of our Project, it has the following features: Blood Bank Status Database: This module will enable the user to search blood bank records on basis of Blood Group, RH Factor etc. The user will be able to get information regarding no. of units present per blood group along with all related information. There will also be a data feeding module which will enable the administrator to feed data into the system. Donor Mangement: This module will carry information about the donors and their blood donations each unit of blood will be assigned a unique serial No. which will enable doctors to track the donor and patient to whom the blood is being tranfussed as all this information is stored in a centralized database. Reporting System: This system will enable users to get detailed report on Blood Bank Operations, Tranfussion Services, also report any problem with any blood unit having a particular serial no. so that the donor may be tracked and no further blood from that donor is given to any other patient. Labour Room and Ward Management: This will enable users to feed and fetch data regarding day to day working of the labour room.

1.1.3 Scope of Project


Computer as it came Changed our Lives Altogether Now a Days Computers are finding their place in every nook and corner of our life, we are trying to implement the automated system in the hospital which files and all paper records will be removed. The Supridentent and Medical Record Officer will be able to view the labour room operations and Blood bank information rigfht across their computers. Thus in this way their there will be complete automation of hostpital labour room and blood bank.

1.1.4 Advantages of the Proposed System


The various advantages of the proposed System are: Centralised Data Storage. Esay of Use through Better GUI. Database Searching facility provided for the users to search the data on various Criterias. Reporting Analysis for Blood Bank Management.

1.1.5 Limitations of the Proposed System:


In our Project we wanted to interconnect all of the hospitals across Jammu Division, so that the patient database could be shared so that a patient can visit any hospital and the doctors there could see his past record, medical test reports etc which were taken prviosly in some other hospital. But due to lack of interconnectivity in between hospitals the feature could not be implemented as of now as several hospitals still lack internet facilities. Also we were proposing a Video Conferencing based diagnostic system where in patients can remotely

get diagnosed for problems from any remote place but that is also not currently feasible due to lack of connectivity.

1.1.6 REQUIREMENT ANALYSIS


Software requirement analysis is a software-engineering task that bridges the gap between system level software allocation and software design. For Developing our Travel Portal in-depth analysis was deon. The analysis was divided into the following three Parts. Problem Recognition Evaluation and Synthesis Specification & Review

Problem Recognition The aim of the poroject was understood and through research was done on internet to get a deep insight of how the proposed system will work, we went to different travel related sites and understood their working. We recorded what all features will be required when we build our website like for eg. We need to keep a database of Blood Bank, Donors. All these features were noted down so that they could be incorporated in our application.

Evaluation and Synthesis Problem evaluation and solution synthesis was the next major area of effort. It was in this step that all externally observable data objects, evaluation of flow and content of information was defined. It was decided in this phase that how our application will look and works, what parameters it will take and what it will return.

Specification & Review The main objective is to improve the quality of software that can be done by inspection or walkthrough of formal technical reviews. The main objective is To uncover errors in function, logfics or implementation. Verify software under revies to meet requirement specification. Ensure that software has been represented according to predefined standards. Achive software development in uniform manner Make projexct more meaningfull.

1.1.7 FEASIBILITY STUDY


The feasibility study is carried out to test if the proposed system is worth being implemented. Given unlimited and infinite time, all projects are feasible. Unfortunately such resources and time are not possible in real life situations. Hence it becomes both necessary and prudent to evaluate the feasibility of the project at the earliest possible time in order to avoid unnecessarily wastage of time, effort and professional embarrassment over an ill conceived system. Feasibility study is a test of system proposed regarding its work ability, impact on the organization ability to meet the user needs and effective use of resources. The main objective of feasibility study is to test the technical, operational and economical feasibility of developing a computer system Application. The following feasibility studies were carried out for the proposed system: Economic Feasibility: An evaluation of development cost weighed against the income of benefit derived from the developed system. Here

the development cost is evaluated by weighing it against the ultimate benefits derived from the new system. The proposed system is economically feasible if the benefits obtained in the long run compensate rather than overdo the cost incurred in designing and implementing. In this case the benefits outweigh the cost that makes the system economically feasible. Technical Feasibility: A study of function performance and constraints that may affect the ability to achieve the acceptable system. A system is technically feasible, if it can be designed and implemented within the limitations of available resources like funds, hardware, software etc. The considerations that are normally associated with technical feasibility include development risk, resources availability and technology. Management provides latest hardware and software facilities for successful completion of the project. The proposed system is technically feasible as the Technology we are using to implement the Project (i.e. ASP.NET) is fully capable to implement our projects requirement analysis that was performed in the analysis section. Operational Feasibility: The Project is Operationally Feasilbe as it can b implemented easily on to a webserver also we can see that as it is some thing for general public that will make it more popular as a complete travel information Website. Behavioral Feasibility: An evaluation of the behavior of the end users, which may effect the development of the system. The user show minimal resistance to change, but they are satisfied with functionality provided in the proposed system.

Motivational Feasibility: Evaluation of organization motivation to support the development and implementation of project. Organizational motivation was always there through out the project. Schedule Feasibility: Evaluates the time taken in the development of the project. The system had schedule feasibility.

1.2 SYSTEM DESIGN

1.2.1 DESIGN CONCEPTS


The design of an information system produces the detail that state how a system will meet the requirements identified during system analysis. System specialists often refer to this stage as Logical Design, in contrast to the process of development program software, which is referred to as Physical Design. System Analysis begins process by identifying the reports and the other outputs the system will produce. Then the specific on each are pin pointed. Usually, designers sketch the form or display as they expect it to appear when the system is complete. This may be done on a paper or computer display, using one of the automated system tools available. The system design also describes the data to be input, calculated or stored. Individual data items and calculation procedures are written in detail. The procedure tells how to process the data and produce the output.

1.2.2 DESIGN OBJECTIVES


The following goals were kept in mind while designing the system: To reduce the manual work required to be done in the existing system. To avoid errors inherent in the manual working and hence make the outputs consistent and correct. To improve the management of permanent information of the Computer center by keeping it in properly structured tables and to provide facilities to update this information efficiently as possible. To make the system completely menu-driven and hence user friendly, and hence user friendly, this was necessary so that even nonprogrammers could use the system efficiently.

To make the system completely compatible i.e., it should fit in the total integrated system. To design the system in such a way that reduced future maintenance and enhancement times and efforts. To make the system reliable, understandable and cost effective.

1.2.3 DESIGN MODULES


Internetworking & Server: This is the Physical module where in we will lay the network in the said hospital and connect the different systems together in a LAN, so the data can seamlessly flow over to different computers, we will alos create a Server which will act as Web Application Server and host our Application, All other computers will be connected to this particular server and will feed & fetch data from this System. Patient Database Management: This module will enable the administrator to create patient records and update them on need basis all patient information, prescriptions, test reports etc will be able to store in this database, this database can be viewed by doctors and other attendant by just punching the patient ID. There will alos be a search Module which will enable search patient records based on part of patients name or intials. Doctor Datbase Mangement: This module will primarily provide manage doctor Information, their duty week days and timings. This will also be completely searchable module. Blood Bank Management: This is the most important Module of our Project, it has the following features: Blood Bank Status Database: This module will enable the user to search blood bank records on basis of Blood Group, RH Factor etc. The user will be able to get information regarding no. of units present per blood group along with all related information. There

will also be a data feeding module which will enable the administrator to feed data into the system. Donor Mangement: This module will carry information about the donors and their blood donations each unit of blood will be assigned a unique serial No. which will enable doctors to track the donor and patient to whom the blood is being tranfussed as all this information is stored in a centralized database. Reporting System: This system will enable users to get detailed report on Blood Bank Operations, Tranfussion Services, also report any problem with any blood unit having a particular serial no. so that the donor may be tracked and no further blood from that donor is given to any other patient. Labour Room and Ward Management: This will enable users to feed and fetch data regarding day to day working of the labour room.

SYSTEM DESIGN
The design stage takes the final specification of the system from analysis stages and finds the best way of filing them, given the technical environment and previous decision on required level of automation. The system design is carried out in two phases: i) ii) Architectural Design (High Level Design) Detailed Design (Low Level Design)

1.2.4 ARCHITECTURAL DESIGN


The high level Design maps the given system to logical data structure . Architectural design involves identifying the software component, decoupling and decomposing the system into processing modules and conceptual data structures and specifying the interconnection among components. Good notation can clarify the interrelationship and interactions if interest, while poor notation can complete and interfere with good design practice. A data flow-oriented approach was used to design the project. This includes Entity Relationship Diagram (ERD) and Data Flow Diagrams (DFD).

1.2.4.1

Entity Relationship Diagram

One of the best design approaches is Entity Relationship Method. This design approach is widely followed in designing projects normally known as Entity Relationship Diagram (ERD).

ERD helps in capturing the business rules governing the data relationships of the system and is a conventional aid for communicating with the end users in the conceptual design phase. ERD consists of: Entity It is the term use to describe any object, place, person, concept, activity that the enterprise recognizes in the area under investigation and wishes to collect and store data. It is diagrammatically represented as boxes. Attribute They are the data elements that are used to describe the properties that distinguish the entities. Relationship It is an association or connection between two or more entities. They are diagrammatically represented as arrows. A Unary relationship is a relationship between instances of the same entity. A Binary relationship is a relationship between two entities. A N-ary relationship is a relationship among N entities. It is defined only when the relationship does have a meaning without the participation of all the N entities. Degree of Relationship An important aspect of relationship between two or more entities is the degree of relationship. The different relationships recognized among various data stores in the database are: One-to-One (1:1) It is an association between two entities. For example, each student can have only one Roll No.

One-to-Many (1:M) It describes entities that may have one or more entities related to it. For example, a father may have one or many children. Many-to-Many (M:M) It describes entities that may have relationships in both directions. This relationship can be explained by considering items sold by Vendors. A vendor can sell many items and many vendors can sell each item.

ERD representation of the project is given below.

Entity Relationship Diagram

1.2.4.2

Context Analysis Diagram

Context Analysis Diagram (CAD) is the top-level data flow diagram, which depicts the overview of the entire system. The major external entities, a single process and the output data stores constitute the CAD. Though this diagram does not depict the system in detail, it presents the overall inputs, process and the output of the entire system at a very high level. The Context Analysis Diagram if the project is given ahead.

Context Level Data Flow Diagram

Doctors/ Admin

Hospital Management

Users/Atten dents

1.2.4.3

Data Flow Diagrams

A Data Flow Diagram (DFD) is a graphical tool used to describe and analyze the movement of data through a system manual or automated including the processes, stores of data and delays in the system. They are central tools and the basis from which other components are developed. It depicts the transformation of data from input to output through processes and the interaction between processes. Transformation of data from input to output through processes logically and independent of physical components is called the DFD. The physical DFD shows the actual implementation and movement of data between people, departments and workstation. DFDs are an excellent mechanism of communicating with the customers during requirement analysis and are widely used for representing external and top-

level internal design specification. In the Later situations, DFDs are quite valuable for establishing naming conventions and names of system components such as subsystems, files and data links.

In a DFD there are four components:

1. Sources or Destinations of data such as human, entities that interact with system, outside the system boundary, who form the source and the recipient of information are depicted in the form of a closed rectangle. 2. Data flow is a packet of data. It identifies data flow. It is a pipeline through which information flows. It is depicted in DFD as an arrow with the pointer pointing in the direction of flow. This connecting symbol connects an entity, process and data stores. This arrow mark also specifies the sender and the receiver. 3. Process depicts procedure, function or module that transform input data into output data. It is represented as a circle or a bubble with the procedure name and a unique number inside the circle. 4. Data stores are the physical areas in the computers hard disk where a group of related data is stored in the form of files. They are depicted as an open-ended rectangle. The Data store is used either for storing data into the files or for reference purpose.

Class Diagram

1.2.5 DETAILED DESIGN


The Low Level Design maps the logical model of the system to a physical database design. Tables created for the system Entities and Attributes were mapped into Physical tables. The name of the entity is taken as the table name. During detailed design phase, the database if any and programming modules are designed and detailed user procedures are documented. The interfaces between the System users and computers are also defined.

1.2.5.1 APPLICATION DESIGN


After the detailed problem definition and system analysis of the problem, it was thought of designing web based Computer designing. Simplicity is hard to design. It is difficult to design something that is technically sophisticated but appears simple to use. Any software product must be efficient, fast and functional but more important it must be user friendly, easy to learn and use. For designing good interface we should use the following principles. i) ii) iii) iv) Clarity and consistency Visual feedback. Understanding the people. Good response.

MODULES
The software has been designed in a modular manner. There is a separate module for the every function of the System. These are then integrated to build an easy to use system.

The various Modules of the Software were identified as: Internetworking & Server: This is the Physical module where in we will lay the network in the said hospital and connect the different systems together in a LAN, so the data can seamlessly flow over to different computers, we will alos create a Server which will act as Web Application Server and host our Application, All other computers will be connected to this particular server and will feed & fetch data from this System. Patient Database Management: This module will enable the administrator to create patient records and update them on need basis all patient information, prescriptions, test reports etc will be able to store in this database, this database can be viewed by doctors and other attendant by just punching the patient ID. There will alos be a search Module which will enable search patient records based on part of patients name or intials. Doctor Datbase Mangement: This module will primarily provide manage doctor Information, their duty week days and timings. This will also be completely searchable module. Blood Bank Management: This is the most important Module of our Project, it has the following features: Blood Bank Status Database: This module will enable the user to search blood bank records on basis of Blood Group, RH Factor etc. The user will be able to get information regarding no. of units present per blood group along with all related information. There will also be a data feeding module which will enable the administrator to feed data into the system. Donor Mangement: This module will carry information about the donors and their blood donations each unit of blood will be assigned a unique serial No. which will enable doctors to track the donor and

patient to whom the blood is being tranfussed as all this information is stored in a centralized database. Reporting System: This system will enable users to get detailed report on Blood Bank Operations, Tranfussion Services, also report any problem with any blood unit having a particular serial no. so that the donor may be tracked and no further blood from that donor is given to any other patient. Ward Management: This will enable users to feed and fetch data regarding day to day working of the labour room.

WORKING ENVIRONMENT
2.1 Technical Specifications

HARDWARE ENVIRONMENT

PC with the following Configuration Processor RAM HARD DISK FDD Pentium-IV 3.0 GHz 256 DDR 2 RAM 80 GB 1.44MB

SOFTWARE ENVIRONMENT

Operating System Backend Frontend Case Tool

Microsoft Windows XP. Microsoft Access ASP.NET Say Microsoft Word 2003, Ms Front Page

Technology Used: ASP.NET

We have used the Latest Technology from Microsoft: The ASP.NET to develop our Application. What are Web Applications? These applications provide content from a server to client machines over the Internet. Users view the Web application through a Web browser. How Web Applications Work Web applications use a client/server architecture. The Web application resides on a server and responds to requests from multiple clients over the Internet, as shown in Figure 1-1.

Figure 1-1. ASP.NET Web application architecture On the client side, the Web application is hosted by a browser. The applications user interface takes the form of Hypertext Markup Language (HTML) pages that are interpreted and displayed by the clients browser. On the server side, the Web application runs under Microsoft Internet Information Services (IIS). IIS manages the application, passes requests from clients to the application, and returns the applications responses to the client. These requests and responses are passed across the Internet using Hypertext Transport Protocol (HTTP). A protocol is a set of rules that describe how two or more items communicate over a medium, such as the Internet. Figure 1-2 shows how the client and server interact over the Internet.

Figure 1-2. Client/server interaction in a Web application The Web application composes responses to requests from resources found on the server. These resources include the executable code running on the server (what we traditionally think of as the application in Microsoft Windows programming), Web forms, HTML pages, image files, and other media that make up the content of the application. Web applications are much like traditional Web sites, except that the content presented to the user is actually composed dynamically by executable, rather than being served from a static page stored on the server. Figure 1-3 shows how a Web application composes the HTML returned to a user.

Figure 1-3. An ASP.NET Web application response from server resources The executable portion of the Web application enables you to do many things that you cant do with a static Web site, such as:

Collect information from the user and store that information on the server Perform tasks for the user such as placing an order for a product, performing complex calculations, or retrieving information from a database

Identify a specific user and present an interface that is customized for that user

Present content that is highly volatile, such as inventory, pending order, and shipment information This is only a partial list. Basically, you can do anything with a Web application that you can imagine doing with any client/server application. What makes a Web application special is that the client/server interaction takes place over the Internet.

What ASP.NET Provides ASP.NET is the platform that you use to create Web applications and Web services that run under IIS. ASP.NET is not the only way to create a Web application. Other technologies, notably the CGI, also enable you to create Web applications. What makes ASP.NET special is how tightly it is integrated with the Microsoft server, programming, data access, and security tools. ASP.NET provides a high level of consistency across Web application development. In a way, this consistency is similar to the level of consistency that Microsoft Office brought to desktop applications. ASP.NET is part of the .NET Framework and is made up of several components.

Visual Studio .NET Web development tools. These include visual tools for designing Web pages and application templates, project management, and deployment tools for Web applications.

The System.Web namespaces. These are part of the .NET Framework and include the programming classes that deal with Web-specific items such as HTTP requests and responses, browsers, and e-mail.

Server and HTML controls. These are the user-interface components that you use to gather information from and provide responses to users.

In addition to the preceding components, ASP.NET also uses the following, more general programming components and Windows tools. These items arent part of ASP.NET. However, they are key to ASP.NET programming.

Microsoft Internet Information Services (IIS). As mentioned in the previous section, IIS hosts Web applications on the Windows server.

The Microsoft Visual Basic .NET, Microsoft Visual C#, and Microsoft Visual J# programming languages. These three languages have integrated support in Visual Studio .NET for creating Web applications.

The .NET Framework. This is the complete set of Windows programming classes, including the ASP.NET classes as well as classes for other programming tasks such as file access, data type conversion, array and string manipulation, and so on.

Microsoft ADO.NET database classes and tools. These components provide access to Microsoft SQL Server and ODBC databases. Data access is often a key component of Web applications.

Microsoft Application Center Test (ACT). This Visual Studio .NET component provides an automated way to stress-test Web applications.

ASP.NET is the most complete platform for developing Web applications that run under IIS. However, it is important to remember that ASP.NET is not platform-independent. Because it is hosted under IIS, ASP.NET must run on Windows servers. To create Web applications that run on non-Windows/IIS servers, such as Linux/Apache, you must use other toolsgenerally CGI. Advantages of ASP.NET ASP.NET has many advantages over other platforms when it comes to creating Web applications. Probably the most significant advantage is its integration with the Windows server and programming tools. Web applications created with ASP.NET are easier to create, debug, and deploy because those tasks can all be performed within a single development environmentVisual Studio .NET. ASP.NET delivers the following other advantages to Web application developers:

Executable portions of a Web application compiled so they execute more quickly than interpreted scripts On-the-fly updates of deployed Web applications without restarting the server

Access to the .NET Framework, which simplifies many aspects of Windows programming

Use of the widely known Visual Basic programming language, which has been enhanced to fully support object-oriented programming

Introduction of the new Visual C# programming language, which provides a type-safe, object-oriented version of the C programming language

Automatic state management for controls on a Web page (called server controls) so that they behave much more like Windows controls

The ability to create new, customized server controls from existing controls

Built-in security through the Windows server or through other authentication/authorization methods

Integration with ADO.NET to provide database access and database design tools from within Visual Studio .NET

Full support for Extensible Markup Language (XML), cascading style sheets (CSS), and other new and established Web standards

Built-in features for caching frequently requested Web pages on the server, localizing content for specific languages and cultures, and detecting browser capabilities Parts of a Web Application A Web application consists of three parts: content, program logic, and Web configuration information. Table 1-2 summarizes these parts and gives examples of where they reside in an ASP.NET Web application. Table 1-2. Parts of an ASP.NET Web Application

Part Content

Types of files

Description

Web forms, HTML, Content files determine the appearance of a images, audio, Web application. They can contain static text and images as well as elements that are composed on the fly by the program logic (as video, other data

Table 1-2. Parts of an ASP.NET Web Application Part Types of files Description in the case of a database query). The Executable scripts program logic determines how the

application responds to user actions. ASP.NET Program logic files, Web applications have a dynamic-link library (DLL) file that runs on the server, and they can also include scripts that run on the client machine. Web configuration Configuration file, style sheets, IIS settings The configuration files and settings determine how the application runs on the server, who has access, how errors are handled, and other details.

The Web form is the key element of a Web application. A Web form is a cross between a regular HTML page and a Windows form. It has the same appearance as and similar behavior to an HTML page, but it also has controls that respond to events and run code, like a Windows form. In a completed Web application, the executable portion of the Web form is stored in an assembly (.dll) that runs on the server under the control of the ASP.NET worker process (asp_wp.exe), which runs in conjunction with IIS. The content portion of the Web form resides in a content directory of the Web server, as shown in Figure 1-4.

Figure 1-4. ASP.NET Web application parts on a Web server When a user navigates to one of the Web forms from his or her browser, the following sequence occurs: 1. IIS starts the ASP.NET worker process if it is not already running. The ASP.NET worker process loads the assembly associated with the Web form. 2. The assembly composes a response to the user based on the content of the Web form that the user requested and any program logic that provides dynamic content. 3. IIS returns the response to the user in the form of HTML. Once the user gets the requested Web form, he or she can enter data, select options, click buttons, and use any other controls that appear on the page. Some controls, such as buttons, cause the page to be posted back to the server for event processing, and the sequence repeats itself, as shown in Figure 1-5.

Figure 1-5. How the parts interact This cycle of events is described in greater detail in Lesson 2 of Chapter 2, Creating Web Forms Applications. Web Form Components Web forms can contain several different types of components, as summarized in Table 1-3. Table 1-3. Components on a Web Form Component Examples Description These controls respond to user events by running event procedures on the Server controls TextBox, Label, Button, server. Server controls have built-in ListBox, DataGrid DropDownList, features for saving data that the user enters between page displays. You use server controls to define the user interface of a Web form. HTML Text Area, Table, Image, These represent the standard visual

Table 1-3. Components on a Web Form Component Examples Description elements provided in HTML. HTML controls Submit Button Button, Reset controls are useful when the more complete feature set provided by server controls is not needed. SqlConnection, Data controls SqlCommand, OleDbConnection, Data controls provide a way to connect to, perform commands on, and retrieve data from SQL and OLE databases and

OleDbCommand, DataSet XML data files. System FileSystemWatcher, These components provide access to various system-level events that occur on the server.

components EventLog, MessageQueue

You use the server and HTML controls to create the user interface on a Web form. The data controls and system components appear on the Web form only at design time to provide a visual way for you to set their properties and handle their events. At run-time, data controls and system components do not have a visual representation. Figure 1-6 shows a Web form containing components.

Figure 1-6. A Web form with components Chapter 4, Creating a User Interface, provides more detail about using server and HTML controls on a Web form. The .NET Framework ASP.NET is an important part of the .NET Framework, but it is just one part. Understanding what else the .NET Framework provides will help you program your ASP.NET application effectively and avoid writing new code to perform tasks that are already implemented within the .NET Framework.

First, a little background. The .NET Framework is the new Microsoft programming platform for developing Windows and Web software. It is made up of two parts:

An execution engine called the common language runtime (CLR) A class library that provides core programming functions, such as those formerly available only through the Windows API, and application-level functions used for Web development (ASP.NET), data access (ADO.NET), security, and remote management .NET applications arent executed the same way as the traditional Windows applications you might be used to creating. Instead of being compiled into an executable containing native code, .NET application code is compiled into Microsoft intermediate language (MSIL) and stored in a file called an assembly. At run time, the assembly is compiled to its final state by the CLR. While running, the CLR provides memory management, type-safety checks, and other run-time tasks for the application. Figure 1-7 shows how this works.

Figure 1-7. How a .NET application runs Applications that run under the CLR are called managed code because the CLR takes care of many of the tasks that would have formerly been handled in the applications executable itself. Managed code solves the Windows programming problems of component registration and versioning (sometimes called DLL hell) because the assembly contains all the versioning and type information that the CLR needs to run the application. The CLR handles registration dynamically at run time, rather than statically through the system registry as is done with applications based on the Component Object Model (COM). The .NET class library provides access to all the features of the CLR. The .NET class library is organized into namespaces. Each

namespace contains a functionally related group of classes. Table 14 summarizes the .NET namespaces that are of the most interest to Web application programmers.

Software Engineering process

The attribute of web based system and application have a profound influence on the web engineering process that is chosen. If immediacy and continuous evolution are primary attribute of a web engineering, a web engineering team might choose an agile process model that produces web applications releases in the rapid fire sequence. On the other hand, if the web application is to be developed over a long time period) e.g., a major (e-commerce application), an incremental process model can be chosen. The network intensive nature of the application in this domain suggests a population of the user that is diverse (thereby making special demands on requirements elicitation and modeling) and an application architecture that can be highly specialized. Because web applications are often content-driven with an emphasis on aesthetic, it is likely that parallel development activities will be scheduled within the web applications process and involve a team of both technical and non technical people (e.g., copywriter, graphic designer). Defining the framework Any one of the agile process models (e.g., extreme programming, adaptive software development, SCRUM)

To be effective, any engineering process must be adaptive. That is, the organization of the project team, the modes of communication among team members, the engineering activities and tasks to be performed, the information that is collected and created, and the methods used to produce a high quality product must all be adapted tom the people doing the work, the project time line and constraint, and the problem to be solved. Before we define a process framework for web engineering, we must recognize that: 1. Webapps are often delivered incrementally. That is, frame work activities will occur repeatedly as each increment is engineered and delivered. 2. Changes will occur frequently. These changes may occur as a result of the evaluation of a delivered increment or as a consequence of changing business conditions. 3. Timelines are short. This mitigates against the creation and review of voluminous engineering documentation, but it does not preclude the simple reality that critical analysis, design, and testing must be recorded in some manner.

Software Model of the Project


The software model used in our Project is the Increment Model. We used incremental model because the project was done in increments or parts and these parts were tested individually. For ex. Like the Candidate Registration and music uploading Page was developed first and tested thoroughly, then other part the registration module was developed and tested individually. Incremental model combines elements of the linear sequential prototyping. model The with the iterative model philosophy applies of incremental linear

sequences in a staggered fashion as time progresses. Each linear sequence produces a deliverable increment of the software. For example, word processing software may deliver basic file management, editing and document production functions in the first increment. More sophisticated editing and document production in the second increment, spelling and grammar checking in the third increment, advanced page layout in the fourth increment and so on. The process flow for any increment can incorporate the prototyping model. When an incremental model is used, the first increment is often a core product. Hence, basic requirements are met, but supplementary features remain

undelivered. The client uses the core product. As a result of his evaluation, a plan is developed for the next increment. The plan addresses improvement of the core features and addition of supplementary features. This process is repeated following delivery of each increment, until the complete product is produced.
As opposed to prototyping, incremental models focus on the delivery of an operational product after every iteration.

Advantages: Particularly useful when staffing is inadequate Early increments can be implemented with

for a complete implementation by the business deadline. fewer people. If the core product is well received.


System / information engineering
Analysis Design Code

Increment 1
Test

Delivery of 1st increment

additional staff can be added to implement


Design Code Test

Analysis Increment the next 2 increment .

Delivery of 2nd increment

Increments can be planned to manage technical risks.

For example, the system may require availability of some hardware


Analysis Design Test of 3rd 3 development. that Increment is under It may be Code possible to plan Delivery early increment

increments without the use of this hardware, thus enabling partial functionality and avoiding unnecessary delay.
Increment 4
Analysis Design Code Test

Delivery of 4th increment

Calendar time

Figure 1.6: The incremental model

Time Scheduling
Scheduling of a software project does not differ greatly from scheduling of any multitask development effort. Therefore, generalized project scheduling tools and techniques can be applied to software with little modification. The program evaluation and review technique (PERT) and the critical path method (CPM) are two project scheduling methods that can be applied to software development. Both techniques a task network description of a project, that is, a pictorial or tabular representation of tasks that must be accomplished from beginning to end of project. The network is defined by developing a list of all tasks, sometimes called the project work breakdown structure (WBS), associated with a specific project and list of orderings (sometimes called a restriction list) that indicates in what order tasks must be accomplished. Both PERT and CPM provide quantitative tools that allow the software planner to: i) Determine the critical path- the chain of tasks

that determines the duration of the project ii) Establish most likely time estimates for

individual tasks by applying statistical models

iii)

Calculate boundary times that define a time

window for a particular task. Boundary time calculations can be very useful in software project scheduling. Riggs describes important boundary times that may be discerned from a PERT or CPM networks. time The latest time for task initiation before the Earliest time that a task can begin when all

preceding tasks are completed in the shortest possible

minimum project completion time is delayed The earliest finish-the sum of the earliest start-

and the task duration The latest finish-the latest start time added to

task duration The total float-the amount of surplus time or

leeway allowed in scheduling tasks to that so that the network critical path is maintained on schedule. Boundary time calculations lead to a determination of critical path and provide the manger with a quantitative method for evaluating progress as tasks are completed. The planner must recognize that effort expended on software does not terminate at the end of development. Maintenance effort, although not easy to schedule at this stage, will ultimately

become the largest cost factor. A primary goal of software engineering is to help reduce this cost.

Time-scheduling for Our Project will be like this: Project Analysis: Two Weeks GUI Designing: Three Weeks

Core Coding and Algorithm: Four Weeks Testing and Debugging: Two Weeks

You might also like