Project Report
-
Upload
sandeep-aher -
Category
Documents
-
view
2 -
download
0
Transcript of Project Report
Acknowledgement
The Project we are handling is a live project.
While developing this project, we have learnt a lot. This will be an un-
forgetful experience. While developing this project, a lot of difficulties were
faced by us. But it was the help of some special people that we have
gained much confidence and developed the project quite well. We shall
like to thank everyone who in anyway helped us in this project. Our
heartiest thanks to Mr. Chotu Sharma and Mrs. Shalini Sharma. These
are the people who helped us in providing the required infrastructure,
good work culture, make us learn a lot of new things and giving us the
required guidance, which helped us in gathering the requirements. And
finally, we shall also like to thank them for providing us such a golden
opportunity to experience the work culture before actually working for a
company.
TABLE OF CONTENTS
S.No. Name Of The Topic
1.
1.1
1.2
Abstract
About the project
Working diagram
2. Company profile
3.
3.1
3.2
3.3
3.4
3.5
3.6
3.7
Implementation environment
Introduction
Implementation types
Implementation tools
.NET framework requirements
Software requirements
Hardware requirements
About languages used
4.
4.1
4.2
System development life cycle
Feasibility Analysis
Software development life cycle
5. Data flow diagram
6. Front end of the project
7. Back end of the project
8. Software testing
9. Conclusion
10. Bibliography
ABSTRACT
ABOUT THE PROJECT
Online Book Shopping System helps the people to fulfill their book
requirements in an efficient and effective way. Here people are the clients
who want the best book service of their concern in other words they are
the users. In this system, there is a registration process for buyers. To use
the services of this system one has to go to the website concerned and in
just no time one can access as many books as one wants. Starting from
home page one can get full information about the books selected and can
confirm there order.
The project has two panels namely:
1. Administrator Panel
2. User Panel
What the Administrator Panel has to do?
Administrator Panel is that section which is associated with providing the
book services. They manage all the tasks that are to be performed and
keep track of the requirements of the users. There main functions are
checking for the new user and registering him or if there is existing user
then directly confirming order. Secondly, they timely add new countries,
states etc where this service was not present earlier. Thirdly, there job is
to add new releases available to the users along with its details like its
author, category, price, title etc.
What the users have to do?
Users can view the various books available which are put by administrator
panel on the site. They can have full details of any book and can choose
their desired book and finally register. It is only required by the new users
to register but not the existing users. Once you have placed the order and
confirmed it the administrator panel will in no time start your service.
Diagram which shows the working of the Online Book
Shopping
I started with studying the existing system and then pin pointing to the
specifications needed in the new system being developed. Later on I
focused more on coding details. After the coding was complete, thorough
testing was performed for verifying the system.
ONLINE BOOK SHOPPING
REGISTER CONFIRM ORDER
BOOK DETAILS
EXISTING USER
NEW USER
USERS
A BRIEF COMPANY PROFILE
Founded in 2000, with mission of ‘Bringing people and computer
together….successfully’, C.S.Computer Education, the IT learning solution
corporation, is known for its pioneering work in the field of IT education
and training. The company provides a comprehensive education
environment to individuals and enterprises, offering training that is
customized to the varied needs of the audience with diverse backgrounds.
VISION
To be the leader in the industry oriented quality education and training and
be the country’s premier institute for certification in the field of information,
electronics and communications technology (IECT).
MISSION
To be the single source for quality assurance in computer education
amongst the nation’s institutes.
OBJECTIVES:
1. Establish itself as an institute of excellence for imparting education and
training to generate quality manpower in areas of information Electronics
and communication technology (IECT).
2. Facilitate education and training institutes in the non-formal sector.
3. Develop a mechanism for dynamic revision of course curricula and
development of the learning materials in the textbook, CD-ROM and web
based form.
4. Impart continuing education/refresher training and corporate training to
engineering graduates, working professionals and others.
5. Develop and implement new schemes of courses in emerging areas as
required by industries and others.
6. Undertake develop projects and provide services in IT and related
areas.
IMPLEMENTATION ENVIRONMENT
INTRODUCTION:
Implementation is the stage in the project where the theoretical
design is turned into the working system and is giving confidence to
the new system for the users i.e. will work efficiently and effectively.
It involves careful planning, investigation of the current system and
its constraints on implementation, design of method to achieve the
change over, an evaluation, of change over methods. A part from
planning major task of preparing the implementation is education of
users. The more complex system is implemented, the more
involved will be the system analysis and design effort required just
for implementation. An implementation coordinating committee
based on policies of individual organization has been appointed.
The implementation process begins with preparing a plan for the
implementation for the system. According to this plan, the activities
are to be carried out, discussions may regarding the equipment has
to be acquired to implement the new system.
Implementation is the final and important phase. The most critical
stage is in achieving a successful new system and in giving the
users confidence that the new system will work and be effective.
The system can be implemented only after thorough testing is done
and if it found to working according to the specification. This
method also offers the greatest security since the old system can
take over if the errors are found or inability to handle certain types
of transaction while using the new system.
At the beginning of the development phase a preliminary
implementation plan is created to schedule and manage the many
different activities that must be integrated into plan. The
implementation plan is updated throughout the development phase,
culminating in a change over plan for the operation phase. The
major elements of implementation plan are test plan, training plan,
equipment installation plan, and a conversion plan.
There are three types of implementation:
o Implementation of a computer system to replace a manual
system.
o Implementation of a new computer system to replace an
existing system.
o Implementation of a modified application to replace an
existing one, using the same computer.
In this project, implementation of a computer system to replace a
manual system is done.
Successful implementation may not guarantee improvement in the
organization using the new system, but improper installation will
prevent it. It has been observed that even the best system cannot
show good result if the analysts managing the implementation do
not attend to every important detail. This is an area where the
systems analysts need to work with utmost care.
IMPLEMENTATION TOOLS:
Training personnel
Conversion Procedures
Post-implementation review
.NET Framework System Requirements
To ensure adequate performance, the .NET Framework has the following
minimum and recommended system requirements for client and server
applications.
USER’S REQUIREMENT:
SOFTWARE REQUIREMENT SPECIFICATION
The software requirement specification is produced at the
culmination of the analysis task. The function and performance
allocated to software as part of system engineering are refined by
establishing a complete information description, a detailed
functional description, a representation of system behavior, an
indication of performance requirement and design constraints
appropriate validation criteria, and other information pertinent to
requirement.
The introduction to software requirements specification states the
goals and objectives of the software, describing it in the context of
the computer based system.
The Information Description provides a detailed description of the
problem that the software must solve. Information content, flow and
structure are documented.
A description of each function required to solve the problem is
presented in the Functional Description.
Validation Criteria is probably the most important and ironically the
most often neglected section of the software requirement
specification.
Software requirement specification can be used for different
purpose. Here are the major uses.
Statement of user needs:
A main purpose of the product specification is to define the need of
the product’s user.
Some times, the specification may be a part of a contract sign
between the producer and the user. It could also form part of the
user manuals. A user‘s needs are sometimes not clearly
understood by the developer. If this is the case, a careful analysis –
involving much interaction with the user should be devoted to
reaching a clear statement of requirements, in order to avoid
possible misunderstandings.
Sometimes, at the beginning of a project, even the user has no
clear idea of what exactly the desired product is. Think for instance
of user interface , a user with no previous experience with computer
products may not appreciate the difference between , say menu
driven interaction and a command line interface. Even an exact
formation of system functions and performance may be missing an
initial description produced by an inexperienced user.
A statement of the requirements for the
implementation:
Specifications are also used as a reference point during product
implementation. In fact, the ultimate goal of the implementation is to
build a product that needs specification. Thus the implementers use
specifications during design to make design decisions and during
the verification activity to check that the implementation compiles
with specifications.
SOFTWARE REQUIREMENT:
The following are the software required for the
project:
Microsoft Windows NT/XP 192 MB RAM
ASP.NET (Web Based) 1.1
Microsoft SQL Server 7.0
Microsoft Internet Information Server (IIS) 4.0
Microsoft Internet Explorer
HARDWARE REQUIREMENT:
The following are the hardware required for the
project:
PC with Pentium II Processor,450MHz
(Recommended Pentium III
Processor,800MHz)
192 MB RAM
Minimum 1.2 GB hard disk space.
PC should be connected with Network (LAN)
CD-ROM (48 X or higher recommended).
Mouse or Similar Pointing device.
A Printer to take out Reports.
ABOUT LANGUAGES:
ASP.NET:
ASP.NET is a technology that allows us to build and control
dynamic Web pages easily. It also provides many enhancements to
take advantage of new technology as we can interact with
databases, personalize Web pages for visitors, display page on
mobile devices (such as cell phones), and even build an entire e-
commerce site from scratch.
Previously internet works on request/response model that is an
integral part of client/server model. Although this is a marvelous
way of communicate and distribute information, it's rather simple
and static. When the process is over, once client receives the
requesting page from the server the server has no idea what the
client is doing unless it makes another request.
There is another model for communicating between server and
clients, known as event-driven model.ASP.NET work on this model,
it detects action and responds to them i.e. the server waits around
for something to happen on the client. Once it does, the server
takes action and performs some piece of functionality. Of course, a
Web, server can not know what you are thinking, but it can respond
to your actions. If you type some text on Web page, the server
responds to it. If you click an image, the server responds.
THE .NET FRAMEWORK:
The .NET in ASP.NET stands for the .NET Framework, a set of
objects and blueprints from Microsoft for building applications. All
applications developed under the .NET Framework; including
ASP.NET applications, have certain key features that ensure
compatibility, security, and stability.
Common Language Runtime (CLR) is an environment that
manages the execution of code. With the .NET Framework and
CLR, we write code and compile it. However, instead of compiling it
into the computer understands, we compile it into a language called
Microsoft Intermediate Language (MSIL). When we compile to
MSIL, your application produce something called metadata. This is
descriptive information about your application. It tells what the
application can do, where it belongs, and so on. When you want to
run your program, the CLR takes over and compile the code once
more into the computer’s native language. This way MSIL can go
on any type of computer. The CLR can speak many different
computer languages and does all the compiling for you. Once you
compile your application, you can bring it to any other computer.
CLR also provides services such as error handling, security
features, versioning and deployment support, as well as cross-
language integration. That means we can choose any language we
want to write our .NET applications, including ASP.NET
applications.
COMPARISON OF ASP AND ASP.NET:
Classic ASP was built on the top of the Windows
operating system and IIS (Internet Information Server). It was
always a separate entity, and therefore its functionality was limited.
ASP.NET, on the other hand, is an integral part of the system under
the .NET Framework. It shares many 9f the same objects that
traditional applications would use and all .NET objects available for
ASP. NET’s consumption.
Instead of being limited to six inherent objects in ASP,
ASP.NET has a plethora of useful components it can build form.
ASP also made it abundantly clear that client and
server were two separate entities, Whereas ASP. NET ties together
the client and the server through clever use of server-side and
client-side code, all invisible to the developer.
ASP.NET code is compiled, whereas classic ASP used
interpreted scripting languages. Using compiled code means an
automatic boost in performance over ASP applications.
In classic ASP, nearly all of the code was executed in
code render blocks (that is, inside <%...%> tags). In ASP.NET, this
type of code isn’t compiled and isn’t recommended for frequent
use. Instead, you use the code declaration blocks, which are
compiled and provide better performance.
SQL Stored Procedures
A precompiled collection of Transact-SQL statements stored under a
name and processed as unit .SQL SERVER supplies stored procedures
for managing SQL SERVER and displaying information about databases
and users. SQL SERVER supplied stored procedures are called System
stored procedures.
A stored procedure is a group of Transact-SQL statements compiled into a
single execution plan.
Microsoft® SQL Server™ 2000 stored procedures return data in four
ways:
Output parameters, which can return either data (such as an
integer or character value) or a cursor variable (cursors are result
sets that can be retrieved one row at a time).
Return codes, which are always an integer value.
A result set for each SELECT statement contained in the stored
procedure or any other stored procedures called by the stored
procedure.
A global cursor that can be referenced outside the stored
procedure.
Stored procedures assist in achieving a consistent implementation of logic
across applications. The SQL statements and logic needed to perform a
commonly performed task can be designed, coded, and tested once in a
stored procedure. Each application needing to perform that task can then
simply execute the stored procedure. Coding business logic into a single
stored procedure also offers a single point of control for ensuring that
business rules are correctly enforced.
Stored procedures can also improve performance.
Many tasks are implemented as a series of SQL statements.
Conditional logic applied to the results of the first SQL statements
determines which subsequent SQL statements are executed. If
these SQL statements and conditional logic are written into a stored
procedure, they become part of a single execution plan on the
server. The results do not have to be returned to the client to have
the conditional logic applied; all of the work is done on the server.
Overview of the .NET Framework
The .NET Framework is a new computing platform that simplifies
application development in the highly distributed environment of the
Internet. The .NET Framework is designed to fulfill the following
objectives:
To provide a consistent object-oriented programming
environment whether object code is stored and executed locally,
executed locally but Internet-distributed, or executed remotely.
To provide a code-execution environment that minimizes
software deployment and versioning conflicts.
To provide a code-execution environment that guarantees safe
execution of code, including code created by an unknown or
semi-trusted third party.
To provide a code-execution environment that eliminates the
performance problems of scripted or interpreted environments.
To make the developer experience consistent across widely
varying types of applications, such as Windows-based
applications and Web-based applications.
To build all communication on industry standards to ensure that
code based on the .NET Framework can integrate with any
other code.
The .NET Framework has two main components:
the common language runtime and
the .NET Framework class library.
The common language runtime is the foundation of the .NET Framework.
You can think of the runtime as an agent that manages code at execution
time, providing core services such as memory management, thread
management, and remoting, while also enforcing strict type safety and
other forms of code accuracy that ensure security and robustness. In fact,
the concept of code management is a fundamental principle of the
runtime. Code that targets the runtime is known as managed code, while
code that does not target the runtime is known as unmanaged code. The
class library, the other main component of the .NET Framework, is a
comprehensive, object-oriented collection of reusable types that you can
use to develop applications ranging from traditional command-line or
graphical user interface (GUI) applications to applications based on the
latest innovations provided by ASP.NET, such as Web Forms and XML
Web services.
The .NET Framework can be hosted by unmanaged components that load
the common language runtime into their processes and initiate the
execution of managed code, thereby creating a software environment that
can exploit both managed and unmanaged features. The .NET Framework
not only provides several runtime hosts, but also supports the
development of third-party runtime hosts.
For example, ASP.NET hosts the runtime to provide a scalable, server-
side environment for managed code. ASP.NET works directly with the
runtime to enable ASP.NET applications and XML Web services, both of
which are discussed later in this topic.
Internet Explorer is an example of an unmanaged application that hosts
the runtime (in the form of a MIME type extension). Using Internet
Explorer to host the runtime enables you to embed managed components
or Windows Forms controls in HTML documents. Hosting the runtime in
this way makes managed mobile code (similar to Microsoft® ActiveX®
controls) possible, but with significant improvements that only managed
code can offer, such as semi-trusted execution and secure isolated file
storage.
Client Application Development
Client applications are the closest to a traditional style of application in
Windows-based programming. These are the types of applications that
display windows or forms on the desktop, enabling a user to perform a
task. Client applications include applications such as word processors and
spreadsheets, as well as custom business applications such as data-entry
tools, reporting tools, and so on. Client applications usually employ
windows, menus, buttons, and other GUI elements, and they likely access
local resources such as the file system and peripherals such as printers.
Another kind of client application is the traditional ActiveX control (now
replaced by the managed Windows Forms control) deployed over the
Internet as a Web page. This application is much like other client
applications: it is executed natively, has access to local resources, and
includes graphical elements.
In the past, developers created such applications using C/C++ in
conjunction with the Microsoft Foundation Classes (MFC) or with a rapid
application development (RAD) environment such as Microsoft® Visual
Basic®. The .NET Framework incorporates aspects of these existing
products into a single, consistent development environment that drastically
simplifies the development of client applications.
The Windows Forms classes contained in the .NET Framework are
designed to be used for GUI development. You can easily create
command windows, buttons, menus, toolbars, and other screen elements
with the flexibility necessary to accommodate shifting business needs.
For example, the .NET Framework provides simple properties to adjust
visual attributes associated with forms. In some cases the underlying
operating system does not support changing these attributes directly, and
in these cases the .NET Framework automatically recreates the forms.
This is one of many ways in which the .NET Framework integrates the
developer interface, making coding simpler and more consistent.
Unlike ActiveX controls, Windows Forms controls have semi-trusted
access to a user's computer. This means that binary or natively executing
code can access some of the resources on the user's system (such as
GUI elements and limited file access) without being able to access or
compromise other resources. Because of code access security, many
applications that once needed to be installed on a user's system can now
be safely deployed through the Web. Your applications can implement the
features of a local application while being deployed like a Web page.
Server Application Development
Server-side applications in the managed world are implemented through
runtime hosts. Unmanaged applications host the common language
runtime, which allows your custom managed code to control the behavior
of the server. This model provides you with all the features of the common
language runtime and class library while gaining the performance and
scalability of the host server.
The following illustration shows a basic network schema with managed
code running in different server environments. Servers such as IIS and
SQL Server can perform standard operations while your application logic
executes through the managed code.
What's New in Visual Basic .NET 2003
Visual Basic .NET 2003 has added functionality that simplifies bit
manipulation and loop variable declaration.
Bit Shift Operators
Visual Basic .NET now supports arithmetic left and right shift
operations on integral data types (Byte, Short, Integer, and Long).
Arithmetic shifts are not circular, which means the bits shifted off
one end of the result are not reintroduced at the other end. The
corresponding assignment operators are provided as well. For
details, see Bit Shift Operators and Assignment Operators.
Loop Variable Declaration
Visual Basic .NET now allows you to declare a loop variable as part
of a For or For Each loop. You can include an As clause for the
variable in the For or For Each statement, provided no variable of
that name has been declared outside the loop. The scope of a loop
variable declared in this manner is the loop itself. For details, see
for...Next Statements and For Each...Next Statements.
Visual Basic .NET 2003 also includes the following features, which were
introduced in Visual Basic .NET 2002.
Inheritance
Visual Basic .NET supports inheritance by allowing you to define
classes that serve as the basis for derived classes. Derived classes
inherit and can extend the properties and methods of the base
class. They can also override inherited methods with new
implementations. All classes created with Visual Basic .NET are
inheritable by default. Because the forms you design are really
classes, you can use inheritance to define new forms based on
existing ones. For details, see Inheritance.
Exception Handling
Visual Basic .NET supports structured exception handling, using an
enhanced version of the Try...Catch...Finally syntax supported by
other languages such as C++. Structured exception handling
combines a modern control structure (similar to Select Case or
While) with exceptions, protected blocks of code, and filters.
Structured exception handling makes it easy to create and maintain
programs with robust, comprehensive error handlers. For details,
see Exception Handling.
Overloading
Overloading is the ability to define properties, methods, or
procedures that have the same name but use different data types.
Overloaded procedures allow you to provide as many
implementations as necessary to handle different kinds of data,
while giving the appearance of a single, versatile procedure. For
details, see Overloaded Properties and Methods.
Overriding Properties and Methods
The Overrides keyword allows derived objects to override
characteristics inherited from parent objects. Overridden members
have the same arguments as the members inherited from the base
class, but different implementations. A member's new
implementation can call the original implementation in the parent
class by preceding the member name with MyBase. For details,
see Overriding Properties and Methods.
Constructors and Destructors
Constructors are procedures that control initialization of new
instances of a class. Conversely, destructors are methods that free
system resources when a class leaves scope or is set to Nothing.
Visual Basic .NET supports constructors and destructors using the
Sub New and Sub Finalize procedures. For details, see Object
Lifetime: How Objects are Created and Destroyed.
Data Types
Visual Basic .NET introduces three new data types. The Char data
type is an unsigned 16-bit quantity used to store Unicode
characters. It is equivalent to the .NET Framework System.Char
data type. The Short data type, a signed 16-bit integer, was named
Integer in earlier versions of Visual Basic. The Decimal data type
is a 96-bit signed integer scaled by a variable power of 10. In earlier
versions of Visual Basic, it was available only within a Variant. For
details, see Data Types.
Interfaces
Interfaces describe the properties and methods of classes, but
unlike classes, do not provide implementations. The Interface
statement allows you to declare interfaces, while the Implements
statement lets you write code that puts the items described in the
interface into practice. For details, see Interfaces in Visual
Basic .NET.
Delegates
Delegates — objects that can call the methods of objects on your
behalf — are sometimes described as type-safe, object-oriented
function pointers. You can use delegates to let procedures specify
an event handler method that runs when an event occurs. You can
also use delegates with multithreaded applications. For details, see
Delegates and the AddressOf Operator.
Shared Members
Shared members are properties, procedures, and fields that are
shared by all instances of a class. Shared data members are useful
when multiple objects need to use information that is common to
all. Shared class methods can be used without first creating an
object from a class. For details, see Shared Members.
References
References allow you to use objects defined in other assemblies. In
Visual Basic .NET, references point to assemblies instead of type
libraries. For details, see References and the Imports Statement.
Namespaces
Namespaces prevent naming conflicts by organizing classes,
interfaces, and methods into hierarchies. For details, see
Namespaces.
Assemblies
Assemblies replace and extend the capabilities of type libraries by,
describing all the required files for a particular component or
application. An assembly can contain one or more namespaces.
For details, see Assemblies.
Attributes
Attributes enable you to provide additional information about
program elements. For example, you can use an attribute to specify
which methods in a class should be exposed when the class is
used as a XML Web service. For details, see Attributes.
Multithreading
Visual Basic .NET allows you to write applications that can perform
multiple tasks independently. A task that has the potential of
holding up other tasks can execute on a separate thread, a process
known as multithreading. By causing complicated tasks to run on
threads that are separate from your user interface, multithreading
makes your applications more responsive to user input. For details,
see Multithreaded Applications.
SYSTEM DEVELOPMENT LIFE CYCLE
The first step in the System Development Life Cycle (SDLC) is the
preliminary investigation to determine the feasibility of the system.
The purpose of the preliminary investigation is to evaluate project
requests. It is not a design study nor does it include the collection of
details to describe the business system in all aspect. Rather it is the
collecting of the information that helps committee members to
evaluate the merits of the project request and make an informed
judgment about the feasibility of the proposed project.
The preliminary investigation should accomplish the
following objectives.
Clarify and understand the project request.
Determine the size of the project.
Assess costs and benefits of alternative approaches.
Determine the technical and operational feasibility of
alternative approaches.
Report the findings to management; with
recommendations outlining the acceptance or rejection of
the proposal.
1. FEASIBILILTY ANALYSIS
WHAT IS A FEASIBILITY STUDY?
Prior to stating whether the system we have to develop is feasible or not
we believe that we should emphasize on what is implied by the word
“Feasibility”. Feasibility is the measure of how beneficial or practical the
development of the system will be to the organization. It is a preliminary
survey for the systems investigation. It aims to provide information to
facilitate a later in-depth investigation. The report produced at the end of
the feasibility study contains suggestions and reasoned arguments to help
management decide whether to commit further resources to the proposed
project.
Feasibility study is done so that an ill-conceived system is recognized
early in definition phase. During system engineering, however, we
concentrate our attention on four primary areas of interest. This phase is
really important as before starting with the real work of building the system
it was very important to find out whether the idea thought is possible or
not.
Economic Feasibility: An evaluation of development cost weighted
against the ultimate income or benefit derived from the developed
system.
Technical Feasibility: A study of function, performance and
constraints that may affect the ability to achieve an acceptable
system.
Operational Feasibility: A study about the operational aspects of the
system.
1.1 ECONOMIC ANALYSIS
Among the most important information contained in feasibility study is
Cost Benefit Analysis and assessment of the economic justification for
a computer based system project. Cost Benefit Analysis delineates
costs for the project development and weighs them against tangible
and intangible benefits of a system. Cost Benefits Analysis is
complicated by the criteria that vary with the characteristics of the
system to be developed, the relative size of the project and the
expected return on investment desired as part of company’s strategic
plan. In addition, many benefits derived from a computer-based system
are intangible (e.g. better design quality through iterative optimization,
increased customer satisfaction through programmable control etc.)As
this is an in-house project for the company, to be used for its own
convenience and also it is not that big a project. So neither it requires a
huge amount of money nor any costly tools or infrastructure need to be
set up for it.
1.2 TECHNICAL ANALYSIS
During technical analysis, the technical merits of the system are
studied and at the same time collecting additional information about
performance, reliability, maintainability and predictability.
Technical analysis begins with an assessment of the technical viability
of the proposed system.
What technologies are required to accomplished system function
and performance?
What new materials, methods, algorithms or processes are
required and what is their development risk?
How will these obtained from technical analysis form the basis for
another go/no-go decision on the test system? If the technical risk
is severe, if models indicate that the desired function can not be
achieved, if the pieces just won’t fit together smoothly-it’s back to
the drawing board.
As the software is vary much economically feasible, then it is really
important for it to be technically sound. The software will be build among:
MS SQL SERVER as Back End
ASP.NET as Front End
1.3 Operational Feasibility
The project is operationally feasible. This project is being made for the
convenience of the patients and doctors only. This system will greatly
reduce a huge burden of doctors. So because of the above stated
advantages the users of the system will not be reluctant at all.
2. S0FTWARE DEVELOPMENT LIFE CYCLE
Every software development consists several phases, have certain
predefined works and at the end of each phase document is prepared.
This phase is based on certain Software Development Model.
2.1 SOFTWARE DEVELOPMENT MODELS
Software engineering is a discipline that integrates process, methods,
and tools for the development of computer software. To solve actual
problems in an industry setting, software engineer or a team of
software engineers must incorporate a development strategy that
encompasses, methods, and tools. This strategy is often referred to as
a process model or a software-engineering paradigm.
A number of different process models for the software engineering
have been proposed, each exhibiting strengths and weaknesses,
but all having a series of generic phases in common.
A particular process model for software engineering is chosen on the
nature of the project and the application at hand, the methods and the
tools to be used, and the controls are required.
All software development can be characterized as a problem-solving
loop in which four distinct stages are encountered:
Status Quo
Problem Definition
Technical Development
Solution Integration
SOFTWARE REQUREMENT ANALYSIS
The requirements gathering process is intensified and focused
specifically on software. To understand the nature of the program(s) to
be built, the software engineer (“analyst”) must understand the
information domain for the software, as well as required function,
behavior, performance, and interfacing. Requirements for the both the
system and the software are documented and reviewed with the
customer.
DESIGN:
Software design is actually a multi-step process that focuses on four
distinct attributes of a program: data structures, software architecture,
interface representations, and procedural (algorithm) detail. The design
process translates requirement into a representation of the software
that can be assessed for quality before code generation begins. Like
requirements, the design is documented and becomes part of the
software configuration.
CODE GENERATION
The design must be translated in to a machine-readable form. The
testing process focuses on the logical internals of the software,
assuring that all statements have been tested and on the functional
externals that is, conducting tests to uncover errors and ensure that
defined inputs will produce actual results that agree with required
results.
TESTING
Once code has been generated, program testing begins. The testing
process focuses on the logical internals of the software, assuring that
all statements have been tested and on the functional externals that is,
conducting tests to uncover errors and ensure that defined inputs will
produce actual results that agree with required results.
MAINTENANCE:
Software will undoubtedly undergo change after it is delivered to the
customer (A possible exception is embedded software).Change will
occur because errors have been encountered, because the software
must be adapted to accommodate change in its external environment
(e.g. A change required because of a new operating system or
peripheral device), or because the customer requires functional or
performance enhancements. Software maintenance reapplies each of
the preceding phases to an existing program rather than a new one.
Review Documents prepared in Software Development
ENTRY CRITERIA
SOFTWARE DEVELOPMENT &TESTING
EXIT CRITERIA
Product Feasibility Reviews (PFR).
Software Requirement Review (SRR).
Preliminary Design Review (PDR).
Source Code Review (SCR).
Acceptance Test Review (ATR).
Product Release Review (PRR).
Product Post-Mortem (PPM).
2.1.2 PROJECT STARTUP
A complete understanding of software requirements is essential to the
success of a software development effort. No matter how well designed or
well coded, a poorly analyzed and specified program will disappoint the
user and bring grief to the developer.
The requirement analysis task is a process of discovery, refinement,
modeling, and specification. The software scope, initially established in the
system- engineering step and refined during software project planning, is
refined in detail. Models of the required data, information and control flow,
and operational behavior are created. Alternative solutions are allocated to
various software elements.
Actually, requirement’s analysis is a software-engineering task that
bridges the gap between system-level software allocation and software
designs as shown in figure below:
SOFTWARE ENGINEERING
SOFTWARE REQUIREMENT ANALYSIS
SOFTWARE DESIGN
Requirement Analysis
Requirement analysis enables the system engineer to specify function and
performance, indicate software’s interface with other system elements,
and establish constraints that software must meet. Requirements allow the
software engineer (often called analyst in this role) to refine the software
are allocation and build modules of the data, functional, and behavioral
domains that will be treated by software. Analysis provides the software
designer with models that can be translated in to data, architectural,
interface, and procedural design. Finally, the requirement specification
provides the developer and the customer with the means to assess quality
once software is built. Developer and the customer with the analysis may
be divided into five areas of effort:
Problem Recognition
Evaluation and Synthesis
Modeling
Specification
Review
Initially, the analyst studies the system specification (if one exists) and the
software project plan. It is important to important to understand software in
a system context and to review the software scope that was used to
generate planning estimates. Next, communication for analysis must be
established so that problem recognition is ensured. The goal of the analyst
is recognition of the basic problem elements as perceived by the
user/customer. Problem evaluation and solution synthesis is the next
major area of effort for analysis. The analyst must define all extremely
observable data objects, evaluate the flow and content of information;
define and elaborate all software function; understand software behavior
in the context of events that effects the system; estimate system interface
characteristics; and uncover additional design constraints. Each of these
tasks serves to describe the problem so that an overall approach or
solution may be synthesized. Upon evaluating current problems and
desired information (input and output), the analyst begins to synthesize
one or more solutions. To begins, the data, processing functions and
behavior of the system are defined in detail. Once this information has
been established, basic architecture for implementation is considered. A
client/server approach would seem to be appropriate, but does it fall within
the scope outlined in the software plan? A database management system
(DBMS) would seem to be required, but is the user/client’s need for
associatively justified? The process of evaluation and synthesis continues
until both analyst and customer feels confident that software can be
adequately specified for subsequent development steps. Throughout
evaluation and solution synthesis, the analyst’s primary focus is on “what”,
not “how”. What data does the system produce and consume what
constraints apply? During the evaluation and solution synthesis activity,
the analyst creates models of the system m an effort to better understand
the data and control flow, functional processing and behavioral operation,
and information content. The model serves as a foundation, for software
design and as the basis for the creation of a specification for the software.
2.1.3 ELEMENTS OF ANALYSIS MODEL
The analysis model must achieve three primary objectives:
To describe what the customer requires
To establish a basis for the creation of software design, ad
To define a set of requirements that can be validated once the
software is built.
SOFTWARE DESIGN
Design is the first phase in the development phase for any system. It may
be defined as “the process of applying various techniques and principles
for the purpose of defining a device a process or a system in sufficient
detail to permit physical realization. The designer’s goal is to produce a
model or representation of an entity that will later be built. The process by
which the model is developed combines intuition and judgment based on
experience in building similar entities, a set of principles and/or heuristic
that guides the way in which the model evolves, a set of criteria that
enables quality to be judged, and a process of iteration that ultimately
leads to a final design representation.
Actually software design sites at the technical kernel of the software
engineering process and is applied regardless of the software process
model that is used. Beginning once software requirements have been
analyzed and specified, software design is the first of three technical
activity designs, code generation and testing which are required to build
and verify the software.
Each activity transforms information in a manner that ultimately results in
validated computer software. Each of the elements of the analysis model
provides information that is required to create a design model. Software
requirements manifested by the data, functional and behavioral model
feed the design steps. Using one of a number of design methods, the
design step produces a data design an architectural design an interface
design, and a procedural design.
This data design transforms the information domain model created during
analysis into the data structures that will be required to implement the
software. The data objects and the relationships defined in the entity-
relationship diagram and the detailed design depicted in the data
dictionary provides the basis for the data design activity.
The architectural design defines the relationship among those major
structural elements of the program. This design representation- the
modular framework of a computer program- can be derived from the
analysis model(s) and the interaction of sub-system defined within the
analysis model.
The interface design describes how the software communication within
itself, to systems that inter-operate with it, and with humans who use it. An
interface implies a flow of information (e.g. data and /or control).Therefore,
the data and flow diagrams provide the information required for the
interface design.
The procedural design transforms structural elements of the program
architecture into a procedural description of software components.
Information obtained from the PSPEC, CSPEC, and STD serves as the
basis for procedural design. During design, we make decisions that will
ultimately affect the success of software construction, and as important,
the ease with which software can be maintained.
Actually, the importance of software can be stated in a single word-quality.
Design is the place where quality is fostered in software development.
Design provides us with representations of software that can be assessed
for quality. Design is the only way we can accurately translates a
customer’s requirements into a finished software product or system.
Software design serves as the foundation of all the software engineering
and software maintenance steps that follow. Without design, we risk
building an unstable system-one that will fail when small changes are
made; one that may be difficult to test; one whose utility can not be
accessed until the late in the software engineering process, when time is
short and many dollars have already been spent.
System Design
The requirements of the project were clearly understood, feasibility
analysis was done and finally it was decided that the system be designed.
Data Flow Diagram
DFD shows the flow of data. These diagrams help to understand
the basic
Working of the system. It helps to make and recognize various
parts and their inter relationships. It is a way of expressing system
requirement in a graphical form; this leads to a modular design. It is
also known as bubble chart, has the purpose of clarifying system
requirements and identifying major transformations that will become
program in system design. So it is the starting point of the design
phase that functionally decomposes the requirement specifications
down to the lowest level of details. A DFD consist of a series of
bubbles joined by lines. The bubbles represent data transformation
and the lines represent data flows in the system.
DFD SYMBOLS : = Source or Destination of data
= Data flow
= Process that transform data flow
=Data store
Purpose
Providing user friendly interface
To store all the information about the patient online.
Easy access of data
Easy maintenance
Maintaining data consistency
Providing better performance
Increasing the efficiency through automation
Proper authorization
Proper security
Providing timely information to the users
FRONT END OF THE PROJECT
Some design pages used in the project:
TABLES USED IN THE PROJECT
TABLE #1 TBAUT
TABLE#2 TBAUTDET
TABLE#3 TBBOK
COLUMN NAME DATA TYPE LENGHT
Autcod Int 4
Autnam Varchar 50
COLUMN NAME DATA TYPE LENGTH
AutDetBokCode Int 4
AutodetAutCode Int 4
COLUMN NAME DATA TYPE LENGHT
BokCod Int 4
BokTitCod Int 4
BokPubCod Int 4
BokNOP Int 4
BokHrdPrc Decimal 9
BokSftPrc Decimal 9
TABLE#4 TBBOKAVL
TABLE#5 TBCAT
TABLE#6 TBCNT
COLUMN NAME DATA TYPE LENGTH
BokAvlBokCod Int 4
BokAvlRem Varchar 200
COLUMN NAME DATA TYPE LENGTH
Catcod Int 4
Catnam Varchar 50
COLUMN NAME DATA TYPE LENGTH
Cntcod Int 4
Cntnam Varchar 50
TABLE#7 TBCTY
TABLE#8 TBDEL
COLUMN NAME DATA TYPE LENGTH
Ctycod Int 4
Ctynam Varchar 50
Ctysatcod Int 4
COLUMN NAME DATA TYPE LENGTH
Delordcod Int 4
Deladd Varchar 50
Delctycod Int 4
Delphn varchar 50
Delpin Varchar 50
Delfax Varchar 50
Deldelmodcod Int 4
Delapxkms Int 4
TABLE#9 TBDIS
TABLE#10 TBLINK
TABLE#11 TBNEVREP
TABLE#12 TBNEVTOP
COLUMN NAME DATA TYPE LENGTH
Disbokcod Int 4
Disbokamt Decimal 9
COLUMN NAME DATA TYPE LENGTH
Linktext Varchar 50
Linkurl Varchar 50
COLUMN NAME DATA TYPE LENGTH
Linktext Varchar 50
Linkurl Varchar 50
COLUMN NAME DATA TYPE LENGTH
Linktext Varchar 50
Linkurl Varchar 50
TABLE#13 TBNEWREL
TABLE#14 TBORD
TABLE#15 TBBORDDET
COLUMN NAME DATA TYPE LENGTH
Newrelbokcod Int 4
COLUMN NAME DATA TYPE LENGTH
Ordcod Int 4
Orddate Varchar 50
Ordregcod Int 4
Ordsta Char 1
Ordaddsta Char 1
Ordamt Decimal 9
COLUMN NAME DATA TYPE LENGTH
Orddetcod Int 4
Orddetbokcod Int 4
Orddetqry Int 4
TABLE#16 TBPUB
TABLE#17 TBREG
COLUMN NAME DATA TYPE LENGTH
Pubcod Int 4
Pubnam Varchar 50
Pubadd Varchar 50
Pubctycod Int 4
COLUMN NAME DATA TYPE LENGTH
Regcod Int 4
Regnam Varchar 50
Regadd Varchar 50
Regctycod Int 4
Regphn varchar 50
Regeml Varchar 50
Regmob Varchar 50
Regfax Varchar 50
TABLE#18 TBSAT
TABLE#19 TBSUB
TABLE#20 TBTIT
COLUMN NAME DATA TYPE LENGTH
Satcod Int 4
Satnam Varchar 50
Satcmtcod Int 4
COLUMN NAME DATA TYPE LENGTH
Subcod Int 4
Subnam Varchar 50
Satcatcod Int 4
COLUMN NAME DATA TYPE LENGTH
Titcod Int 4
Titnam Varchar 50
Titsubcod Int 4
TABLE#21 TBUSR
STORED PROCEDURES USED IN THE PROJECT
DelAut, DelAutDet, DelBok,DelCat, DelCnt, Delcty, DelDel, Deldis,
DelNewRel, DelOrd, DelOrddet, Delpub, DelReg, DelSat, DelSub,
DelTit, DelUsr, FndAut, FndAutDet, FndBok, FndBokAvl, FndCat,
FndCnt, Fndcty, Fnddel, FndDis, FndNewRel, FndOrd, FndOrdDet,
FndPub, FndReg,FndSat, FndSub,FndFit, FndUsr, InsAut, InsAutDet,
InsBok, InsBokAvl, InsCat, InsCnt, InsCty, InsDel, InsDis, InsNewRel,
InsOrd, InsOrdDet, InsPub, InsReg, IntSat, InsSub, InsTit, InsUsr,
LogChk, PagBok, PagDisBok, PagMstSelBok, PagNewRelBok, UpdAut,
UpdAutDel, UpdBok, UpdNewAut, UpdCat, UpdCnt, UpdCty.
COLUMN NAME DATA TYPE LENGTH
Usrnam Varchar 50
Usrpwd Varchar 50
Usrregcod Int 4
Software Testing
Software testing is the vital part of the software lifecycle. To understand its
role, it is instructive to review the definition of software testing in literature.
“…The process of exercising or evaluating a system or system
components by manual or automated means to verify that it satisfies
specified requirements or to identify differences between expected and
actual results…”
Software testing is the process of testing the functionality and correctness
of software by running it. Software testing is usually performed for one of
two reasons:
Defect detection and
Reliability estimation
The problem of applying software testing to defect detection is that
software can only suggest the presence of flaws, not there absence
(unless the testing is exhaustive). The problem of applying software
testing to reliability estimation is that the input distribution used for
selecting test cases may be flawed. In both of these cases, the
mechanism used to determine whether program output is correct is often
impossible to develop. Obviously the benefit of the entire software testing
process is highly dependent on many different pieces. If any of these parts
is faulty, the entire process is compromised.
Software is not unlike other physical processes where inputs are received
and outputs are produced. Where software differs is in the manner in
which it fails. Most physical system fail in a fixed (and reasonably small)
set of ways. By contrast, software can fail in many bizarre ways. Detecting
all of the different failure modes for software is generally infeasible.
The key to software testing is trying to find the myriad of failure modes---
something that requires exhaustively testing the code on all the possible
inputs. For most programs, this is computationally infeasible. It is
commonplace to attempt to test as many of the syntactic failure of the
code as possible. Techniques that try to exercise as much of code as
possible (with in some set of resource constraints) are called white box.
When test cases are selected are called black box techniques.
Software systems have evolved into most complex artifacts ever created
by humans. This has exacerbated the problems of testing software
systems. Years ago, it has proven that the testing a simple program to add
only two integers inputs of 32 bits (yielding 2^64 distinct test cases) would
take hundreds of years, even if tests were performed at a rate of
thousands per second. If exhaustively testing a little program that adds
two integers requires hundred of years, what can be said for testing a
nuclear reactor control system that has hundreds of sensors sending in
information? Include all possible combinations of human inputs to the
system and the problems worsen. Clearly, systems such as this must
require far more analysis than simple software testing, even if the software
is run on millions of test cases.
Design objectives:-
The primary objective of the design is to deliver the requirements
as specified in the feasibility report. These are the some of the
objectives, which I kept in mind.
Practicality: The system is quite stable and can be
operated by the people with average intelligence.
Efficiency: I tried to involve accuracy, timeliness
and comprehensiveness of the system output.
Cost: It is desirable to aim for the system with a
minimum cost subject to the condition that it must
satisfy the entire requirement.
Flexibility: I have tried that the system should be
modifiable depending on the changing needs of the
user. Such modifications should entail extensive
reconstructing or recreation of software. It should also
be portable to different computer systems.
Security: This is very important aspect which I
followed in this designing phase and tried to covers
the areas of hardware reliability, fallback procedures,
and physical security of data.
Constraints
These are the following constraints:
Hardware
Software
Budget
Time scale
Interface with other system
Operations
Throughout the design process I considered and specify the
requirement of each of these operational areas.
User raising input
Data preparation
Data validation
Processing
Output handling
CONCLUSION
The system has been developed for the given condition and is
found working effectively. The developed system is flexible and
changes whenever can be made easy. Using the facilities and
functionalities of .Net, the software has been developed in a neat
and simple manner, thereby reducing the operators work.
The speed and accuracy are maintained in proper way. The user
friendly nature of this software developed in .Net framework is very
easy to work with both for the higher management as well as other
employees with little knowledge of computer. The results obtained
were fully satisfactory from the user point of view.
The system was verified with valid as well as invalid data in each
manner. The system is run with an insight into the necessary
modifications that may require in the future. Hence the system can
be maintained successfully without much network.
BIBLIOGRAPHY
Database Management System by Vipin C. Desai
System analysis and Design by Elias M. Awad
SQL SERVER by Microsoft Press
ASP.Net by Wrox Publications
JavaScript by R. Allen Wyke, Jason D. Gilliam
and Chariton
ONLINE BOOK SHOPPINGCHANDIGARH
SUBMITTED BY:ANSHUL GARG
ROLL NO. : CO4301Bachelor of Engineering(C.S.E)
CHANDIGARH COLLEGE OF ENGINEERINGand
TECHNOLOGYSector 26,Chandigarh
ONLINE BOOK SHOPPINGCHANDIGARH
SUBMITTED BY:ASHISH BAHUGUNAROLL NO. : CO4325
Bachelor of Engineering(C.S.E)
CHANDIGARH COLLEGE OF ENGINEERINGand
TECHNOLOGYSector 26,Chandigarh