Académique Documents
Professionnel Documents
Culture Documents
Abstract:
Books shops are the integral part of any civilization. They are present in every culture since ages. This application emphasizes on the transaction going on between the customer and shop keeper. The customer approaches the shop keeper/ sales boy and places his order. The shop keeper forwards the order to sales boy who fetches the required goods from inventory. Then the shop keeper calculates bill and issues to the customer. The customer on paying the bill takes goods from the shop keeper. In turn, shop keeper fetches goods from supplier. Customer places order to the shop keeper/sales boy Sales boy collects goods and forwards them to shop keeper Shop owner calculates bill and forwards to the customer Customer on paying the bill receives goods from shop keeper Shop keeper places order to supplier and receives goods TEXTUAL ANALYSIS (a)ACTORS i. Customer ii. Shop Owner iii. Sales boy iv. Supplier (b)VERBS i. Customer: 1. Places order to shop owner/sales boy 2. Receives bill from shop owner 3. Pay the bill 4. Receive goods
ii. Shop Owner: 1. Receives order from customer 2. Forwards order to sales boy 3. Receive goods from sales boy 4. Calculates bill 5. Receives payment 6. Places orders to supplier 7. Maintains inventory iii. Supplier 1. Receives order from shop owner 2. Delivers goods to shop owner
1.Introduction
1.1 Purpose
The customer approaches the shop keeper/ sales boy and places his order. The shop keeper forwards the order to sales boy who fetches the required books from inventory. Then the shop keeper calculates bill and issues to the customer. The customer on paying the bill takes books from the shop keeper. In turn, shop keeper fetches books from supplier.
1.2
1. 2. 3. 4.
Document Conventions
The topographical conventions followed in the document are: Font used is Times New Roman. Main headings with font size 26 in bold with underline. Sub headings with font size 16. Regular paragraph writing in font size 12.
1.3
This document is intended and suggested reading for the developer and project managers who may add new features to the proposed project. Marketing staff who markets the project need to know the features of the project to market it. The project users or the customers, those who actually uses of the product, testers those who test the product, different database designers designing the interfacing databases to the have to go through this document.
1.4
Project Scope
The intended purpose of this project is to purchase the books by providing a convenient user interface. The benefits obtained from the project are that the convenient user interface online and ease of getting purchasing books online attract more number of customers to purchase the books and reduces the queues and the inconvenience caused to the customers due to the long queues.
1.5
References
The references used in designing this project are studying the purchase of books from the book shop.. The books can be purchased online providing a convenient user interface.
1.6
1. TCP/IP: Transmission Control Protocol/Internet Protocol 2. HTTP: Hypertext Transfer Protocol 3. HTML: Hypertext Markup Language 4. JSP: Java Server Pages 5. ID: Identification.
Software Requirements: Backend--- Microsoft Access Database Frontend---JSP Hardware Platform: 256 MB and above Main Memory Hard disk Capacity - 40GB or more. Processor --- Pentium 4 and above or its equivalent.
3. System Features
3.1 Online book Shopping:
` 3.1.1 Description and Priority
System provides the user with the capability of purchasing the books online without queueing. It forms the basic functionality of the system and is of higher priority.
Reliability
The products automatic upgrade feature will help us easily deploy defect fixes to the endusers. The user guide and product website will include troubleshooting guide and checklist of information to have at hand before contacting technical support.
Supportability
Supportability is our ability to provide cost effective technical support.
Performance Requirements
There is a better component design to get better performance at peak time. Each and every schema is normalized to the maximum normal form that can be attained to get better performance and low redundancy.
Security Requirements
Secure access of confidential data (users details) and constrained. access of information to the regular NetUsers who can purchase the books online. Only database administrator has the total access to the system and requires authentication by the system.
5. Interfaces
User Interfaces
The project provides GUI forms to the users for easy understanding and application. The screens are designed in JAVA. The project offers different menus to the user to select from the given options.
Hardware Interfaces
Monitor screen the software shall display information to the user via the monitor screen. Mouse the software shall interact with the movement of the mouse and the mouse buttons. The mouse shall activate areas for data input, command buttons and select options from menus. Keyboard the software shall interact with the keystrokes of the keyboard. The keyboard will input data into the active area of the database.
Software Interfaces
Windows is the operating system employed in this project as a software interface.
1. Association Relationship
An association provides a pathway for communication. The communication can be between use cases, actors, classes or interfaces. Associations are the most general of all relationships and consequentially the most semantically weak. If two objects are usually considered independently, the relationship is an association
NetUser
login
2. Generalization Relationship
A generalize relationship is a relationship between a more general class or use case and a more specific class or use case. A generalization is shown as a solid-line path from the
more specific element to a more general element. The tip or a generalization is a large hollow triangle pointing to the more general element.
Subclass Superclass
3. Extend Relationship
An extend relationship is a stereotyped relationship that specifies how the functionality of one use case can be inserted into the functionality of another use case. Extend relationships between use cases are modeled as dependencies by using the Extend stereotype.
Extend relationships are important because they show optional functionality or system behavior. For example, Rational Rose allows you to place crop marks on printed diagrams.
4. Include Relationship
An include relationship is a stereotyped relationship that connects a base use case to an inclusion use case. An include relationship specifies how behavior in the inclusion use case is used by the base use case.
Include relationships are important because they represent that the inclusion use case functionality is used by the base use case.
6.2
Identifying Usecases
1. aLogin: Login for administrator in order to manage the system. 2. uLogin: It is the basic functionality provided to the Netuser by the system in order to perform any other work on the system such booking, cancellation and enquiry. In order to Login into the system and perform some work a User need to provide a legitimate user-ID and password combination that is valid on the domain 3. register: In this the user is provided to get registered on the system in order to become a legitimate user and access the services provided by the system. In order to get registered a user has to provide the details necessary for the registration as asked by the system.
6.4.2
login
Book by name
Analysis Document
Sequence Diagrams Collaboration Diagrams State Chart Diagram
7. Sequence Diagrams
Sequence diagrams represent the objects participating in the interaction horizontally and time vertically. Each column represents an object that participates in the interaction. Messages are shown by solid arrows. Labels on solid arrows represent message names and may contain arguments. Activations are depicted by the vertical rectangles. The actor who initiates the interaction is shown in the use case diagrams. If other actors communicate with the system during the use case, these actors are represented on the right hand side and can receive messages. Although for simplicity, interactions among objects and actors are uniformly represented as messages, the modeler should keep in mind that interactions between actors and the system are of a different nature than interactions among objects. These diagrams can be used to describe either an abstract sequence or concrete sequences. When describing all possible interactions, sequence diagrams also provide notations for conditionals and iterations. A condition on a message is denoted by an expression in brackets before the message name. If the expression is true the message is sent. Repetitive invocation of a message is denoted by a * before the message name.
User registration User 1: Enter details 2: Store 3: Stores 4: Acknowledgement 5: registered System Database
User Login
User 1: Enter details 2: verify 3: Verifies 4: Acknowledgement 5: Logged in System Database
Make order
User
System
Database
Bank
1: Search for books 2: get details 3: Checks 4: Acknowledgement 5: Display list 6: Select a book 7: Enter Card details 8: Check details 9: Checks 10: Acknowledgement 11: Deduct amount from account 12: deducts 13: Acknowledgement 14: receive book
8.
Collaboration Diagrams
A collaboration diagram also called a commutation diagram is an illustration of the relationships and interactions among software objects in the unified modeling language (UML). This concept although more than a decade old, has been refined as a model paradigm and evolved. A collaboration diagram resembles a flowchart that portrays the roles, functionality and behavior of individual objects as well as the overall operation of the system in real time. Objects are shown as rectangles with naming labels inside. These labels are preceded by colons and may be underlined. The relationships between the objects are shown as arrows connecting the relevant rectangles along with labels that define message sequencing. They are best suited to the portrayal of simple interactions among relatively small numbers of objects. As the number of objects and messages grow, a collaboration diagram can become difficult to read. User Registration 1: Enter details User 5: registered 4: Acknowledgement 3: Stores System
2: Store
Databas e
3: Verifies
2: verify
Databas e
Make Order
1: Search for books 6: Select a book 7: Enter Card details User 5: Display list 14: receive book 10: Acknowledgement 13: Acknowledgement 4: Acknowledgement 2: get details 8: Check details 11: Deduct amount from account System
3: Checks
Databas e
Bank
9.
A state chart diagram is a graph that represents a state machine. State chart diagrams represent the behavior of entities capable of dynamic behavior by specifying its response to the receipt of event in stances. State charts, often used more in real-time embedded systems than in information systems, show for a class, the order in which incoming calls to operations normally occur and the conditions under which the operations respond and the response. They are a classcentric view of system functionality, as opposed to sequence and collaboration diagrams which are a use case-centric view of functionality. Purpose To model dynamic aspect of a system. To model life time of a reactive system. Describe different states of an object during its life time. To define a state machine to model states of an object.
Components of State Chart Diagrams 1. States - oblong boxes which indicate the stable states of the object between events 2. Transitions - the solid arrows which show possible changes of state 3. Events - the text on the transitions before the '/' showing the incoming call to the object interface which causes the change of state. 4. Conditions - a Boolean statement in square brackets which qualifies the event 5. Actions - the text after the '/' which defines the objects response to the transition between states. 6. Extra syntax which defines state centric functionality.
User
Login
Search for books, magazines, journals, etc., Select the books Order the books Pay the bill by credit card transactions receive the books
v th iew e b oks o
V wth ie e o e rd r
Inheritance
A very important concept in object-oriented design, inheritance, refers to the ability of one class (child class) to inherit the identical functionality of another class (super class), and then add new functionality of its own. To model inheritance on a class diagram, a solid line is drawn from the child class (the class inheriting the behavior) with a closed arrowhead (or triangle) pointing to the super class.
Association
There are 5 types of associations Bi-directional (standard) association An association is a linkage between two classes. Associations are assumed to be bidirectional -- in other words, both classes are aware of their relationship and of the other class -- unless you qualify the association as some other type of association. A bidirectional association is indicated by a solid line between the two classes. At either end of the line, we place a role same and a multiplicity value Unidirectional association A unidirectional association shows that two classes are related, but only one class knows that the relationship exists. A unidirectional association is drawn as a solid line with an open arrowhead (not the closed arrowhead, or triangle, used to indicate inheritance) pointing to the known class.
Association class In modeling an association, there are times when you need to include another class because it includes valuable information about the relationship. For this you would use an association class that you tie to the primary association. An association class (also called a drop class by my former professor) is represented like a normal class. The difference is that the association line between the primary classes intersects a dotted line connected to the association class. Aggregation Aggregation is a special type of relationship used to model a "whole to its parts" relationship. In basic aggregation relationships, the lifecycle of a part class is independent from the whole class's lifecycle. Composition aggregation The composition aggregation relationship is just another form of the aggregation relationship, but the child class's instance lifecycle is dependent in the parent class's instance lifecycle. Description of various classes present in the project: 1) Class name user Attributes- Uname Uage Ugender Uph no Uaddr Operations- Search the books Purchase Pays the bill Receive the books
Journals
Editions
User
UName UAge UAddress UEmail id UGender Registration() Login() Search for books() order the books() enter the credit card detail() receive the books()
Authors
Publications
System
IP Address Communication()
Bank Database
Bank Name Verify the credentials() Transfer funds()
Database
DBvalue IPAddress DBid Maintain resources()
Nodes - like initial node and activity final node, and. Activity building blocks, and Sometimes activity diagrams also contain building block for decision-making, but it
is questionable if these diagrams should be called activity diagram. The starting point of the diagram is the initial node, which is mostly located on top or on the left. And the ending of the diagram with an activity final node is on the bottom or on the right. In between there can be zero, one or more activity building blocks, which can be represented by rounded rectangles.
User
Bank
login
Books
Magazin es
journals
Select the books order the book payment of bills receive the order
debit
credit
12.
Component Diagram
Component diagrams provide a physical view of the current model. A component diagram shows the organizations and dependencies among software components, including source code components, binary code components, and executable components. These diagrams also show the externally-visible behavior of the components by displaying the interfaces of the components. Calling dependencies among components are shown as dependency relationships between components and interfaces on other components. Note that the interfaces actually belong to the logical view, but they can occur both in class diagrams and in component diagrams Component diagrams contains Component packages Components Interfaces Dependency relationships Component packages represent clusters of logically related components, or major pieces of your system. Component packages parallel the role played by logical packages for class diagrams. They allow you to partition the physical model of the system. A Component represents a software module (source code, binary code, executable, DLL, etc.) with a well-defined interface. The interface of a component is represented by one or several interface elements that the component provides. Components are used to show compiler and run-time dependencies, as well as interface and calling dependencies among software modules. They also show which components implement a specific class. A system may be composed of several software modules of different kinds. Each software module is represented by a component in the model. To distinguish different kinds of components from each other, stereotypes are used. An interface specifies the externally-visible operations of a class and/or component, and has no implementation of its own. An interface typically specifies only a limited part of the behavior of a class or component. A Dependency is a relationship between two model elements in which a change to one model element will affect the other model element. Use a dependency relationship to connect model elements with the same level of meaning. Typically, on class diagrams, a dependency relationship indicates that the operations of the client invoke operations of the supplier.
login
payment
view the order online book shop system authenticat e the users
13.
Deployment Diagram
A deployment diagram in the Unified Modeling Language serves to model the physical deployment of artifacts on deployment targets. Deployment diagrams show "the allocation of Artifacts to Nodes according to the Deployments defined between them." Deployment of an artifact to a node is indicated by placing the artifact inside the node. Instances of nodes (and devices and execution environments) are used in deployment diagrams to indicate multiplicity of these nodes. For example, multiple instances of an application server execution environment may be deployed inside a single device node to represent application server clustering.
Datab ase
OBS system
Server
TCP/I P
Test Cases
Testing is the process of finding differences between the expected behavior specified by the system model and the observed behavior of the implemented system.
Description:
It is a fault detection technique that tries to create failures or erroneous states in a planned way. This allows the developer to detect failures in the system before it is released to the customer. System testing is an expensive process but it is required in order to achieve a complete system. Generally the users tend to think that the process of providing that there do not exist, any errors in the system forms the testing part.
Types of Testing:
Unit Testing: 1. the most micro scale of testing. 2. A unit is smallest software component 3. Objects and methods 4. Procedures and functions 5. Performed by programmer and units are tested in isolation. 6. Ensure that system is working according build design. 7. Not to be confused with debugging. 8. Also known as component, module testing Integration Testing:
1. Testing of more than one (tested)
unit together to determine if they function correctly. 2. Focuses on interfaces of Communication between units 3. It is done using the integration test design prepared during the architecture design. 4. Helps assembling incrementally a whole system, ensuring the correct flow of data 5. Done by developers/designers and testers in collaboration 6. Also called Interface Testing or Assembly Testing. System Testing: Testing the system as a whole - Black-box type testing that is based on overall requirements specifications; covers all combined parts of a system. 1. Ensures that system meets all functional and business requirements. 2. Focus on verifying that specifications are met 3. Validating that the system can be used for the intended purpose 4. The system test design is derived from the system design documents and is used in this phase.
5. It can involve a number of specialized types of tests to check performance, stress, documentation etc. Sometimes testing is automated using testing tools one by Independent testing group Acceptance testing 1. To determine whether a system satisfies its acceptance criteria and business requirements or not. 2. Similar to System testing in that the whole system is checked, but the important difference is the change in focus. 3. Done by real business users. 4. It enables the customer to determine whether to accept the system or not.
15. Conclusion
The project can be applied for any kind of online book shop with the simple modifications. The convenient user interface provided is easy to market and increases the scope of use of the book.