0% found this document useful (0 votes)
33 views

Lecture - 11 - Evaluating Alternatives - 2020

Uploaded by

Hoàng Dũng
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Lecture - 11 - Evaluating Alternatives - 2020

Uploaded by

Hoàng Dũng
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

INF20003

Requirement Analysis and Modelling

•Evaluating Alternatives
Learning Objectives
• Describe implementation and deployment activities
• Describe four types of software tests and explain how and
why each is used
• Describe several approaches to data conversion
• List various approaches to system deployment and describe
the advantages and disadvantages
• Explain the importance of configuration management,
change management, and source code control to the
implementation, testing, and deployment of a system
• Review cloud computing options including the benefits and
downsides.
Implementation and Deployment
Activities
Most common types of tests

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Unit Testing
Unit test – tests of an individual method, class, or component before it is
integrated with other software
• Driver – a method or class developed for unit testing that simulates the
behavior of a method that sends a message to the method being tested
• Stub – a method or class developed for unit testing that simulates the
behavior of a method invoked that hasn’t yet been written
Integration Testing
Integration test – tests of the behavior of a group of methods,
classes, or components
❑ Interface incompatibility—For example, one method passes a
parameter of the wrong data type to another method
❑ Parameter values—A method is passed or returns a value that was
unexpected, such as a negative number for a price.
❑ Run-time exceptions—A method generates an error, such as “out
of memory” or “file already in use,” due to conflicting resource
needs
❑ Unexpected state interactions—The states of two or more objects
interact to cause complex failures, as when an OnlineCart class
method operates correctly for all possible Customer object states
except one
System, Performance, and Stress Testing
System test – an integration test of an entire system
or independent subsystem
• Can be performed at the end of each iteration
• Can be performed more frequently
• Build and smoke test – a system test that is performed
daily or several times a week
• The system is completely compiled and linked (built), and a battery of tests is
executed to see whether anything malfunctions in an obvious way (“smokes”)
• Automated testing tools are used. Catches any problems that may have come up
since the last system test
System, Performance, and Stress Testing
• Performance test or stress test – an integration and
usability test that determines whether a system or
subsystem can meet time-based performance criteria
• Response time – the desired or maximum allowable time limit
for software response to a query or update
• Throughput – the desired or minimum number of queries and
transactions that must be processed per minute or hour

load

time
System, Performance, and Stress Testing

Important factors =
User Acceptance Testing (UAT)
• User acceptance test
• a system test performed to determine whether the system
fulfills user requirements
• May be performed near the end of the project (or at
end of later project iterations)
• A very formal activity in most development projects.
Payments tied to passing tests
• Details of acceptance tests are sometimes included in
the request for proposal (RFP) and procurement
contract

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
User Acceptance Testing (UAT)
Plan the UAT
• Should be done early in the project

• Test cases for every use case and


user stories

• Identify conditions to verify that the


system supports the use case
accurately and completely
***Log and Results tracking list

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Deployment Activities

• Note system tests, stress tests, and user acceptance tests


are considered deployment

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Converting and Initializing Data
• An operational system requires a fully populated
database to support ongoing processing
• Data needed at system startup can be obtained from
these sources:
• Files or databases of a system being replaced
• Manual records
• Files or databases from other systems in the organization
• User feedback during normal system operation

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Converting and Initializing Data
• Reuse existing database
• Modify or update existing data
• Reload databases
• Copy and convert the data
• Export and import data from distinct DBMSs
• Data entry from paper documents
Training Users
• Training is needed for end users and system operators
• Training for end users must emphasize hands-on use for
specific business processes or functions, such as order
entry, inventory control, or accounting
• Widely varying skill and experience levels call for at least some
hands-on training, including practice exercises, questions and
answers, and one-on-one tutorials
• System operator training can be much less formal when
the operators aren’t end users
• Experienced computer operators and administrators can learn
most or all they need to know by self-study
Training Users
• System Documentation
• Descriptions of system requirements and architecture to help maintenance and
upgrade of the system
• User Documentation
• How to interact with and use the system for end users and system operators

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Planning and Managing
Implementation, Testing and Deployment
• Direct deployment – a deployment method that installs a new
system, quickly makes it operational, and immediately turns off
any overlapping systems
• Higher risk, lower cost

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Planning and Managing
Implementation, Testing and Deployment
• Parallel deployment – a deployment method that operates the
old and the new systems for an extended time period
• Lower risk, higher cost

Parallel deployment – Problems


• Incompatible inputs (old and
new)
• Heavier load on equipment, may
not have sufficient capacity for
both
• Heavier load on staff, may
require overtime
Partial parallel may be an option
• Process only a subset of the
data
• Use only part of the system –
only some functions

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Planning and Managing
Implementation, Testing and Deployment

• Phased
deployment –

• a deployment
method that installs
a new system and
makes it
operational in a
series of steps or
phases

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Planning and Managing
Implementation, Testing and Deployment

• Change and Version Control – tools and processes handle


the complexity associated with testing and supporting a
system through multiple versions
• Alpha version – a test version that is incomplete but ready for
some level of rigorous integration or usability testing
• Beta version – a test version that is stable enough to be tested by
end users over an extended period of time
• Production version, release version, or production release – a
system version that is formally distributed to users or made
operational for long-term use
• Maintenance release – a system update that provides bug fixes and
small changes to existing features

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 14


©2016. Cengage Learning. All rights reserved.
Selecting Alternatives Swinburne

▪ Entire group of alternatives is evaluated together to provide


“big picture” view of proposed system
▪ There will be trade-off’s due to competing requirements
▪ Key criteria that are used
- Strategic plan
- Economic feasibility
- Schedule and resource feasibility
- Technological feasibility
- Operational, organizational, and cultural feasibility

SCIENCE | TECHNOLOGY | INNOVATION | BUSINESS | DESIGN


Choosing Implementation Swinburne
Alternatives

▪ Variations on obtaining system


- Custom-built software
- Commercial off the shelf software (COTS)
- Open Source Software (OSS)
- Cloud Solutions

SCIENCE | TECHNOLOGY | INNOVATION | BUSINESS | DESIGN


Custom-built software or off the shelf Swinburne

Off the Shelf


Custom
▪ Buy software package, install and use
▪ Built from scratch either in house or
▪ Traditionally focused on isolated business
outsourced
functions
▪ Owned by client - E.g. accounting, customer relationship
▪ May be expensive and/or time management, human resource management,
consuming supply chain management , ERP
▪ Needs extensive testing - Accounting: MYOB, Xero, Intuit Quickbooks

▪ Needs to be upgraded, modified and - CRM: Salesforce, Pipedrive, Insightly, MS


Dynamics CRM
maintained at client’s expense
▪ Exception is ERP which focuses on integrated
▪ Would be chosen if needs are unique business functions
and cannot be met by other methods
▪ Trends show increase in packaged software and
decrease in in-house software development
▪ Customization, integration, and upgrades of
SCIENCE | TECHNOLOGY | INNOVATION | BUSINESS | DESIGN
packages must be considered
(COTS) Customizing Packages Swinburne

▪ Desire is to minimize customization


- Best practices already typically built-
in to COTS
- Unique business requirements may
exist requiring customization
▪ Customization types
- Configuration – selecting options
- Modification – changing program
code to alter processing
- Enhancement – adding functionality

SCIENCE | TECHNOLOGY | INNOVATION | BUSINESS | DESIGN


(COTS) Integrating Packages Swinburne

▪ Standardize data so all functions can access it in real time


▪ Enterprise application integration (EAI) – process of linking
applications to support flow of information across multiple
business units and IT systems
- Middleware – program code developed to link applications
is some way
- ERP has built-in middleware

The API is not the database or


even the server, it is the code
that governs the access
point(s) for the server.

SCIENCE | TECHNOLOGY | INNOVATION | BUSINESS | DESIGN


(COTS) Upgrading Packages Swinburne

▪ Upgrades can be challenging


- Vendors frequently upgrade packages,
➢upgrades may create their own bugs
➢upgrades can be expensive over time
- Existing level of customization may make upgrades more
difficult or even impossible
- Integration within organization may be disrupted because of
the upgrade
▪ Must be planned and documented during system development

SCIENCE | TECHNOLOGY | INNOVATION | BUSINESS | DESIGN


Version Control
• Need for version control

• About box showing


version number
Option – move to the Cloud Swinburne

Public cloud: The cloud infrastructure is made available to the general public over the
internet and is owned by a cloud provider.
Private cloud: The cloud infrastructure is exclusively operated by a single organization. It can
be managed by the organization or a third party and may exist on-premise or off-premise.
Hybrid cloud: It consists of the functionalities of both public and private cloud
28
Business Cloud Types Swinburne

• SaaS: Software-as-a-Service (SaaS) is where the business subscribes to an


application it accesses over the Internet
• PaaS: Platform as a Service (PaaS) is a way to rent hardware, operating systems,
storage and network capacity over the Internet.
• IaaS: Infrastructure as a Service is a provision model in which an organization
outsources the equipment used to support operations, including storage,
hardware, servers and networking components.

29
Advantages of Cloud Computing Swinburne
• Cost Savings
Businesses, no matter what their type or size, exist to earn money while keeping
capital and operational expenses to a minimum. You pay for what is used and
disengage whenever you like - there is no invested IT capital to worry about.
• Reliability
With a managed service platform, cloud computing is much more reliable and
consistent than in-house IT infrastructure. Most providers offer a Service Level
Agreement which guarantees 24/7/365 and 99.99% availability.
• Manageability
Cloud computing provides enhanced and simplified IT management and
maintenance capabilities through central administration of resources, vendor
managed infrastructure and SLA backed agreements. Most cloud systems use a
simple web-based user interface for accessing software, applications and services –
without the need for installation - and an SLA ensures the timely and guaranteed
delivery, management and maintenance of your IT services.
• Strategic Edge
Ever-increasing computing resources give you a competitive edge over competitors,
as the time you require for IT procurement is virtually nil. Cloud computing allows
you to forget about technology and focus on your key business activities and
objectives. It can also help you to reduce the time needed to market newer
applications and services.
30
Disadvantages of Cloud Computing Swinburne
• Downtime
As cloud service providers take care of a number of clients each day, they can become
overwhelmed and may even come up against technical outages. This can lead to your
business processes being temporarily suspended. Additionally, if your internet
connection is offline, you will not be able to access any of your applications, server or
data from the cloud.
• Security
Although cloud service providers implement the best security standards and industry
certifications, storing data and important files on external service providers always
opens up risks. The ease in procuring and accessing cloud services can also give
nefarious users the ability to scan, identify and exploit loopholes and vulnerabilities
within a system.
• Vendor Lock-In
Although cloud service providers promise that the cloud will be flexible to use and
integrate, switching cloud services is something that hasn’t yet completely evolved.
Organizations may find it difficult to migrate their services from one vendor to another.
• Limited Control
Since the cloud infrastructure is entirely owned, managed and monitored by the
service provider, it transfers minimal control over to the customer. Key administrative
tasks such as server shell access, updating and firmware management may not be
passed to the customer or end user.
31
That’s it. Swinburne
See you for our final lecture next week.
How your brain feels like at week 11

32

You might also like