Вы находитесь на странице: 1из 59

About Infosys Ltd: Infosys is a global leader in technology services and

consulting. We enable clients in more than 50 countries to create and execute


strategies for their digital transformation. From engineering to application
development, knowledge management and business process management, we
help our clients find the right problems to solve, and to solve these effectively.
Our team of 2,00,364 innovators, across the globe, is differentiated by the
imagination, knowledge and experience, across industries and technologies, that
we bring to every project.

About Infosys Public Services: Infosys Public Services


(www.infosyspublicservices.com), a North-American subsidiary of Infosys
(NYSE: INFY), is a leader in business consulting and technology solutions. We
partner with public sector organizations in the US and Canada to help them stay
ahead of the innovation curve. Our solutions, combined with execution excellence
and proven best practices allow clients to renew themselves while also creating
new avenues to generate value undertake.

Established in 1981, Infosys is a NYSE listed global consulting and IT services


company with more than 228,000 employees. From a capital of US$ 250, we have
grown to become a US$ 11.8 billion (FY19 revenues) company with a market
capitalization of approximately US$ 47.7 billion.

In our journey of over 37 years, we have catalyzed some of the major changes that
have led to India's emergence as the global destination for software services talent.
We pioneered the Global Delivery Model and became the first IT Company from
India to be listed on NASDAQ. Our employee stock options program created some
of India's first salaried millionaires.

Infosys Public Services Inc., a US-based subsidiary of global consulting,


technology,outsourcing and next-generation services
company Infosys (NYSE: INFY), announced that it has been appraised at Level 5,
the highest maturity level of the CMMI Institute's Capability Maturity Model
Integration (CMMI). The appraisal team was led by Edward Weller from
Integrated Productivity Solutions, LLC.

CMMI is a performance enhancement model consisting of collected


best practices that guide organizations to improve key capabilities and elevate
performance. CMMI's five maturity levels provide IT organizations with a clear
path for improvement. An appraisal at maturity Level 5 indicates that an
organization is performing at an 'optimizing' level, continually improving its
processes based on a quantitative understanding of its business objectives and
performance needs, and continuously evolving to adapt to changing stakeholder
and customer needs.The highest rating (level 5) validates Infosys Public Services'
ability to execute high-quality, complex IT programs on-time and within budget,
and to help clients realize desired returns from their IT investments.enable us to
predictably execute IT programs using different methodologies - agile, waterfall,
iterative. This rating is a validation of our efforts to establish a foundation of
processes that balance stability and agility, and equip us to drive our clients'
software-led transformation."

SEPG Support to Projects:The quality department at Infosys contains the


software engineering process group (SEPG). The SEPG is responsible for
coordinating all the process activities, including process definition, process
improvement, and process deployment. It also manages all information and data
related to the use of processes (such as the process database and the process
capability baseline, which are discussed further in Chapter 2).

Although the responsibility for all aspects of delivery, including quality, belongs to
the project team, the SEPG facilitates the project team in following the right
processes. The SEPG also forms an independent channel for monitoring and
reporting to senior management on process and quality issues. Because "processes
won't stick by themselves,"6 the SEPG helps to ensure that the defined processes
are implemented and become standard practice.
To this end, in addition to offering training on processes, the SEPG provides a
member who is associated with a project as a software quality adviser. The quality
adviser assists in defining and following processes, ensures that the processes are
followed, aids in analyzing the data, and provides any needed process training.
Because the adviser is well versed on processes, guidelines, and so on, the adviser's
main help comes during project planning. The adviser also reviews the project plan
to ensure that it contains all the key elements.

In addition to providing consulting and help with processes and metrics, the
Infosys SEPG schedules and manages regular independent audits to ensure that
the defined processes and standards are being followed.

Senior Management Involvement in Projects:

Infosys prides itself in providing value to its customers through delivery


excellence. Everything at Infosys, including its organizational structure, is driven
by the aim of serving customers efficiently and effectively and quickly tapping
new business opportunities.

For delivery of customer services, Infosys has many business units. Within a
business unit, a team, headed by a project manager, executes a project. The project
manager is responsible for all aspects of project execution, from determining the
requirements to final installation of the software. The project manager reports to
a business manager, who in turn generally reports to the business unit head.

To handle situations that cannot be resolved by the project manager, senior


management involvement in projects is essential. At Infosys, the business manager
regularly interacts with the project manager and monitors the project through status
reports and milestone reports (discussed in Chapter 11). In addition to regular
monitoring, the business manager also helps to resolve issues and problems that
cannot be handled by the project team and are escalated to his level (escalation is
discussed in Chapter 8). The business manager also interacts with customers to
ensure that they are satisfied and that any issues are promptly raised and addressed.
In addition, other senior people also review projects periodically by regularly
taking part in internal audits (discussed in Chapter 11). Through two systems—
called PRISM (project review by senior management) and IPM (integrated project
management)—milestone reports and project plans are available for senior
management to review. All senior managers are expected to review some projects
periodically through this system and to give feedback to the project leaders.

Overall, senior management maintains involvement in the project primarily by


monitoring to ensure that the project objectives are met and that the customer is
fully satisfied.

1.3.4 Training for Project Managers:


Because project managers have the main responsibility for satisfying the customer,
they need to master not only executing the technical aspects of a project but also
interacting with customers, eliciting requirements, managing the team, and so on.
Clearly no one is likely to possess all the skills needed, so it's crucial to train
people to develop the necessary skills. Infosys has implemented a variety of
programs to help people transition from being engineers to being project leaders.

All fresh entrants undergo a three- to four-month induction training program. In


addition to training in engineering and technology, this program contains one- or
two-day programs in business etiquette, written communication, public speaking,
body language, and so on.

Later, when engineers are ready to become module leaders (those who manage the
development of a system module, especially in larger projects) or project
managers, they attend a series of technical and soft-skills training programs.
Included in the former is a five-day project management course that focuses on all
aspects of project management: planning, monitoring, controlling, and so on. A
two-week course on requirements specification and management teaches how to
elicit requirements, how to document them, how to verify them, and so on. The
five-day residential soft-skills training program includes modules on appraisals and
team management, customer focus and customer management, leadership, social
and business etiquette for different countries, and so on.
Other regularly offered programs focus on various aspects of management; project
leaders take these courses when their schedules permit. Also, team-building
workshops are conducted by professionals.

1.3.5 The Project Management Process:


For a project team to successfully execute a project, it must perform hundreds of
tasks, many of them interdependent. Effectively managing this process is
extremely important for success. At Infosys, the set of activities executed by a
project manager is specified in the project management process. It is fairly
standard, having three main stages:

 Project planning
 Project execution
 Project closure

In the project planning stage, the project manager reviews contractual


commitments and creates a plan to meet them. Creating a project plan involves
defining a life-cycle process to be followed, estimating the effort and schedule,
preparing a detailed schedule of tasks, and so on. It also includes planning for
quality and configuration management as well as risk management. In this phase,
the major activities of the project manager are as follows:

 Perform startup and administrative tasks.

 Create a project plan and schedule.

 Define the project objectives.

 Identify a suitable standard process for project execution.

 Tailor the standard process to meet project requirements.

 Define a process for managing changes in requirements.

 Estimate the effort.

 Plan for human resources and team organization.

 Define the project milestones and create a schedule.


 Define the quality objectives and a quality plan to achieve them.

 Make a defect prevention plan.

 Identify risks and make plans to mitigate them.

 Define a measurement plan for the project.

 Define a training plan for the project.

 Define project-tracking procedures.

 Perform a review of the project plan and schedule.

 Obtain authorization from senior management.

 Define and review the configuration management plan.

 Orient the project team to the project management plan.

In addition to the project manager, this phase involves the customer, an SEPG
representative, and the business manager for the project. The entry criterion is that
the contract or project authorization is available. The exit criterion is that the
project plan has been documented and group reviewed

The second phase, project execution, involves executing the project plan, tracking
the status of the project, and making corrections whenever project performance
strays from the path laid down in the project plan. In other words, it involves
tracking and controlling the implementation of the project process. This phase is
the longest in the project management process, incorporating periodic tasks such as
monitoring project status and quality and taking any needed corrective steps. In
this phase, the project manager performs these main activities:

 Execute the project as per the project plan.

 Track the project status.

 Review the project status with senior management.

 Monitor compliance with the defined project process.


 Analyze defects and perform defect prevention activities.

 Monitor performance at the program level.

 Conduct milestone reviews and replan if necessary.

Other members of the team also participate in this stage. The entry criterion is that
the project plan is complete and approved, and the exit criterion is that all work
products delivered are accepted by the customer.

The last stage of the project management process, project closure, involves a
systematic wind-up of the project after customer acceptance. The main goal here is
to learn from the experience so that the process can be improved. Post-project data
analysis constitutes the main activity; metrics are analyzed, process assets
(materials, such as templates and guidelines, used to aid in managing the process
itself) are collected for future use, and lessons are recorded. Because learning from
the project is the main goal, this is a group activity that involves the project
manager, the SEPG, and other members of the team. The entry criterion is that the
customer has accepted the work products. The exit criterion is that a postproject
meeting has been conducted. The main outputs of this phase are the project closure
report and the collected process assets.
PPM takes client processes on a journey of progression and continuous
improvement. Irrespective of the existing state of the client process / industry /
function, the model is geared to transform the process through an evolution curve
of higher process maturity, measurable business outcomes, and enhanced client
customer satisfaction. This is achieved by leveraging themes of effective service
delivery, proficient workforce, knowledge management, automation, risk and
compliance.PPM is designed keeping in mind the complete cycle of Operate,
Optimize, and Transform objectives of every business process. We believe that
processes go through three stages of progression in a very systematic manner. And
to get to each stage, our ‘Assess-Define-Establish (ADE) Framework' is deployed.

Assess-Define-Establish (ADE) Framework:

PPM model is designed on the premise that processes progress towards the set goal
in a staged manner, the three stages being:
 P1 - Noiseless processes

 P2 - Process excellence

 P3 - Business outcomes

Over the years, we have built a deep understanding of business processes and how
they can be transformed. Each business situation is different and applying the right
set of levers at each stage is critical to move to the next stage. Our ADE framework
helps in identifying the levers that need to be applied to ‘change’ the process and
advance it to the next stage.

Business impact:Best practices from more than 3,000 Six Sigma and Lean
projects, Business Value Realization (BVR) case studies, transformation delivery
models developed for specific clients are embedded into the PPM. Based on the
transformation levers that are part of PPM – such as Quality, automation, BVR,
etc. – we have delivered compelling benefits across our client base:
 More than US$ 400 million in savings realized in FY13 through the
Business Management Practice

 US$ 135 million in savings realized from quality project implementations

 Reduced 2,000 FTEs across the various client engagements using various
transformation levers

Process Progression Model(PPM) advantage:

 A holistic model: Deployed through the entire lifecycle of the engagement,


right from design to delivery

 Focus is on the end-to-end process: Designed to view businesses processes


from an end-to-end perspective, cutting across geographies and functions

 Addresses diverse client requirements: Each business situation is unique and


so is the business process – the model addresses this diverse need

 Helps zero-in on the right levers: Goals for each process is unique and the
model identifies the right set of change levers that needs to be applied

 Transparent deployment: Complete and transparent view of the deployment


and the process progression

Agile Scrum Methodology:Scrum is a lightweight agile project management


framework with broad applicability for managing and controlling iterative and
incremental projects of all types. Ken Schwaber, Mike Beedle, Jeff Sutherland and
others have contributed significantly to the evolution of Scrum over the last
decade. Scrum has garnered increasing popularity in the agile software
development community due to its simplicity, proven productivity, and ability to
act as a wrapper for various engineering practices promoted by other agile
methodologies. With Scrum methodology, the "Product Owner" works closely
with the team to identify and prioritize system functionality in form of a "Product
Backlog".
The Product Backlog consists of features, bug fixes, non-functional requirements,
etc. - whatever needs to be done in order to successfully deliver a working software
system. With priorities driven by the Product Owner, cross-functional teams
estimate and sign-up to deliver "potentially shippable increments" of software
during successive Sprints, typically lasting 30 days. Once a Sprint's Product
Backlog is committed, no additional functionality can be added to the Sprint except
by the team. Once a Sprint has been delivered, the Product Backlog is analyzed
and reprioritized, if necessary, and the next set of functionality is selected for the
next Sprint. Scrum methodology has been proven to scale to multiple teams across
very large organizations with 800+ people. See how Version One supports Scrum
Sprint Planning by making it easier to manage your Product Backlog.

Extreme Programming (XP) :XP, originally described by Kent Beck, has


emerged as one of the most popular and controversial agile methodologies. XP is a
disciplined approach to delivering high-quality software quickly and continuously.
It promotes high customer involvement, rapid feedback loops, continuous testing,
continuous planning, and close teamwork to deliver working software at very
frequent intervals, typically every 1-3 weeks. The original XP recipe is based on
four simple values simplicity, communication, feedback, and courage and twelve
supporting practices:

 Planning Game

 Small Releases

 Customer Acceptance Tests

 Simple Design

 Pair Programming

 Test-Driven Development

 Refactoring

 Continuous Integration

 Collective Code Ownership

 Coding Standards

 Metaphor

 Sustainable Pace

Don Wells has depicted the XP process in a popular diagram. In XP, the

"Customer" works very closely with the development team to define and prioritize

granular units of functionality referred to as "User Stories". The development team

estimates, plans, and delivers the highest priority user stories in the form of
working, tested software on an iteration-by-iteration basis. In order to maximize

productivity, the practices provide a supportive, lightweight framework to guide a

team and ensure high-quality software.

Online Library Management System:It is an software application which

refers to library systems which are small or medium in size.It is used by librarian

to manage the library records of various transactions like issue of books, return of

books, addition of new students etc. Books and student maintainence module are

also included in this application which is used to keep the detail record of students

using the library and also record of each book in library.


Software Requirements Specification:

1.Introduction:

 Borrowing books, returning books or viewing the available books at


the Library of the local University is currently done manually where
in the student has to go to the Library and check the available books
.
 Then the librarian checks the student id and allows the member to
check out the book and the librarian then updates the member
database and also the books database.

 This takes at least one to two hours if the member is available at the
nearby place otherwise it may take more time.

 We have decided to investigate the use of an Online Library


Management System. This system would be used by members who
may be students or professors of that University to check the
availability of the books and borrow the books, and by the librarian
to update the databases.

1.1 Purpose

 The main objective of this document is to illustrate the requirements


of the project Online Library Management system.
 The document defines and describes the operations, interfaces,
performance, and quality assurance requirements of the Online
Library System description.
 The document also describes the nonfunctional requirements such as
the user interfaces.
 The document is developed after a number of consultations and
considering the complete requirement specifications of the given
Project.
 It also describes the design constraints that are to be considered
when the system is to be designed, and other factors necessary to
provide a complete and comprehensive description of the
requirements for the software.
 The final product of the team will be meeting the requirements of
this document

1.2 Scope

 The Software Requirements Specification captures all the


requirements in a single document.
 The Online Library System is supposed to have the following
features:
The system should provide login facility to the users.

The system provides the members with the option to check


their account and/or change their options like password of
the account whenever needed all through the day during the
library hours.

The system should allow seeing the status of the


books/journals borrowed/reserved by him and the
respective due dates and other relevant details.
The system should allow searching for a particular
book/journal and also list for books/journals.

The system should allow to cancel the reservation made


earlier for a particular book/journal.

It should allow reserving a particular book/journal


borrowed by others currently.

The system allows the Librarian to create the books catalog,


add/delete books and maintain the books catalog.

The system should be able to send an automatic mail as


soon as a reservation is made for a particular book, to the
person who made the reservation. Then, a mail should be
sent to people who are having the book currently, stating a
reservation has been made on that book.

1.3 Definitions, Acronyms and Abbreviations

Abbreviation Description

Administrator Librarian who controls the operation of library,


all the transactions in the library.

Transaction Borrowing or reservation of a book.

View List of all books in the library and all the details
of it.

XSD XML schema definition

SOA Service oriented architecture

WSDL Web service definition language


SOAP Simple object access protocol

JSP Java server pages

HTML Hyper Text Markup Language

XML Extensible Markup Language

J2EE Java 2 Enterprise Edition

AJAX Asynchronous Java script And XML

Users Student, faculty, author and publisher

2. Business rules

o Library management system will be accessible in Intranet for


browsing and viewing purposes
o Library management system will be accessible only through HTTP
mode.
o System participants access the application using standard internet
browser
o In order to login to the application, user should be active and he/ she
must have valid username and password
o Application will provide different access level and admin rights

3. Overall description

3.1 Product perspective


The Online Library System is a package to be used by Libraries to
improve the efficiency of Librarians and Users.
 The Online Library System to be developed benefits greatly the
members and the Librarian of University.
 The system provides books catalog and information to members and
helps them decide on the books to borrow from the library.
 The Librarian can keep the books catalog updated all the time so that
the members (students and the professors) get the updated
information all the time.

Librarian

Online library Internet


management system

Users

Figure 1: system overview

3.2 Product functions

 The Online Library System provides online real time information about
the books available in the Library and the user information.

 The Product functions are more or less the same as described in the
product perspective. The functions of the system include the system
providing different type of services based on the type of users
[Member/Librarian].
The member should be provided with the updated
information about the books catalog.

Provisions for the members to borrow the books they


want, if all the other required rules hold good.

The member is given a provision to check his account


information and change the account information any time
in the given valid period.

The members should be allowed to see the status of the


books/journals borrowed/reserved by him and the
respective due dates and other relevant details.

The members should be able to place requests for


purchasing new books to the library, by giving details
about the name of the book, name of the author,
publisher.

The librarian is provided with interfaces to add/delete the


books available in the book catalog

3.3 Design constraints

constraints Description
Software technologies
Application Server / Web sphere application server (WAS)
Web Server
Programming language Java / J2EE
J2EE Services Core java, Servlets, JSP, JDBC, JNDI, JAXB
SOA / Web services SOAP, WSDL, XML, XSD, AJAX
Scripting CSS, Javascript
3.4
Us database DB2
er
Int IDE RAD
erf Language constraints
ace
: Language English to be known

The software provides good graphical interface for the user any administrator can
operate on the system, performing the required task such as create, update,
viewing the details of the book.

 Allows user to view quick reports like Book Issues/Returned etc in between
particular time.
 Stock verification and search facility based on different criteria.

3.4.1 Hardware interface:

 Operating system : window


 Hard disk :40 GB
 RAM : 256 MB
 Processor : Pentium(R)Dual-core CPU

3.4.2 Software interface :

 Java language
 Net beans IDE 7.0.1
 MS SQL server 2005

3.4.3 Communication interface:


Window

4. Functional Requirements

The functional requirements are explained as below:


4.1 Administrator login

o In login screen, the authorized administrator will login to the system


using username and password.

o The authorized administrator has the following functions:

o An authorized user can register the member. The process


happens physically, where member fills in the register form
manually and this would be keyed in to system by administrator
to create membership.

o System provides Inbox to the admin users to view all the


requests. The process defined below

 An “Active” member makes a request to the Admin.


 The request will be in “pending”
 Admin can view all pending request and he/she can
approve or reject the request
 If the request is approved then notification will be sent to
the requester and status will be marked to “Borrow” with
end date

o Administrator can check the status of all the books whether the
book has been issued/reserved. He can check all the details of
the book.

o Search facility is provided to administrator, he can Search for


all the books based on the title, subject, author, publisher.
o Administrator can add new books to the library based on the
requests made by the users for the same with all the details of
the new book.

o Administrator can remove any book from the library.

Add / Remove Book


Search Book

Modify Book
Approve / reject
Request

Admin User

Block / Unblock
Register Membership
member

Figure 2: Admin Use case

4.2 User Login

o In login screen, the authorized users will login to the system using
username and password.

o Users of the system include four categories:

 Student (Transaction and view)


 Faculty (Transaction and view)
 Author (view)
 Publisher (view)
o Users of the system have the following function.

o System provides search engine to make user an easy task to


search books. Query parameters are specified below

 Book name
 Subject
 Author
 Publisher

o User can view the list book details. The fields are mentioned
below
 Book Id
 Book Name
 Author
 Status (Reserved / Borrowed / Cancelled/ Available)
 Due date
 Reservation date
 Borrowed User ( In case if the status is “Borrowed”)

o User can make a request to reserve the book. The request will
be posted to administrator for approval.
o System provides interface to the user to post request for the
non-availability of the book. Admin will view the request
through his inbox and he/she can reject or accept the request.

o User can reserve book in case the book is borrowed by other


members.

o User should able to cancel the reservation.

o System sends a notification after registering the book. The


notification will be sent through Email
o In case of the due date, system keeps track and sends reminder
at regular interval of time. A static value of 4 days will be set in
system.
Figure 3: Book Request process
Search book Borrow/reserve
book

Cancel Check book


reservation status

Figure 4: user use case

4.3 Book Status

To maintain status of the book, the system as predefined status to maintain the
life cycle of the book. The status and the behavior is explained below

o Pending
o The book status will be in “Pending”, once the member makes a
request for the book
o Approved
o The current status will be maintained once the Admin approves
the member request.
o
o Rejected / Canceled
o The current status will be maintained in case Admin rejects the
requested book
o Borrowed
o The current status will be maintained, in case, if book is
borrowed from other members.
o Administrator should change the status to “Borrowed” from
“Approved” status after member collects the book.
o Available
o If the book is not occupied by any member then the status of the
book will be in available status, so that member can reserve the
book
o Not Available
o If the book stock is not available then the status of the book will
be “Non available”

4.4 Search Engine


Books can be searched based on the name, subject, status, author and
publisher. A book listing is given with all the required columns along with
details of the transaction made on that particular book for both user and
administrator

5.Reports

System provides a standard report for the administrator to view the information.
System provides a section “report” for the user to view and select the report

Book

 Book Id
 Book Name
 Author
 Status (Reserved / Borrowed / Cancelled/ Available)
 Due date
 Reservation date
 Borrowed User ( In case if the status is “Borrowed”)
6. Database Storage

Database is the storage device, in which the application information will be


stored in database. The information is normalized in the form of tables. The
main entity of the storage are mentioned below

o Member/ Admin Information


o Book Information
o Book Transactions
o Audit Log

Transaction

One to many one to one

User Book

Figure 5: Entity Diagram

7. Non-Functional Requirements

7.1 Availability
24*7 availability is provided.

7.2 Security

All the information in the library database and the transaction is secured,
authentication is provided to all the users , only authenticated users can use
the system.
7.3 Performance

All the components are simple with all the features and services, thus there is no
complication and complexity in the design which enhances the performance.

8. User documentation

 The product will include user manual.

 The user manual will include product overview, complete


configuration of the used software, technical details, backup
procedure and contact information which will include email
address.

9. User Manual Requirements


User Manuals will be provided covering all the features of this product in DOC
form
Unified Modeling Language: (UML) is now accepted as the standard object-
oriented modelling language. It is intended to be a general-purpose language for
software development. It is not meant to be a complete language for modelling all
aspects of all systems.Its success is partly due to its separation from any particular
method. It is available for anyone to include in their own method for software
development. The Object Management Group (OMG), an industry consortium for
modelling and integration standards, has adopted UML and is the main body
responsible for its development.
UML is predominantly diagrammatic, but does allow developers to add
text in appropriate places
Use case Diagram:
ClassDiagram:
CRC(Class Responsibility Collaborator):
CRC Cards:
Activity Diagram:
State Chart Diagram:
Deployement Diagram:
Sequence Diagram:
IMPROVING THE EARLIER PROPOSED DESIGN USING DESIGN
PATTERNS :
First, the book class is modified to become an abstract class and a set and get
method is written in the class for every instance declared. A function named
displayBookDetail() is declared in the book class as well for the factory class to
acess.
Then, other subclasses such as magazine, journal and textbook class is
inheriting to it. Next, a factory class named “BookFactory” is created and a method
named retrieveBook with a String parameter is declared. Therefore, whenever the
librarian class need to obtain the information from the book class, it needs to
request from the factory class first. The “Fig. 5” shown refined class diagram.
First, the LibraryFacade class is created which is related to all other
classes. A function named requestBook() with String parameter and payBill() are
declared in the LibraryFacade class. Therefore, whenever the MemberRecord class
needs to request book, it would request from the LibraryFacade class first.
LibraryFacade handles rest of complexity viz requesting the librarian, referring the
transaction and paying the bill.
First, the MemberRecord class is modified to become an abstract class and
a set and get method is written in the class for every instance declared. Then, other
subclasses such as student and faculty class inherits from MemberRecord. It is
used here to basically isolate different members based on their type (student,
faculty).
The The Factory Design Pattern encapsulate the object creation process
and also prevents the code in the subclasses to be written everywhere in the
different classes repeatedly. It makes object creation process reusable for the entire
application. It hides the implementation detail of Book from librarian.
Factory Design Pattern is one of the most frequently used design pattern
across multiple technologies and framework. It also avoids errors introduced by
redundancy. Using Factory Design Pattern allows one to return one factory object
among a family of factory objects. Therefore, it is a detailed design pattern and
more efficient as well as easily understood by anyone and mostly used in OOPS
concepts for implementation.
Fig.5 Modified class diagram with Factory Pattern
Fig.6 Modified class diagram with Facade Pattern
Fig.7 Modified class diagram with Template Pattern
Tools used in application:

JIRA Tool:Jira is a project management tool used to track different issues and

bugs in any system. More evidently it is used as an issue tracking tool for all types

of testing. Jira is an incident management tool and was developed by Atlassian Inc.

It is considered to be a platform-independent tool and hence can be used with any

operating system. It supports MySQL, Oracle, PostgreSQL and SQL server in the

backend.Jira offers the traditional collaboration features for all the different issues.

It provides facilities for team member and task management and assignments. It

does provide features like notifications, file sharing and messaging.

Jira is was built specially to serve agile software development teams

and offers a wide variety of features. From building code to tracking different

issues Jira supports all scrum methodologies, Kanban or a mix of two. Sprint

planning in Jira is very easy. Jira has a massive library of native integrations for

time tracking, test manaeent, CRM, reporting, and code review. Jira server version

8.6.1,8.6.0,8.5.3 are used in testing.

TRELLO Tool:Trello is a lightweight project management tool. It is designed on

the basis of the Kanban board tool. All task flow for a project can be easily

visualized for all software projects. It largely focuses on general usages. Creating

and management of any task in a project is just a step while getting these tasks
completed is more important. Trello enables a user to invite any number of people

to share on the same board. By using this all people are aware of the progress,

status and the tasks.

Trello excels in flexibility and has a visual Kanban task management

platform. It does not offer features like Scrum and sprint planning, tracking

backlog of different user stories, issue tracking, and code repositories. Trello has

many native applications and integration libraries. To name a few the more famous

are Zendesk, FogBugz, Slack, Github, Salesforce, and Google Drive.

Infosys Test Automation Accelarator:It is an add on software that improves the

performance of your automated testing tools.An easy to operate web based

application,it implements non-technical business users to create automated test

processes and cases without scripting Knowledge.The underlying Robust Software

generates automated test scripts which can run on any industry standard tool.

Tricentis Tosca:Tricentis Tosca bills itself as “the #1 Continuous Testing

platform.”Its top feature is a low-code or no-code approach to testing, making

Tricentis the perfect tool for testers who aren’t tech-savvy.This automation testing

tool can pretty much do everything in the book:

 Functional testing
 App testing
 BI-DWH testing
 Load testing
 Risk-based testing
 Model-based testing
 Exploratory testing
 Test impact analysis
 Distributed execution
 Test data management
 Service virtualization

And a whole lot more.

Postman
Postman is used by over 200,000 companies and is pretty much the ultimate API
automated testing tool.

You can:

 Create mock API servers so front-end and back-end developers can work
simultaneously.
 Keep all of your scripts, tests, and code snippets close by in the dashboard
for easy debugging.
 Save and reuse values in multiple places.
 Collect all the tests you run into a “test sequence.”
 Give everyone access to the documentation you create (or keep it private).
 Set monitors to examine the state of your APIs at all times of the day or
night.
 Test APIs for both performance and behavior.
 Bring on new developers quickly through onboarding documentation.
 And share your API in Github or on your own site.

Zephyr
Zephyr was specifically designed to help Agile teams remain flexible and
responsive to changing demands during the testing process.Zephyr integrates with
30 automation frameworks and provides a number of critical features, such as:
 Integration with JIRA, Confluence, Jenkins, and Bamboo with one click of a
button.
 Analytics, reporting, and a DevOps dashboard.
 And advanced data security to protect your projects.

TestCraft
TestCraft is a continuous and regression testing tool that can also monitor web
apps.One of their standout features is their drag-and-drop interface which allows
you to visually create automated tests.TestCraft can be set up quickly and the
machine learning technology embedded within it can fix any changes in scripts or
solve issues during run time.This automation testing tool can also run on various
platforms or work environments, so wherever you have to test, it will allow it.It
offers an intuitive UI that’s perfect for testers without any dev skills whatsoever.

Types of Coupling and Cohesion Observed:

Coincidental cohesion:-
This occurs when there is no relationship among elements of a module. They can
occur if an existing program modularized by chopping it into pieces and making
differ piece of modules i.e. it performs a set of tasks that are related to each other
very loosely. The modules contain a random collection of function.
Logical cohesion:-
A module having logical cohesion if there are some logical relationship between
elements of a modules i.e. elements of a module performs the operation.
Temporal cohesion:-
It is same as logical cohesion except that the element must be executed in same
time. Set of function responsible for initialization, startup, the shutdown of the
same process. It is higher than logical cohesion since all elements are executed
together. This avoids the problem of passing the flag.
Communicational cohesion:-
A module is said to have Communicational cohesion if all function of module
refers to an update the same data structure.
Sequential cohesion:-
A module is said to have sequential cohesion if element module from different
parts of the sequence. When the output from one element of the sequence is input
to the next element of a sequence. A sequence bounded module may contain
several functions or part of different functions.
Functional cohesion:-
It is the strongest cohesion in a functional bound module, all elements of the
module are related to performing a single function. By function we not mean
simply mathematical function but also these modules which have single goal
function like computing square root and sort array are a clear example of
functionality cohesion modules.
Coupling:- Coupling is a measure that defines the level of inter-dependability
among modules of a program. It tells at what level the modules interfere and
interact with each other. The lower the coupling, the better the program.

There are seven levels of coupling are:-


• Content coupling - When a module can directly access or modify or refer to the
content of another module, it is called content level coupling.
• Common coupling- When multiple modules have read and write access to some
global data, it is called common or global coupling.
• Control coupling- Two modules are called control-coupled if one of them
decides the function of the other module or changes its flow of execution.
• External Coupling: This type of coupling occurs when an external imposed data
format and communication protocol are shared by two modules. External Coupling
is generally related to the communication to external devices.
• Message Coupling: This type of coupling can be achieved by the state
decentralization. It is the loosest type of coupling, in which the component
communication is performed through message passing.
• Stamp coupling- When multiple modules share common data structure and work
on different part of it, it is called stamp coupling.
• Data coupling- Data coupling is when two modules interact with each other by
means of passing data (as parameter). If a module passes data structure as
parameter, then the receiving module should use all its components.
Diagram 1 Base Diagram:This diagram display the domain classes of Library
System, <<secrecy>> indicates stereotype applied to an attribute which was
considered critical for security purpose,showContents () was function that access
these <<secrecy>> attributes. This function was accessed by most of the classes
either through dependency (‘uses’ relation) or through inheritance (generalization
relation). This way the critical attribute was propagated at multiple levels of
accessibility. BookNum and title were secrecyattributes. These attributes were
inherited as well as accessed by all those classes that have access to these
attributes.
Diagram 2 Increase Complexities and Decreased Cohesion:This diagram
represents more classes, in turn more complexity, and in turn moreaccessibility of
the vulnerable code. Member class and its sub-classes, transactionclass and its sub-
classes, and Catalogue class all access the bookNum and the titleattributes of Book
class. We also see lesser Cohesion as there were several functionsand data
(attributes) that become repetitive in multiple classes. Cohesion suggests single
responsibility principle
Diagram 3 Decreased Inheritance:This diagram represents lesser inheritance that
means lesser exposure to <<secrecy>>attributes.
Diagram 4 Increased Coupling:
This diagram represents more coupling that means less flexibility and
maintainability.
Library Management uses Book showContents() that in turn access bookNum, title
and, etc. The other classes also do similar
Diagram 4 Increased Coupling:
This diagram represents more encapsulation as bookNum and title were made
private with <<secrecy>> stereotype get/set BookNum() access attributes within
the encapsulated class Book. Other classes access these functions in order to
attributes.
Refactoring:
Refactoring takes a bad design of a project and rework it into a good one. You are
not changing observable behavior of the project you improves the internal structure
by Refactoring.Refactoring also removes "Code Smells" from your project, this is
done to get certain benefits and these benefits may not be consumable immediately
but over the long term. It is a activity which is a solution to your problems, its
performed when modifying the existing code of a project to incorporate new
features or to enhance.There are two class diagrams in the project. Let's open
the domain diagram first and take a look. There are several domain
classes. OrderList and BookList are subclasses of the List class.

Open another class diagram named lib. This diagram contains we what called
the library classes. The List class, super class of OrderList and BookList, exist
also in this diagram. Library classes are classes that are readily be used by other
projects due to their generic nature. In this tutorial, we are going to move the
library classes to the lib project through refactoring.
EX:Base Diagram for Library Mnagement System
EX:Decreased Inheritance from Library Mnagement System
EX:Increased Coupling(content coupling)
COCOMO MODEL (Constructive Cost Model)

Our system involves database as well as the EAF (Effect Adjustable Factor) so we
choose Intermediate COCMO Model and the semi-detached Project Mode

The Values of Semi-detached are as follow:

A B C D
SEMI-DETCHED 3.0 1.12 2.5 0.25

PERSON MONTH (EFFORT)

The effort size estimate is the total of the module size in KDSI

MODULE SIZE(KDSI)
DATA ENTRY IN DB 1.2
RECORD UPDATION 0.5
MANAGE BOOKS 1.5
Report Generation 0.8
Total 4.0 KDSI

CHARACTERISTIC LEVEL FACTOR


Complexity High 1.15
Storage High 1.06
Application Experience Low 1.13
Programmer Low 1.17
Capabilities
Others Nominal 1.0

 To Calculate EAF multiply all the characteristic rating value together

EAF=1.15*1.06*1.13*1.17*1.0= 1.16

 To Calculate ManMonth

MM= a* (KDSI) ^b * EAF

MM= 3.0 *(4.0) ^ 1.12 * 1.16

MM=3.0*4.7*1.16

MM=16.356 ANS

 To Calculate Duration
Tdev = c*(MM) ^d
Put the values in the formula

Tdev= 2.5*16.35^ 0.38

Tdev= 8.58

 Thus Project duration 8month


 Team Size (Number of people)

Number of people needed is given by equation

MM/Tdev

So duration is calculated as: 16.35 / 8.58 = 1.905

Thus Team size is 1 or 2 people


Development Cost:

Developer Rate = Rs 1000 per hour

Number of developer = 1 (case 1)

Number of developer = 2 (Case 2)

Case 1 with 1 developer (One Month)

Cost = 1*160*100 = 16000 Rs

Case 2 with 2 developer (One Month)

Cost = 2*160*100 = 32000


0 1YEAR 2YEAR 3YEAR 4YEAR 5YEAR 6YEAR 7YEAR 8YEAR
YEAR

Dev.Cost 32000

Oper.Cost 5000 10000 15000 20000 25000 30000 35000 40000

D.Rate 0.89 0.79 0.71 0.63 0.56 0.50 0.45 0.40


Adj.Cost 4450 7900 10650 12600 14000 15000 15750 16000

Acum.Cost 32000 36450 44350 55000 67600 81600 96600 112350 128350

Benefit 20000 22000 24000 26000 28000 30000 32000 34000

Discount
benefit 17800 17380 17040 16380 15680 15000 14400 13600

Adj.Benefit 17800 35180 52220 68600 84280 99280 113680 127280

NPV 18650 9170 2780 15380 -2680

NET PRESENT VALUE:

BREAK EVEN POINT = Beg. Value / Beg. Value + Ending value

= 32000/32000 + 127280

= 0.20

Вам также может понравиться