Sem6 Comp Oose ReaderHut
Sem6 Comp Oose ReaderHut
List of Experiments
Exp TitleSr
of no.
the Title of the Experiment
Activity Diagram
3
Sequence Diagram
Collaboration Diagram
Class Diagram
4 Design Document for Mini Project.
7
Component Diagram
Deployment Diagram
Experiment No :1
1.1 Purpose
READER’S HUT is a library, which provides reading services to its members. This library provides
following facilities to the readers:
Granting and renewal of membership.
Issue and return of books.
Purchase and Updation of books.
While providing the above facilities, the following drawbacks are encountered:
Issuing more than 1 book to a member
Issuing a book to a member whose membership has expired.
Physically searching for required book.
Time consuming process.
1.2 Scope
5. Overall Description
2.1.7. Operations
The operations of the client module and the admin module must be easy and intuitive to the users. No
specific knowledge must be required to operate the same. The server module must be installed and
maintained with no interaction with the existing software on the machine.
Back up operations must be defined.
Recovery operations must be specified in terms of user machine failures or database failures.
2.1.8. Site adaptation requirements
A member has a unique identification number called the membership number. Membership has an
associated expiry date, which is used for notification to users and to the librarian. It also
maintains the amount of fine that is collected in the membership period.
The acquisition of books requires assignment of a unique acquisition number for each acquired
book and other details such as price, author name etc, which are used for report generation
purposes.
The issuing of book requires the verification of membership details and books are issued if the
member has a valid membership and has not already issued a book which is not returned yet.
While returning a book, the due date of the book is checked and if necessary fine calculations are
done and the database us updated accordingly.
2.4 Constraints
The system should enforce authentication and guarantee validity and integrity of the database.
6. Specific Requirement
3.6 External interface requirement
Acquisition entry screen: This screen consists of fields like book name, author, price, acquisition
number, publisher name, number of pages, date of publish, date of purchase and book status.
Application form: The form consists of Name, address, membership fee and caution money.
Admin screen: The admin screen consists of fields to update or add new data to the database. It
consists of fields for updating book status, membership details, generating invoices and report
generation.
S.No. ACQ ACCE BOO AUTH AUTH PUBL PRIC NO. DATE DATE
UISITI SSIO K OR-I OR-II ISHE E OF OF OF
ON N TITLE NAM NAM R PAGE PUBL PURC
NUM NUM E E NAM S ISH HASE
BER BER E
Portability: The system is to be developed using java (platform independent tools), hence the system
will be portable.
Recoverability: Recovery steps have to be defined in case of system or database failures. For
database log based recovery is used.
Theory:
Feasibility Analysis:
No project should be undertaken without detailed cost estimates and scope controls. Even if
a project is already underway, feasibility analysis can determine likely outcomes well ahead
of time. The following is a brief outline of the feasibility process.
Constraints:
1. Cost :The cost incurred in developing this project include the cost of software
developers,the system (computers required) and the softwares required.
4. Scope: The online system to be designed should perform following major functions:
Acquisition of books.
Membership maintenance.
Book issue.
Book return.
Renewal of membership.
Answer management queries.
Cost-Effectiveness:
Estimated direct costs:The direct cost includes cost of the softwares required and software
developers.
Indirect costs: The indirect cost includes training provided to the end user.
Risk Analysis:
The software developers working on this project are highly skilled and have good
experience on current platform being used.
The project is developed using agile project management methodology.
Strong project management procedures
Contingency plans are developed in case of system failure .
Complexity Analysis:
The complexity of the task assigned to the developers depends upon the experience and job
knowledge of developer.
Requirements Definition :
A Requirements Definition gives the rationale, goals and description of a system. It is both a
roadmap for the project and criteria for assessing completion. Thus the following task are
performed during the project development :
Assess existing operations: Review systems, interview users, discuss options with
management.
Review constraints: budget, time, personnel and technical.
Evaluate strengths and enabling conditions.
Project Success :
Software projects are inherently risky. Ethical approaches combined with good management
mitigates those risks.
The projects is feasible for given budget, time, personnel and technical constraints.
The projects include all the factors critical for success: the right goals, the right staff, the
right vendors, the right work breakdown, the right budget and the right schedule.
Conclusion:Thus, feasibility analysis is performrd for the project .
Theory:
Requirement Modeling:
Use cases
As common for most notations, the activity diagram notation has some elements that are
necessary for you to understand if you want to be “conversant” about activity diagrams. A
basic activity diagram can have the following element:
Activity states, which represent the performance of a step within the workflow.
Transitions that show what activity state follows after another. This type of transition is
sometimes referred to as a completion transition, since it differs from a transition in that it
does not require an explicit trigger event, it is triggered by the completion of the activity the
activity state represents.
Decisions for which a set of guard conditions are defined. These guard conditions control
which transition of a set of alternative transitions that follows once the activity has been
completed. You may also use the decision icon to show where the threads merge again.
Decisions and guard conditions allow you to show alternative threads in the workflow of a
business use case.
Synchronozation Bars ,which you can use to show parallel subflows .Synchronization bars
allow you to show concurrent threads in the workflow of a business use case.
Activity Diagram:
Sequence Diagram :
Sequence Diagram for book return:
.
Sequence Diagram for Issue book :
Collabrotion Diagrams:
In collaboration diagrams,objects are drawn as rectangles and the lines between them
indicates links.
A link is an instance of an association.The order of the messages along the links
between the objects is indicated by the number at the head of the message.
Collabration Diagrams are spatial representation of objects,links,interactions.
Collabration Diagram:
Collabration Diagram:
Content Modeling:
Content modeling is done using Class Diagram and state diagram.
Class Diagram:
Class diagrams are the most popular UML diagrams used by the object oriented
community. It describes the objects in a system and their relationships. Class diagram
consists of attributes and functions.
A single class diagram describes a specific aspect of the system and the collection of
class diagrams represents the whole system. Basically the class diagram represents the
static view of a system.
Class diagrams are the only UML diagrams which can be mapped directly with object
oriented languages. So it is widely used by the developer community
Class Diagram :
Statechart diagram
Represents the behavior of a class in terms of states at run time.
Statechart diagram define different states of an object during its lifetime. And these states
are changed by events. So Statechart diagrams are useful to model reactive systems.
Reactive systems can be defined as a system that responds to external or internal events.
Statechart diagram describes the flow of control from one state to another state. States are
defined as a condition in which an object exists and it changes when some event is triggered.
So the most important purpose of Statechart diagram is to model life time of an object from
creation to termination.
State Diagram :
Document:
a. Purpose
READER’S HUT is a library, which provides reading services to its members. This library provides
following facilities to the readers:
Granting and renewal of membership.
Issue and return of books.
Purchase and Updation of books.
While providing the above facilities, the following drawbacks are encountered:
Issuing more than 1 book to a member
Issuing a book to a member whose membership has expired.
Physically searching for required book.
Time consuming process.
b. Scope
Server: A part of the client server model. Has higher processing capacity services
Client: A part of the client server model. Requests services from the server.
References
http://www.howstuffworks.com/tcp-ipconnections/1.html
9. Decomposition Description
a. Module Description
i. Admin Module Description
The admin module allows the user (Librarian) to make changes to the database. It allows him/her
the generation of various reports and invoices. It also allows him/her to manage membership
accounts.
The client module allows the members to login and query the database for available books and for
membership details.
It allows for requesting of books.
It also provides interface for membership application and renewal.
The server module interfaces with the database and allows the admin and client module to query
information from the database.
All the database operations are performed by the Server module.
The client and admin module interface with the server module using TCP/IP connections.
Admin process starts whenever the Librarian logs in. This process then connects to the Server
process and maintains the connection till the librarian logs out. It passes the queries to the
server module over the connection.
The client process starts whenever any member logs in. This process then connects with the
Server Process and maintains the connection till the member logs out. Queries are passed by
this process to the Server process over the connection.
c. Data Description
i. Member
Member entity stores the information about the members of the Library. It is required for validating
member information while issuing books and it is updated every time books are issued, returned
or fine is to be calculated.
ii. Books
The Book entity stores the information of the books in the library. A new record is created
whenever new books are acquired. Book status is updated every time books are issued or
returned.
iii. Issuance
Issuance entity stores the records of books issued to members. These records are used for
calculating fine for delayed returns and to keep a track of books that are issued.
The Admin and Client modules require connecting to the Server module using TCP/IP connections
and all the transactions are made using these two modules.
b. Inter-Process Dependency
The Client and Admin processes send queries to the Server process. These queries are then
passed on to the Database management system by the Server process using the JDBC
connection.
c. Data Dependency
The Issuance records require member id from the member records and acquisition number from
the book records. These are necessary to maintain information for issuing books and for
calculating fines for members.
11. Interface Description
a. Module Interface
i. Admin Module Interface
The admin module interfaces with the server module using the TCP/IP connection. It also provides
a user interface for the librarian to manage member accounts as well as for managing the book
details.
The client module interfaces with the server module using the TCP/IP connections. It also provides
a user interface for the member to access membership details and also renew membership.
It also provides a user interface to unregistered members to apply for memberships.
The server module interfaces to the client and admin modules through TCP/IP connections. It also
interfaces with the database using JDBC.
It does not provide a user interface.
It also provides a web server component.
b. Process Interface
i. Client Process Interface
The client process interfaces with the server process. The client process requires identification
information for connecting to the server process.
The admin process interfaces with the server process. The client process requires identification
information for connecting to the server process. The admin process has higher priority over the
client process when it comes to connect to the server.
The Server process interfaces with the client and admin process after validating the identification
information from the connecting process. The server process also interfaces with the database
using JDBC.
ii. Books
iii. Issuance
1. SRS
2. Software project management plan
3. Software design document(data design, architectural design, interface design and procedural
design)
4. Software testing documents(test plan, test cases )
5. User manuals
2. Project Organization:
WATERFALL MODEL:
In order to complete the project successfully, the various tasks are assigned amongst the group
members according to there ability. Each member should perform the given task efficiently. The
members should give proper design for the code, based on which the functions have to be
performed:
Following table shows the roles and responsibilities of the each member:
System requirements:
3.2 Assignments:
ROLES NAME RESPONSIBILITIES
Requirement
gathering
Test Approaches:
Unit testing
Unit testing focuses verification effort on the smallest unit of software design – the software module.
Using the component level design description as a guide, important control paths are tested to
uncover errors within the boundary of the module. The unit test is white box oriented, and the steps
can be conducted in parallel for multiple modules.
Integration testing
Interfacing of various modules can cause problems. Data can be lost across an interface, one
module may affect the other, and individually acceptable imprecision may be magnified when
combined.
Integration testing is a systematic technique for constructing the program structure while at the same
time conducting tests to uncover errors associated with interfacing. The objective is to take unit tested
components and build a program structure that has been dictated by design.
Stress testing
During earlier testing steps, white box and black box techniques result in a thorough evaluation of
normal program functions and performance. Stress tests are designed to confront programs with
abnormal situations. Stress testing executes a system in a manner that demands resources in
abnormal quantity, frequency or volume. Essentially, the tester attempts to break the program.
Performance testing
Software that performs the required functions but does not conform to performance requirements is
unacceptable. Performance testing is designed to test run-time performance of software within the
context of an integrated system. Performance testing occurs through all the steps in the
testing process. However, it is not until all system elements are fully integrated that the
true performance of a system can be ascertained.
Security testing
Any computer-based system that manages sensitive information or causes actions that
can harm individuals is a target for improper or illegal penetration. Security testing
attempts to verify that protection mechanisms built into a system will, in fact, protect it from
improper penetration. During security testing, the tester plays the role of the hacker who
desires to penetrate the system. Given enough time and resources, good security testing
will ultimately penetrate a system. The role of the system designer is to make penetration
cost more than the value of the information that will be obtained.
Recovery testing
Many computer-based systems must recover from faults and resume processing within a
pre-specified time. In some cases, a system must be fault-tolerant, i.e. processing faults
must not cause overall system function to cease. In other cases, a system failure must be
corrected within a specified period of time or severe economic damage will occur.
Recovery testing is a system test that forces the software to fail in a variety of ways and
verifies that recovery is properly performed. If recovery is automatic, re-initialization,
check-pointing mechanisms, data recovery and restart are evaluated for correctness. If
recovery requires human intervention, the mean-time-to-repair (MTTR) is evaluated to
determine whether it is within acceptable limits.
Test Plan:
It is a document consisting of different test cases designed for different testing objects and
different testing attributes. The plan puts the test in sequential order as per the strategies
chosen that is, top down and bottom up. The test plan is matrix of test cases listed in order of
its execution.
Test Plan is developed to detect and identify potential problems before delivering the Software
to its users.
The scope of test will be limited just to the boundaries as the white box testing cannot be in detail.
Identify members from quality assurance department, users and development to cover testing
in full extent.
Define objectives of testing and describe how to achieve them. Define which type of testing is
to be done and how will we be doing that. Define some testing milestones. Prepare detailed
test plan considering milestones.
Type of testing
tested Output
admin
password:
******
* invalid. invalid.
Unit testing
ID:RH123
form
blank. blank.
hyperlink
event event
Experiment No :7
Theory:
Deployment Plan is a ‘how-to’ guide to implement a solution into a live production environment.
It provides detailed deployment guidelines and helps drive the deployment phases.
Deployment Planning :
Careful planning ensures that the system is installed smoothly, on schedule, without any
significant problems, and to the complete satisfaction of the customer. Specific objectives
are to complete the plans for:
· contingencies to cover for unexpected problems,
· software deployment,
· deployment and warranty support services.
Environment Set-Up: The system is designed to run over the Internet and viewed through
browsers such as Netscape or MS Internet Explorer (MSIE). The software is to be created
primarily by the use of Java Servlets and other Java components (Beans, JSPs . . . ). This
system can be upgraded easily to support internet accessibility.
As with any internet program, a web server is needed. Although we could have used the free
Apache web server with JRun as the Java Virtual Machine, we prefer to use IBM’s Java
Web Server because of its simplicity. The servlets reside on the Web server. It is the web
server that takes the majority of traffic,
We will transfer the existing Customer database and Product/Service database to Oracle 8i. In
addition to the existing databases, the new data storage area for invoice transactions will be
on Oracle. Oracle and the Web server are directly connected via a gigabit Ethernet.
The user need to be connected to the network. we suggest using a hub-based network. All
the client computers are connected to the hub, which is in tern connected to the web server.
Customization Modeling :
Component diagram.
Component diagrams document physical elements. Components are wired together by using
an assembly connector to connect the required interface of one component with the
provided interface of another component. This illustrates the service consumer - service
provider relationship between the two components.
An assembly connector is a "connector between two components that defines that one
component provides the services that another component requires. An assembly connector
is a connector that is defined from a required interface or port to a provided interface or
port."
When using a component diagram to show the internal structure of a component, the provided
and required interfaces of the encompassing component can delegate to the corresponding
interfaces of the contained components.
A delegation connector is a "connector that links the external contract of a component (as
specified by its ports) to the internal realization of that behavior by the component’s parts."
Components diagrams can be used to illustrate the structure of arbitrarily complex systems.
The following example illustrates what a typical Insurance policy administration system
might look like:
It is possible to envisage that each of the components depicted in the above diagram will, in
turn, have other component diagrams illustrating their internal structure.
Component Diagram:
Deployment Diagram:
Deployment Diagram documents hardware elements .Deployment diagram in the UML serves
to model the physical deployment of artifacts on deployment targets .
Deployment Diagrams show “the location of artifacts to nodes according to the deployments
defined between them.
Deployment of an artifacts to a node is indicated by placing the artifact inside the node.
Instances of nodes are used in deployment diagram to indicate multiplicity of this node.
Deployment Diagram: