Testing
Unit testing
tests the minimal software unit, typically a module or program. Each unit (basic
component) of the software is tested to verify that the detailed design for the
unit has been correctly implemented.
Integration
testing exposes defects in the interfaces and interaction between integrated
components (modules or programs). Progressively larger groups of tested software
components, corresponding to elements of the architectural design, are integrated
and tested until the software works as a system.
Functional
testing tests at any level (class, module, interface, or system) for proper
functionality as defined in the specification.
• System testing tests a completely integrated system
to verify that it meets its requirements.
• System integration testing verifies that a system
is integrated to any external or third party systems defined in the system
requirements.
Acceptance
testing can be conducted by the end-user, customer or client to validate
whether or not to accept the product. Acceptance testing may be performed as
part of the hand-off process between any two phases of development. Operational
testing will occur at this point.
Alpha
testing is simulated or actual operational testing by potential
users/customers or by an independent test team.
Beta testing
comes after alpha testing. Versions of the software, known as beta versions,
are released to further users within the company. The software is released to
groups of people so that further testing can ensure the product has few faults
or bugs.
Although both Alpha and Beta are referred to as
testing, the rigours that are applied are often unsystematic and many basic
tenets of the testing process are not used.
The Alpha and Beta period provides an insight into
environmental and utilisation conditions that can impact on the software.
Regression
tests - After modifying the software, either for a change in functionality or
to fix defects, a regression test re-runs previously passed tests on the
modified software to ensure that the modifications have not unintentionally
caused a regression of previous functionality. Regression testing can be
performed at any or all of the above test levels.
Implementation/ Changeover
methods
As technologies change, many businesses find
themselves needing to change over their computer information systems. Upgrading
these systems helps them optimize their efficiency and remain competitive.
Common changeover areas include security systems, database systems, accounting
systems and managerial information systems. Deciding which changeover technique
will work best for a particular company depends on the type of changeover and
degree of risk for the company.
Parallel
Changeover
In a parallel changeover, the new system runs
simultaneously with the old for a given period of time. Of all the techniques,
this tends to be the most popular, mainly because it carries the lowest risk.
If something goes wrong at any point, the entire system can be reverted back to
its original state. A primary disadvantage in running two systems at the same
time is higher costs. The parallel changeover process also can be quite
time-consuming.
Direct
Changeover
Direct changeover, also referred to as immediate
replacement, tends to be the least favorite of the changeover techniques. In a
direct changeover, the entire system is replaced in an instant. Basically, as
soon as the new system is powered up, the old system is shut down. This type of
changeover carries the most risk because, if something goes wrong, reverting
back to the old system usually is impossible. Using the direct changeover
technique tends to work best in situations where a system failure isn't
critical enough to result in a disaster for the company.
Phased
Changeover
The phased changeover technique is considered a
compromise between parallel and direct changeovers. In a phased changeover, the
new system is implemented one stage at a time. As an example, consider a
company working toward installing a new financial system. Implementing the new
system one department at a time, the company converts accounts receivable,
accounts payable, payroll, and so on. Advantages to phased changeovers are
their low cost and isolated errors. The main disadvantage is the process takes
a long time to complete because phases need to be implemented separately.
Pilot
Changeover
With a pilot changeover, the new system is tried
out at a test site before launching it company-wide. For example, a bank may
first test the system at one of its branches. This branch is referred to as the
pilot, or beta, site for the program. Since parallel changeovers tend to be
expensive, using the pilot changeover technique allows companies to run the new
system next to their old but on a much smaller scale. This makes the pilot
changeover method much more cost-effective. After the kinks are worked out of
the system at the test site, companies usually opt to use the direct changeover
technique to launch the system company-wide.
ISO 9001
As an ISO 9001 certified organisation you will have
implemented Quality Management System requirements for all areas of the
business, including:
- ·
Facilities
- ·
People
- ·
Training
- ·
Services
- ·
Equipment
Some of the benefits to any organisation:
- ·
Provides senior management with an efficient
management process
- ·
Sets out areas of responsibility across the
organisation
- ·
Mandatory if you want to tender for some public
sector work
- ·
Communicates a positive message to staff and
customers
- ·
Identifies and encourages more efficient and
time saving processes
- ·
Highlights deficiencies
- ·
Reduces your costs
- ·
Provides continuous assessment and improvement
- ·
Marketing opportunities
Some of the benefits to customers:
- ·
Improved quality and service
- ·
Delivery on time
- ·
Right first time attitude
- ·
Fewer returned products and complaints
- ·
Independent audit demonstrates commitment to
quality
ISO 9001 - Principles
1 – Customer focus Principle
Organizations depend on their customers and therefore should understand
current and future customer needs, should meet customer requirements and strive
to exceed customer expectations.
2 – Leadership Principle
Leaders establish unity of purpose and direction of the organization.
They should create and maintain the internal environment in which people can
become fully involved in achieving the organization’s objectives
3 – Involvement of people Principle
People at all levels are the essence of an organization and their full
involvement enables their abilities to be used for the organization’s benefit.
4 – Process approach Principle
A desired result is achieved more efficiently when activities and related
resources are managed as a process.
5 – System approach to
management Principle
Identifying, understanding and managing interrelated processes as a
system contributes to the organization’s effectiveness and efficiency in
achieving its objectives.
6 – Continual improvement
Principle
Continual improvement of the organization’s overall performance should
be a permanent objective of the organization.
7 – Factual approach to decision
making Principle
Effective decisions are based on the analysis of data and information
8 – Mutually beneficial supplier
relationships
An organization and its suppliers are interdependent and a mutually
beneficial relationship enhances the ability of both to create value
A simulation-based decision support system for AHP
(Analytic Hierarchy Process) is presented in this paper. The software, named
DDM (Dynamic Decision Making), is applicable to dynamic decision scenarios
where probabilistic interactions exist between the factors in the AHP
hierarchy. Decision scenarios are generated using probability information
specified by the user. The output of the simulation is the relative frequency
of the selection of each alternative rather than a single final selection. The
decision maker will evaluate the distribution histogram and make final
selection based on his or her own inherent disposition to risk. DDM can be used
for forecasting or for evaluating strategic planning options.
Document Image Processing
In document image processing, the paper documents
are initially scanned and stored in the hard disk or any other required
location. It is easy to define document image processing as
scanning-storing-retrieving-managing. The final outcome of document image processing
will be in compatible electronic format, which makes documents easier and
quicker to access. Document image processing comprises of a set of simple
techniques and procedures, which are used to work upon the images of documents
and convert them from pixel information into a format that can be read by a
computer.
Document Image Processing
Techniques
Basically, document image processing using OCR is
divided into two steps. The first step captures the text, based on the
information from the document. It identifies the reorientations, tables, words
and their colors, font sizes and other textual matter in the file. The second
step involves graphical processing which works on drawings, dividing lines
between paragraphs and sections, logos and other pictorial representations. As
the images are one of the most important components in the documents, it is
very important to process the images rather than just locating them in the
document.
Advantages of Document Image Processing
Once all the above brushworks are done the original
document is picked into a semantic characterization that is more compact than
the former. Document image processing is also effective if there are hand
written texts or graphics in a computer document. These kinds of documents do
not match with most of the containers. So document image processing is
essential to make it compatible with most of the software. Document image
processing also finds applications in categorizing mails and arranging books in
a library where the information is converted into an electronic format, which
are easily portable. Thus, document image processing techniques will be more
widely used, as all the computer-based entities and handwritten entities are
electronically converted into documents. These electronic documents are easier
to deal with and assure the existence of files with us for many years, but in a
cybernetic environment.
Data Dictionary
A data dictionary is a collection of
descriptions of the data objects or items in a data model for the benefit
of programmers and others who need to refer to them. A first step in analyzing
a system of objects with which users interact is to identify each object and
its relationship to other objects. This process is called data modeling and
results in a picture of object relationships. After each data object or item is
given a descriptive name, its relationship is described (or it becomes part of
some structure that implicitly describes relationship), the type of data (such
as text or image or binary value) is described, possible predefined values are
listed, and a brief textual description is provided. This collection can be
organized for reference into a book called a data dictionary.
End-user computing (EUC) refers to systems in
which non-programmers can create working application.
EUC is a group of approaches to computing that aim
to better integrate end users into the computing environment. These
approaches attempt to realize the potential for high-end computing to perform problem-solving in
a trustworthy manner.
End-user computing can range in complexity from
users simply clicking a series of buttons, to writing scripts in a controlled scripting
language, to being able to modify and execute code directly.
PRINCE2
PRINCE2 (an acronym for PRojects IN Controlled Environments)
is a de facto process-based method for effective project management. Used
extensively by the UK Government, PRINCE2 is also widely recognised and used in
the private sector, both in the UK and internationally. The PRINCE2 method is
in the public domain, and offers non-proprietarily best practice guidance on
project management.
Key features of PRINCE2:
- ·
Focus on business justification
- ·
Defined organisation structure for the project
management team
- ·
Product-based planning approach
- ·
Emphasis on dividing the project into manageable
and controllable stages
- ·
Flexibility that can be applied at a level
appropriate to the project.
Strategies
• Benefits management strategy
• Information management strategy
• Issue resolution strategy
• Monitoring and control strategy
• Quality management strategy
• Resource management strategy
• Stakeholder engagement strategy
Cloud Computing
Cloud computing enables companies to consume compute resources as a
utility -- just like electricity -- rather than having to build and maintain computing
infrastructures in-house.
Cloud computing promises several attractive benefits for businesses and
end users. Three of the main benefits of cloud computing includes:
• Self service provisioning:
End users can spin up computing resources for almost any type of workload on-demand.
•Elasticity: Companies can scale up
as computing needs increase and then scale down again as demands decrease.
•Pay per use: Computing resources
are measured at a granular level, allowing users to pay only for the resources
and workloads they use.
Cloud computing services can be private, public or hybrid.
Private cloud services are delivered from a business' data center to
internal users. This model offers versatility and convenience, while preserving
management, control and security. Internal customers may or may not be
billed for services through IT chargeback.
Although cloud computing has changed over time, it has always been
divided into three broad service categories:
1. Infrastructure as a service (IaaS)- Infrastructure
as a Service (IaaS) is a form of cloud computing that provides virtualized
computing resources over the Internet. In an IaaS model, a third-party provider
hosts hardware, software, servers, storage and other infrastructure components
on behalf of its users. IaaS providers also host users' applications and handle
tasks including system maintenance, backup and resiliency planning.
IaaS platforms offer highly scalable resources that
can be adjusted on-demand. This makes IaaS well-suited for workloads that are
temporary, experimental or change unexpectedly.
Other characteristics of IaaS environments include
the automation of administrative tasks, dynamic scaling, desktop virtualization
and policy-based services.
E.g. mazon Web Services (AWS),
Windows Azure, Google Compute Engine, Rackspace Open Cloud, and IBM SmartCloud
Enterprise.
2. Platform as a service (PaaS) -Platform
as a service (PaaS) is a cloud computing model that delivers applications over
the Internet. In a PaaS model, a cloud provider delivers hardware and software
tools -- usually those needed for application development -- to its users as a
service. A PaaS provider hosts the hardware and software on its own
infrastructure. As a result, PaaS frees users from having to install in-house
hardware and software to develop or run a new application.
PaaS platforms for software development and management include Appear
IQ, Mendix, Amazon Web Services (AWS) Elastic Beanstalk, Google App Engine and
Heroku.
3. Software as service (SaaS)- Software as
a service (or SaaS) is a way of delivering applications over the Internet—as a
service. Instead of installing and maintaining software, you simply access it
via the Internet, freeing yourself from complex software and hardware
management.
SaaS applications are sometimes called Web-based
software, on-demand software, or hosted software. Whatever the name, SaaS
applications run on a SaaS provider’s servers. The provider manages access to
the application, including security, availability, and performance.
SaaS customers have no hardware or software to buy,
install, maintain, or update. Access to applications is easy: You just need an
Internet connection.
Customer Relationship
management (CRM)
Customer relationship management (CRM) refers to the
practices, strategies and technologies that companies use to manage record and
evaluate customer interactions in order to drive sales growth by deepening and
enriching relationships with their customer bases.
Customer relationship management
(CRM) is a term that refers to practices, strategies and technologies that
companies use to manage and analyze customer interactions and data throughout
the customer lifecycle, with the goal of improving business relationships with
customers, assisting in customer retention and driving sales growth. CRM
systems are designed to compile information on customers across different
channels -- or points of contact between the customer and the company -- which
could include the company's website, telephone, live chat, direct mail,
marketing materials and social media. CRM systems can also give customer-facing
staff detailed information on customers' personal information, purchase
history, buying preferences and concern
CRM
software
CRM software consolidates
customer information and documents into a single CRM database so business users
can more easily access and manage it. The other main functions of this software
include recording various customer interactions (over email, phone calls,
social media or other channels, depending on system capabilities), automating various
workflow processes such as tasks, calendars and alerts, and giving managers the
ability to track performance and productivity based on information logged
within the system.
Common features of CRM software
include:
Marketing automation: CRM tools
with marketing automation capabilities can automate repetitive tasks to
enhance marketing efforts to customers at different points in the lifecycle.
For example, as sales prospects come into the system, the system might
automatically send them marketing materials, typically via email or social
media, with the goal of turning a sales lead into a full-fledged customer.
Sales force automation: Also
known as sales force management, sales force automation is meant to
prevent duplicate efforts between a salesperson and a customer. A CRM system
can help achieve this by automatically tracking all contact and follow-ups
between both sides.
Contact center automation:
Designed to reduce tedious aspects of a contact center agent's job, contact
center automation might include pre-recorded audio that assists in
customer problem-solving and information dissemination. Various software tools
that integrate with the agent's desktop tools can handle customer requests in
order to cut down the time of calls and simplify customer service processes.
Geolocation technology, or
location-based services: Some CRM systems include technology that can create
geographic marketing campaigns based on customers' physical locations,
sometimes integrating with popular location-based GPS apps. Geolocation
technology can also be used as a networking or contact management tool in order
to find sales prospects based on location