Professional Documents
Culture Documents
ON
SUBMITTED BY
MONIKA MATHUR
OF
1) INTRODUCTION
2) FEASIBILITY STUDY
3) ANALYSIS
4) HARDWARE REQUIREMENTS
5) SOFTWARE REQUIREMENTS
6) REQUIREMENT ANALYSIS
7) PROJECT DESIGN
8) TESTING
9) IMPLIMENTATION
11) CONCLUSION
12) BIBLIOGRAPHY
2
1) INTRODUCTION
To develop an application which will provide a System for all the activities carried out in a book store.
3
2) FEASIBILITY STUDY
The feasibility study purposes one or more conceptual solutions to the problem set for project.
The conceptual solutions give an idea of what the new system will look like. They define
what will be done on computer and what will remain manual. They also indicate what inputs
the system and outputs will be needed will produce. These solutions must be accepted.
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 area
of interest:
4
3) ANALYSIS
USER REQUIREMENTS:-
Besides all the jobs that were being done in the existing system, the user expected certain
other features to be added to the package. Since the existing system is manual, reports are not
generated but in the proposed system reports are required at different queries. In the manual
system, all return items were not obtained but in the proposed system, user requires to
generate these ranges.
PERFORMANCE REQUIREMENTS:-
The following performance characteristics are taken care of while developing the system:
User Friendliness:
The system is easy to learn and understand. A native user can also use the system
effectively, without any difficulty.
User Satisfaction:
The system is such that it stands up to the user expectations.
Response Time:
The response time of all the operations is good. This has been made possible by careful
programming.
5
Safety And Robustness:
The system is able to avoid or tackle disastrous action. In other words, it should be foul-
proof. The system safeguards against undesired events without human intervention.
Error Handling:
Response to user errors and undesired situations has been taken care of to ensure that the
system operates without halting.
6
4) HARDWARE REQUIREMENTS
RAM : 256MB
7
5) SOFTWARE REQUIREMENTS
TECHNOLOGIES
Development Tool:
8
Database:
Platform:
METHODOLOGIES
2. Centralized Database.
9
6) REQUIREMENT ANALYSIS
One part corresponds to the basic information that is stored and needed to be
retrieved.
Second part is for reflecting the current changes and updates (i.e. day to day) into
the existing database for future requirements.
It deals with the characteristics of the system that can’t be expressed as functions e.g.
Maintainability,
As per the point of view of the maintainability, this software is easy to maintain there is
less need for updating of the software.
General
Requirement Analysis is a software engineering task that bridges the gap between system level
requirements engineering and software design.
In the proposed project Software Requirement Analysis has been divided into five areas of effort as
follows :-
(c) Modeling.
10
(d) Specification.
(e) Review.
Quality function deployment (QFD) is a quality management technique that translates the needs of the
customer into technical requirements for the development of the software. In QFD three types of
requirement are identified:-.
11
(vi) Maintenance of integrity and inter-linkages of data.
(vii) Extensive query facility to provide immediate answers for
management.
(viii) Matching of physical and logical movement of files.
(ix) Should be upgradeable to incorporate new features.
(x) Should be expandable.
(xi) Should have fastest possible response while processing queries, reports
and updates.
12
7) PROJECT DESIGN
In order to design a web site, the relational database must be designed first.
Conceptual design can be divided into two parts: The data model and the process
model. The data model focuses on what data should be stored in the database while the
process model deals with how the data is processed. To put this in the context of the
relational database, the data model is used to design the relational tables. The process
model is used to design the queries that will access and perform operations on those
tables.
13
7.1 Data Model
A data model is a conceptual representation of the data structures that are required
by a database. The first step in designing a database is to develop an Entity-Relation
Diagram (ERD). The ERD serves as a blue print from which a relational database maybe
deduced. Figure shows the ERD for the project and later we will show the
transformation from ERD to the Relational model.
entity A matches exactly one record in entity B and every record in B matches exactly
one record in A. One to many means that every record in A matches zero or more records
in B and every record in B matches exactly one record in A. If there is a one to many
relationship between two entities, then these entities are represented as Associative
Entities. In the Relational Database model, each of the entities will be transformed into a
14
table. The tables are shown below along with the attributes.
Members Table
15
Editorial Categories Table
Categories Table
16
Credit Card Types Table
Orders Table
17
Editorials Table
18
19
7.2.2 Data Flow Diagram (DFD)
Data Flow Diagrams show the flow of data from external entities into the system,
and from one process to another within the system. There are four symbols for drawing a
DFD:
1. Rectangles representing external entities, which are sources or destinations of
data.
2. Ellipses representing processes, which take data as input, validate and process it
and output it.
3. Arrows representing the data flows, which can either, be electronic data or
physical items.
4. Open-ended rectangles or a Disk symbol representing data stores, including
electronic stores such as databases or XML files and physical stores such as filing
cabinets or stacks of paper.
Figures are the Data Flow Diagrams for the current system. Each process within
the system is first shown as a Context Level DFD and later as a Detailed DFD. The
Context Level DFD provides a conceptual view of the process and its surrounding input,
output and data stores. The Detailed DFD provides a more detailed and comprehensive
view of the interaction among the sub-processes within the system.
20
Customer-Browse Context DFD
21
Customer - ShoppingCart Context DFD
22
Authenticated User-Purchase DFD
23
7.3 User Interface Design
Before implementing the actual design of the project, a few user interface designs
were constructed to visualize the user interaction with the system as they browse for
books, create a shopping cart and purchase books. The user interface design will closely
follow our Functional Decomposition Diagram. Figures show the initial designs of the web
pages.
24
Home Page
25
Registration
26
Login
27
Administration Main Page
28
Administration Members
29
Administration Orders
30
Administration Books
31
Administration Categories
32
Administration Editorials
33
Administration Editorial Category
34
Administration Credit card Types
35
Shopping Cart
36
Searching
37
Advance Search
38
Categories
39
Book Details
40
8) TESTING
Software Testing is a critical element of software quality assurance and represents the ultimate review
of specification, design and code generation. The increasing visibility of software as a system element
and the attendant “costs” associated with a software failure are motivating forces for well planned,
thorough testing.
Testing Objectives
The following are the testing objectives:
(a) Testing is a process of executing a program with the intent of finding an error.
(b) A good test case is one that has a high probability of finding an as-yet-
undiscovered error.
(c) A successful test is one that uncovers an as yet undiscovered error.
Testing Principles
The basic principles that guide software testing are as follows:
(a) All tests should be traceable to customer requirements.
(b) Tests should be planned long before testing begins.
(c) The Pareto principle applies to software testing. Pareto principle states that 80
percent of all errors uncovered during testing will likely be traceable to 20 percent of
all program components.
(d) Testing should begin “ in the small “ and progress toward testing “ in the
large”.
(e) Exhaustive testing is not possible.
(f) To be most effective, testing should be conducted by an independent third
party.
41
Testability
Software Testability is simply how easily (a computer program can be tested). The following
characteristics are considered that lead to testable software.
(a) Operability: “ The better it works, the more efficiently it can be tested”.
(b) Observability: “ What you see is what you test”.
(c) Controllability: “ The better we can control the software, the more the testing
can be automated and optimized.”
(d) Decomposability: “ By controlling the scope of testing, we can more quickly
isolate problems and perform smarter retesting.
(e) Simplicity: “ The less there is to test, the more quickly we can test it.”
(f) Stability: “ The fewer the changes, the fewer the disruptions to testing.”
(g) Understandability: “ the more information we have, the smarter we will test.
Test Case Design
The design of testing can be divided into two broad categories :-
(a) Black Box testing.
(b) White Box Testing.
Black Box Testing. When computer software is considered, black-box testing alludes to tests
that are conducted at the software interface. Although they are designed to uncover errors,
black-box tests are used to demonstrate that software functions are operational, that input is
properly accepted and output is correctly produced and that the integrity of external
information (e.g a database) is maintained.
White Box Testing. White box testing of software is predicated on close examination of
procedural detail. Logical paths through the software are tested by providing test cases that
exercise specific sets of conditions and /or loops. The main disadvantage with white box
testing is even for smaller programs the number of possible logical paths can be very very
large.
In the present project Black Box testing is used.
Software Testing Strategies
Software testing is one element of a broader topic that is often referred to as Verification and
Validation (V & V). Verification refers to the set of activities that ensure that software
42
correctly implements a specific function. Validation refers to a different set of activities that
ensure that the software that has been built is traceable to customer requirements. In other
words V & V can be stated as :-
(a) Verification: “ Are we building the product right”.
(b) Validation: “ Are we building the right product”.
The following issues were considered for a successful software testing strategy is to be
implemented :-
(a) Specify product requirements in a quantifiable manner long before testing
commences.
(c) Understand the users of the software and develop a profile for each user category.
(h) Conduct formal technical reviews to assess the test strategy and test cases themselves.
(a) Entering new case details including modifications and successfully tracking various
cases based on inputs by the user.
43
(f) Automatic display of options in the front end depending on the option selected by the
user.
For example, where user selects New Case, the relevant menu/ form for the entry of New Case should
open up automatically. Any entries made by the user should be correctly stored in the relevant
database. Similar behavior is being tested for other menus/ forms and entries.
Integration Testing
Integration testing is a systematic technique for constructing the program structure while at
the same time conducting tests to uncover errors associated with interfacing. In the present
project the main interfaces of the system are as follows :-
(a) Interface with Database.
Validation Testing
Software validation is achieved through a series of Black Box tests that demonstrate
conformity with requirements. Validation checks have been performed for all the units/
functions described in the requirements specifications. In the present project the following
validations were checked :-
(a) Whether the fields (such as Number field) starts with a characters or contains
special characters
(b) Whether the character fields starts with number fields
(c) Whether the functions such as calculation of result/ performance is done
properly or not.
(d) Whether valid and required data is send into the database.
Under Validation testing two types of test are described :-
44
(a) Alpha Testing. The alpha test is conducted at the developers site by a
customer.
(b) Beta Testing. The Beta Test is conducted at one or more customer sites.
System Testing
System testing fall outside the scope of the software process and are conducted solely by
software engineers. It includes the following :-
(a) Recovery testing
(b) Security testing
(c) Stress testing
(d) Performance testing
Considering the fact that the present project is not much large to invite System testing, this
test has not been performed for the present project.
45
9) IMPLEMENTATION
Implementation of the present project can be simply done by doing it live on server.Before installing
the project at client side its better to implement the software as a parallel run in order to test the
software function. This time period can be between 15 days to 2 months. Later if the system shows a
efficient functionality then the software can be used in complete and then the old system can be
discarded, if present
46
10) LIMITATIONS AND FUTURE DEVELOPMENT
There are some limitations for the current system to which solutions can be
provided as a future development:
1. The Website is not accessible to everyone. It can be deployed on a web
server so that everybody who is connected to the Internet can use it.
2. Credit Card validation is not done. Third party proprietary software can be
used for validation check.
As for other future developments, the following can be done:
1. The Administrator of the web site can be given more functionality, like
looking at a specific customer’s profile, the books that have to be
reordered, etc.
2. Multiple Shopping carts can be allowed.
47
11) CONCLUSION
The Internet has become a major resource in modern business, thus electronic shopping has
gained significance not only from the entrepreneur’s but also from the customer’s point of
view. For the entrepreneur, electronic shopping generates new business opportunities and for
the customer, it makes comparative shopping possible. As per a survey, most consumers of
online stores are impulsive and usually make a decision to stay on a site within the first few
seconds. “Website design is like a shop interior. If the shop looks poor or like hundreds of
other shops the customer is most likely to skip to the other site”. Hence we have designed the
project to provide the user with easy navigation, retrieval of data and necessary feedback as
much as possible.
In this project, the user is provided with an e-commerce web site that can be used to buy
books online. To implement this as a web application we used ASP.NET as the Technology.
ASP.NET has several advantages such as enhanced performance, scalability, built- in security
and simplicity. To build any web application using ASP.NET we need a programming
language such as C#, VB.NET, J# and so on. C# was the language used to build this
application. For the client browser to connect to the ASP.NET engine we used Microsoft’s
Internet Information Services (IIS) as the Web Server.ASP.NET uses ADO.NET to interact
with the database as it provides in-memory caching that eliminates the need to contact the
database server frequently and it can easily deploy and maintain an ASP.NET application.
SQL Server or MS access was used as back-end database since it is one of the most popular
open source databases, and it provides fast data access, easy installation and simplicity.
A good shopping cart design must be accompanied with user-friendly shopping
cart application logic. It should be convenient for the customer to view the contents of
their cart and to be able to remove or add items to their cart. The shopping cart
application described in this project provides a number of features that are designed to
make the customer more comfortable.
This project helps in understanding the creation of an interactive web page and
the technologies used to implement it. The design of the project which includes Data
Model and Process Model illustrates how the database is built with different tables, how
the data is accessed and processed from the tables. The building of the project has given
48
me a precise knowledge about how ASP.NET is used to develop a website, how it
connects to the database to access the data and how the data and web pages are modified
to provide the user with a shopping cart application.
49
12) BIBLIOGRAPHY
Articles
1. Chen, L. (2000). Enticing Online Consumers: A Technology Acceptance
Perspective Research- in-Progress. ACM Proceedings, SIGCPR.
2. Diwakar, H., Marathe, M. (2000). The architecture of a one-stop web-window
shop. December, ACM SIGecom Exchanges, Volume 2 Issue 1.
3. Morrison, M., Morrison, J., and Keys, A. (2002). Integrating Web Sites and
Databases. Communications of the ACM, September, Volume 45, Issue 9.
4. Kubilus, N. J. (2000). Designing an e-commerce site for users. September 2000,
Crossroads, Volume 7 Issue 1.
5. Norman, D.A. The Design of Everyday Things. Doubleday, New York, 1994.
6. Tilson, R., Dong, J., Martin, S., Kieke, E. (1998). A comparison of two current ecommerce
sites. September, Proceedings of the 16th annual international
conference on Computer documentation.
Books
7. Anderson, R., Francis, B., Homer, A., Howard, R., Sussman, D. and Watson.
(2001) Professional ASP.NET. Wrox Press Ltd.
8. Brown, S., Burdick, R., Falkner, J., Galbraith, B., Johnson, R., Kim, L., Kochmer,
C., Kristmundsson, T. and Li S (2001). Professional JSP. Wrox Press Ltd.
9. Walther, S. (1998) Active Server Pages. SAMS Net.
10. Wagner, R., Daniels, K., Griffin, G., Haddad, C. and Nasr, J. (1997) JavaScript
Unleashed. SAMS Net.
11. Wiley, Y. M. J. & Sons. (1997) Creating the Virtual Store: Taking Your Web Site
from Browsing to Buying.
Websites
12. http://encyclopedia.laborlawtalk.com/IIS for information on IIS
13. http://aspnet.4guysfromrolla.com/articles/020404-1.aspx for relationship between
IIS and ASP.NET.
14. http://216.15.201.66/dpec/course.htm?fullpg=http%3A//216.15.201.66/dpec/cours
50
es/wac312/wah006.htm&acro=wac312 for security authentication in ASP.NET
15. http://samples.gotdotnet.com/quickstart/aspplus/doc/mtstransactions.aspx for
information on Transactions in ASP.NET.
16. http://www.x-cart.com/articles/design_development.html for online customer
behavior.
17. http://aspnet.4guysfromrolla.com/articles/011404-1.aspx for relation between IIS
and ASP.NET.
18. http://www.informatik.uni-bremen.de/uniform/gdpa_d/methods/m-fctd.htm for
definition of Functional Decomposition.
19. http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm for definition of
Data Flow Diagram.
20. http://www.startvbdotnet.com/ado/default.aspx for information on ADO.NET
21. http://mypage.iusb.edu/~hhakimza/505/index.html for ADO.NET objects.
22. http://msdn.microsoft.com for ADO.NET objects.
51