Академический Документы
Профессиональный Документы
Культура Документы
PROJECT REPORT ON
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:
Project Profile
Project Title Project Guide Hospital Management System
Er. Daleep Kohli
Technical Specification
SOFTWARE ENVIRONMENT
Operating System Backend Frontend Case Tool Front Page - Windows XP/2000. - Microsoft Access - ASP.NET with VB.NET - Microsoft Word 2003, Ms
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 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
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.
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.
get diagnosed for problems from any remote place but that is also not currently feasible due to lack of connectivity.
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.
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.
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.
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.1
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.
1.2.4.2
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.
Doctors/ Admin
Hospital Management
Users/Atten dents
1.2.4.3
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.
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
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
Microsoft Windows XP. Microsoft Access ASP.NET Say Microsoft Word 2003, Ms Front Page
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.
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.
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.
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
increments without the use of this hardware, thus enabling partial functionality and avoiding unnecessary delay.
Increment 4
Analysis Design Code Test
Calendar time
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
iii)
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
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
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