You are on page 1of 647

Online

shop for electronic devices


(computers, mobile phones and white
goods)



Introduction
The shop represents a virtual store on the internet where customers can browse the catalog and
select items (electronic devices) of interest. The items can be collected in a shopping basket and
ordered, afterwards. At that time, more information will be required from the customer to complete
the order. The customer will be asked to fill billing address, a shipping address, a shipping option,
and payment information such as credit card number. An e- mail notification is sent to the customer
as soon as the order is placed.

Advert, update and remove products


Business goal:

• Advert and update items for sale

Scope: A solution that will enable to the users to easily add and remove products that are for sale.
The products can be entered only by authorized users. As to enter the products, the users must
populate the product specification from. The product specification form defines the product as an
unique entity that has a product name, a product technical specification and a price. As to remove
product, the user must delete it from the system.

Users:

• Super admin

User stories
Title: Advert new product

As a super admin
I want to add new product on the online store
So that I can advert what is on sale from our store.

Scenario1: Advert new product that has not been entered previously.

Given the Super admin is already logged in


And the super admin has selected to add new product in the system.
And the super admin has already populated the product specification form.
And the product has a valid product specification (Valid name, valid product technical
specification and valid price).
And the product has not been entered previously.
When the super admin submits the form
Then the product should be added in the system.
And no validation should appear about duplicate product.
And the product should be available for ordering.

Scenario2: Don’t add product that has been entered previously.

Given the Super admin is already logged in


And the super admin has selected to add new product in the system.
And the super admin has already populated the product specification form.
And the product has a valid product specification (Valid name, valid product technical
specification and valid price).
And the product has been entered previously.
When the super admin submits the product specification form
Then a validation message should appear that the product is already entered in the system.
And the product should not be added in the system.

Title: Update price for a product that is already added in the system

As a super admin
I want to update the product
So that I can change the product price.

Scenario1: Price update

Given The super admin is already logged in


And the super admin has selected to update the product
And the super admin has selected a product that needs to be updated
And the super admin has entered a valid product price (the price is not negative, has no
letters, and is not over limit)
When super admin submits the product specification form
Then the product should be updated
And the product price should be changed.
And the product should be available for ordering.

Title: Delete a product

As a super admin
I want to delete a product
So that I can remove the product from the system

Scenario1: Delete a product

Given the super admin is already logged in


And the super admin has selected to delete the product
When the super admin clicks the delete button
Then the product should be removed from the system
And the product should not be available for ordering

Order products
Business goal:

• Make an order

Users

• Customer

Scope: A solution that will enable to the Customers to select products from the catalog and add
them in the shopping basket. The products from the basket can purchased or removed. When
purchased, the customer will be asked to fill billing address, a shipping address, a shipping option,
and payment information such as credit card number. An e- mail notification will be sent to the
customer as soon as the order is placed. Only registered customers can buy products


Title: Make an order

As a customer
I want to select a product
So that I can add it in my shopping basket and create an order

Scenario1: Add products in the shopping basket

Given The customer is already logged in


And the customer has selected a product
And the customer has selected the quantity for the product
When the customer clicks the add product button
Then the product should be added in the shopping basket


Title: Remove items from an order

As a customer
I want to delete a product
So I can remove the product from the shopping basket

Scenario1: Remove product from the shopping basket

Given The customer is already logged in


And the customer has entered his shopping basket
When the customer clicks on the delete product button
Then the product should be removed from the shopping basket
And should not be charged

Title: Purchase an order

As a customer
I want to purchase an order
So that I can get my products

Scenario1: Prepare to purchase an order

Given the customer is already logged in


And the customer has entered his shopping basket
And the customer has selected to purchase the order
When the customer clicks on the purchase order button
Then a purchase form should appear

Scenario2: Purchase an order

Given the customer is already logged in


And the customer has entered his shopping basket
And the customer has populated the purchase form by filling his address, a shipping option
and a payment information
When the customer submits the purchase form
Then the order should be purchased
And an email notification should be sent to the customer.
Анализа и дизајн на
информациски системи

Тема 9
Спецификација по пример
Благодарност за
Declan Whelan
Shawn Wallace
Waterfall

Source: http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
Agile Specification
Типичен пристап

Build

Specification Test
Deploy
Tests Cases

И тогаш ќе се појави
Последици
Behavior Driven Design
• Перспектива на корисник
• Се тестира однесувањето на системот
• Executable requirements
• Има директна повратна врска
• Рачно враќање и поправање е прескапо
Acceptance Tests vs. Unit Tests

• Unit Test потврдува дека кодот е добар (INSIDE


OUT)
• Acceptance Test потврдува дека модулот е
добар (OUTSIDE IN)

8
Acceptance Tests vs. Unit Tests

9
http://www.deltamatrix.com/2012-04-17-04-37-50/horizontal-and-vertical-user-stories-slicing-the-cake
http://www.deltamatrix.com/2012-04-17-04-37-50/horizontal-and-vertical-user-stories-slicing-the-cake
Build it Right
Business Failure Business Success

Specification By
Example

Build the Right Thing

Useless Crap Maintenance Nightmare


Specification By Example
Gojko Adzic, 2011 page 4
What are Specifications
By Example?
• Thin slices of system behaviour
• that deliver business value
• described as concrete examples
• that are potentially automatable
• without translation
• to create executable specifications
• captured in live documentation.
Source: https://docs.google.com/drawings/d/1cbfKq-KazcbMVCnRfih6zMSDBdtf90KviV7l2oxGyWM/edit
Specification By Example
Business Goal
Derive the scope
Scope
Specify collaboratively
Key Examples
Refine the specification
Specification With Examples
Automate literally
Executable Specification
Validate frequently
Living Documentation
Derive the Scope: User Stories

As a _______
I want to _______
So that _______

As a student
I want to purchase used books online
So that I can save money
Колаборациски работилници

• Три члена:
– програмер
– тестер
– аналитичар
Пример Спецификација

Given _______
When _______
Then _______

Given “War and Peace” is available as a used book for $2.99


When Susan selects book“War and Peace”
Then “Buy used for $2.99” is displayed
Refining the Specification
“Specifications with examples are acceptance tests”
Gojko Adzic

• Be precise and make sure spec is testable


• Avoid “scripts” and “flows”
• Focus on business functionality not design
• Avoid UI details
• Avoid covering every possible combination
Automating Examples

• Start small
• Select important examples for automation
• Plan up-front to automate
• Be prepared to go slower at the start
• Treat automation code as a first class citizen
• Avoid record and playback
• Avoid using pre-populated data
Validate Frequently
• Start with a Continuous Integration system
• Set up a Continuous Deployment system
• Specify and test business logic separately
from end-to-end flows
• Organize tests along functional lines
• Run all test nightly
• Consider an iteration “test pack”
Living Documentation
• Keep specifications short
• Evolve a specification language and leverage
in with “common fixtures”
• Make documentation accessible - consider
a wiki
• Organize the documentation
• Put specifications under version control
• Describes how software should behave in plain text
• Gherkin
– Usable in many different human languages
– Features can be written and understood by both non/technical project
members
• Not a replacement for unit testing; it’s not a low level
testing/spec framework
• Easy to execute in Continuous Integration environment (except
MS TFS)
Technology Stack
• Cucumber - Domain Specification
• Ruby, JRuby or .NET - map cukes to application
• UI testing framework - Watir, Watin, Selenium,
Capybara (headless), anything that supports
WebDriver
• Open source
• STRONG community support

23
Features
• Who’s using the system?
• What are they doing?
• Why do they care?

• As a <role>
• I want <feature>
• So that <business value>
Who’s Using the System

What are they doing?

Why do they care?

Features
Scenarios
• Features are defined by one or more scenarios
• Sequence of steps thru the feature that exercises on
path
• Use BDD style – given-when-then

• Scenario: <description>
• <step 1>
• …
• <step 2>
Scenarios
• Given
–Sets up preconditions, or context, for the scenario
• When
–The action, or behavior, that we’re focused on
• Then
–Checks post-conditions
–Verifies that the right thing happened in the When
stage
• And
• Given - Sets up preconditions, or context, for the scenario
• When - The action, or behavior, that we’re focused on
• Then - Checks post-conditions and verifies that the right thing
happened in the When stage

Scenarios
Cucumber Organization

Step
Features
Definitions

Call
System
Under Test
Feature File
Feature: Turn cucumber into beer
As a cucumber presenter
I want beer after my presentation
So I can enjoy the rest of day

Scenario: Vlado buys Marija beer


Given Vlado hosts ADIS
When Marija demos Cucumber
Then Vlado should buy Marija 1 beer
Step Definitions
Given /^(.+) hosts/ do |host|
@event = Event.new(host)
end

When /^(.+) demos/ do |presenter|


@event.add(presenter)
end

Then /^(.+) should buy (.+) (\d+) (.*)$/ do |buyer, drinker, qty, item|
perk = @event.perks[0];
perk.buyer.should == buyer; perk.receiver.should == drinker
perk.quantity.should == quantity.to_i; perk.item.should == item
end
System Under Test
class Event
attr_reader :perks

def initialize(host) @host = host; @perks = [] end

def add(presenter)
@perks.push Perk.new(@host, presenter, 1, "beer")
end
end

class Perk
attr_reader :buyer, :receiver, :quantity, :item

def initialize(buyer, receiver, quantity, item)


@buyer = buyer; @receiver = receiver
@quantity = quantity; @item = item
end
end
Execution
Scenario: Vlado buys Marija beer
Given Vlado hosts ADIS
When Marija demos Cucumber
Then Vlado should buy Marija 1 beer
Given /^(.+) hosts/ do |host| When /^(.+) demos/ do |presenter|
@event = Event.new(host) “Vlado”
@event.add(presenter)
End end

Then /^(.+) should buy (.+) (\d+) (.*)$/ do |buyer, drinker, qty, item|
perk = @event.perks[0];
perk.buyer.should == buyer; perk.receiver.should == drinker
perk.quantity.should == quantity.to_i; perk.item.should == item
end
Execution
Scenario: Vlado buys Marija beer
Given Vlado hosts ADIS
When Marija demos Cucumber
Then Vlado should buy Marija 1 beer
Given /^(.+) hosts/ do |host| When /^(.+) demos/ do |presenter|
@event = Event.new(host) @event.add(presenter)
End end

“Marija”
Then /^(.+) should buy (.+) (\d+) (.*)$/ do |buyer, drinker, qty, item|
perk = @event.perks[0];
perk.buyer.should == buyer; perk.receiver.should == drinker
perk.quantity.should == quantity.to_i; perk.item.should == item
end
Execution
Scenario: Vlado buys Marija beer
Given Vlado hosts ADIS
When Marija demos Cucumber
Then Vlado should buy Marija 1 beer
Given /^(.+) hosts/ do |host| When /^(.+) demos/ do |presenter|
@event = Event.new(host) @event.add(presenter)
End end

Then /^(.+) should buy (.+) (\d+) (.*)$/ do |buyer, drinker, qty, item|
perk = @event.perks[0];
perk.buyer.should == buyer; perk.receiver.should == drinker
perk.quantity.should == quantity.to_i; perk.item.should == item
end
Reading
Specification By Example
Gojko Adzic
Верзии и контрола на изворен код
Имплементација на информациони системи
(Анализа и дизајн на информациски системи)

Васил Буралиев
vasil.buraliev@vbu.mk

Ноември, 2017
За презентацијата

Software Versioning
Management)

Visual
Source control
ALM (Application Lifecycle

Управување со Верзии на Контрола на Демонстрација Примери и


животниот изворен код изворен код на приказни од
циклус на верзионирање реалниот свет
софтверски и контрола на
апликации изворен код
Application Lifecycle Management

ТРИ РАЗЛИЧНИ АСПЕКТИ


[ALM] Временска проекција
Секвенца од настани
[ALM] Управувања
[ALM] Развој
[ALM] Операции
Верзии на софтвер
Имплементација на информациони системи
Зошто верзионирање?
• Dependency hell (DLL hell)
• Полесна комуникација со корисници но и помеѓу членовите на
развоен тим
Типови на верзионирање
• Internal version number
• Често се менува
• Служи за интерна употреба од развојниот тим
• Released version
• Не се менува често и е верзија за јавноста (консументите на производот)
• Semantic Versioning
Правила на Semantic Versioning
• X.Y.Z (Major.Minor.Patch)
• Pre-release ознаки (alpha, beta, RC) пр. 1.0.0-Alpha.1
• Штом верзија се сподели со јавност, повеќе нема менување на
нејзиниот опфат(содржина)
Контрола на изворен код
Имплементација на информациони системи
Архитектури
Централизирана Дистрибуирана
(two trees architecture) (three trees architecture)
Вообичаени модели
• Check out / Edit / Check in
• Team Foundation Server (Visual Studio Team Services), SourceSafe, Perforca,
Source Gear Vault

• Edit / Merge / Check in


• Subversion, CVS, Source Gear Vault (во CVS режим)

• Дистрибуиран (Distributed) Edit / Merge / Checkin (push)


• Git, Mercurial, BitKeeper, Bazzar
Check out/Edit/Check in модел
предности и недостатоци

• Превенирање Checkout преку


заклучување (Checkout со • Серверот мора да биде достапен
ексклузивно заклучување) за да се направи Checkout
• Преглед на она што е направено • Датотеките се во ReadOnly режим
Checkout • Не отклучена датотека може да ја
• Овозможена листа за тоа што е блокира работата на колега
променето
Дистрибуиран (Distributed) Edit / Merge / Check in

• Реплиакција на податоци
• Висок степен на достапност • Не е препорачлив за екстремно
големи датотеки и за бинарни
• Добри мрежни перформанси и датотеки што често се менуваат
перформанси во искористување на
хард диск (hard disk) • Не поддржува Commit на повеќе
бречнови (branches) или тагови
• Различни типови на проекти
Git
• Линус Торвалдс (Linus Torvalds)
• Создаден во 2005
• Основни цели при креирање
• Брзина (Speed)
• Едноставен дизајн (Simple design)
• Добро поддршка за нелинеарен развој (можност за креирање илјадници
бренчови (branches))
• Дистрибуирана архитектура (Fully distributed)
• Да поддржи справување со големи проекти, како на пример развој на
Линкс кернелот (Linux kernel)
Git

Основни концепти Основни Команди


• Remote repository • Push
• Local repository • Pull
• Workspace • Commit
• Log • Clone
Change set
HEAD
Разделување и спојување
(Branching & Merging)
Стратегии за разгранување
(Branching strategies)
• Main only
• Development Isolation
• Feature Isolation
• Release Isolation
• Servicing and Release Isolation
• Servicing, Hotfix, Release Isolation
Main only
Стратегија за разгранување
Development Isolation
Стратегија за разгранување
Feature Isolation
Стратегија за разгранување
Release Isolation
Стратегија за разгранување
Servicing and Release Isolation
Стратегија за разгранување
Servicing, Hotfix, Release Isolation
Стратегија за разгранување
Напредни функции
• Аплицирање автоматски тестови врз изворен код (build server –
continuous integration)
• Интеграција со барања
Демонстрација на контрола
на изворен код
Имплементација на информациони системи
Push, Pull и Разрешување на конфликти
Демонстрација 1
Разделување и спојување (Branching and Merging)
Демонстрација 2
Управување со работни блокови (Work Items) и
контролата за верзионирање (Version Control)
Демонстрација 3
Примери и приказни од
реалниот свет
Имплементација на информациони системи
Scaled Agile Framework

www.scaledagileframework.com
6
Kendall & Kendall
Systems Analysis and Design, 9e

Agile Modeling and


Prototyping

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Understand the roots of agile modeling in prototyping and


the four main types of prototyping.
• Be able to use prototyping for human information
requirements gathering.
• Understand agile modeling and the core practices that
differentiate it from other development methodologies.
• Learn the importance of values critical to agile modeling.
• Understand how to improve efficiency for users who are
knowledge workers using either structured methods or
agile modeling.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-2
Agile Modeling, but First
Prototyping
• Agile modeling is a collection of innovative,
user-centered approaches to system
development
• Prototyping is an information-gathering
technique useful in seeking
• User reactions
• Suggestions
• Innovations
• Revision plans

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-3
Major Topics

• Prototyping
• Agile modeling

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-4
Prototyping

• Patched-up
• Nonoperational
• First-of-a-series
• Selected features

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-5
Patched-Up Prototype

• A system that works but is patched up


or patched together
• A working model that has all the
features but is inefficient
• Users can interact with the system
• Retrieval and storage of information
may be inefficient

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-6
Nonoperational Scale Models

• A nonworking scale mode that is set up to


test certain aspects of the design
• A nonworking scale model of an information
system might be produced when the coding
required by the application is too expensive
to prototype but when a useful idea of the
system can be gained through prototyping of
the input and output only.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-7
First-of-a-Series Prototype

• Creating a pilot
• Prototype is completely operational
• Useful when many installations of the same
information system are planned
• A full-scale prototype is installed in one or
two locations first, and if successful,
duplicates are installed at all locations based
on customer usage patterns and other key
factors

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-8
Selected Features Prototype

• Building an operational model that


includes some, but not all, of the
features that the final system will have
• Some, but not all, essential features are
included
• Built in modules
• Part of the actual system

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-9
Four Kinds of Prototypes
Clockwise, Starting from the Upper Left
(Figure 6.1)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-10
Prototyping as an Alternative
to the Systems Life Cycle
• Two main problems with the SDLC
• Extended time required to go through the
development life cycle
• User requirements change over time
• Rather than using prototyping to
replace the SDLC use prototyping as a
part of the SDLC

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-11
Drawbacks to Supplanting the
SDLC With Prototyping
• Drawbacks include prematurely shaping
a system before the problem or
opportunity is thoroughly understood
• Using prototyping as an alternative may
result in producing a system that is
accepted by specific groups of users but
is inadequate for overall system needs

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-12
Guidelines for Developing a
Prototype
• Work in manageable modules
• Build the prototype rapidly
• Modify the prototype in successive
iterations
• Stress the user interface

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-13
Work in Manageable Modules

• It is imperative that an analyst work in


manageable modules
• One distinct advantage of prototyping is that
it is not necessary or desirable to build an
entire working system for prototype purposes
• A manageable module allows users to interact
with its key features but can be built
separately from other system modules
• Module features that are deemed less
important are purposely left out of the initial
prototype
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-14
Build the Prototype Rapidly

• Speed is essential for successful prototyping


• Analysts can use prototyping to shorten this gap by
using traditional information-gathering techniques to
find information requirements
• Make decisions that bring forth a working model
• Putting together an operational prototype rapidly and
early in the SDLC allows an analyst to gain insight
about the remainder of the project
• Showing users early in the process how parts of the
system actually perform guards against
overcommitting resources to a project that may
eventually become unworkable

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-15
Modify the Prototype in
successive iterations
• Making a prototype modifiable means
creating it in modules that are not highly
interdependent
• The prototype is usually modified several
times
• Changes should move the system closer to
what users say is important
• Each modification is followed by an evaluation
by users

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-16
Stress the User Interface

• Use the prototype is to get users to further


articulate their information requirements
• They should be able to see how the prototype
will enable them to accomplish their tasks
• The user interface must be well developed
enough to enable users to pick up the system
quickly
• Online, interactive systems using GUI
interfaces are ideally suited to prototypes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-17
Disadvantages of Prototyping

• It can be difficult to manage


prototyping as a project in the larger
systems effort
• Users and analysts may adopt a
prototype as a completed system

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-18
Advantages of Prototyping

• Potential for changing the system early


in its development
• Opportunity to stop development on a
system that is not working
• Possibility of developing a system that
more closely addresses users’ needs
and expectations

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-19
Prototyping Using COTS Software

• Sometimes the quickest way to


prototype is through the modular
installation of COTS software
• Some COTS software is elaborate and
expensive, but highly useful

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-20
Users’ Role in Prototyping

• Honest involvement
• Experimenting with the prototype
• Giving open reactions to the prototype
• Suggesting additions to or deletions from
the prototype

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-21
Prototype Evaluation Form
(Figure 6.3)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-22
Agile Modeling

• Agile methods are a collection of


innovative, user-centered approaches to
systems development

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-23
Values and Principles of Agile
Modeling
• Communication
• Simplicity
• Feedback
• Courage

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-24
Values Are Crucial to the Agile
Approach (Figure 6.4)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-25
The Basic Principles of Agile
Modeling
• Satisfy the customer through delivery of
working software
• Embrace change, even if introduced late in
development
• Continue to deliver functioning software
incrementally and frequently
• Encourage customers and analysts to work
together daily
• Trust motivated individuals to get the job
done

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-26
The Basic Principles of Agile
Modeling (continued)
• Promote face-to-face conversation
• Concentrate on getting software to
work
• Encourage continuous, regular, and
sustainable development
• Adopt agility with attention to mindful
design
• Support self-organizing teams
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-27
The Basic Principles of Agile
Modeling (continued)
• Provide rapid feedback
• Encourage quality
• Review and adjust behavior occasionally
• Adopt simplicity

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-28
Four Basic Activities of Agile
Modeling
• Coding
• Testing
• Listening
• Designing

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-29
Coding

• Coding is the one activity that it is not


possible to do without
• The most valuable thing that we receive
from code is “learning”
• Code can also be used to communicate
ideas that would otherwise remain fuzzy
or unshaped

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-30
Testing

• Automated testing is critical


• Write tests to check coding, functionality,
performance, and conformance
• Use automated tests
• Large libraries of tests exist for most programming
languages
• These are updated as necessary during the project
• Testing in the short term gives extreme confidence in
what you are building
• Testing in the long term keeps a system alive and
allows for changes longer than would be possible if
no tests were written or run

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-31
Listening

• Listening is done in the extreme


• Developers use active listening to hear their
programming partner
• Because there is less reliance on formal, written
communication, listening becomes a paramount skill
• A developer also uses active listening with the
customer
• Developers assume that they know nothing about the
business so they must listen carefully to
businesspeople

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-32
Designing

• Designing is a way of creating a structure to organize


all the logic in the system
• Designing is evolutionary, and so systems are
conceptualized as evolving, always being designed
• Good design is often simple
• Design should allow flexibility
• Effective design locates logic near the data on which
it will be operating
• Design should be useful to all those who will need it
as the development effort proceeds

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-33
Four Resource Control Variables
of Agile Modeling
• Time
• Cost
• Quality
• Scope

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-34
Four Core Agile Practices

• Short releases
• 40-hour work week
• Onsite customer
• Pair programming

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-35
Agile Core Practices (Figure 6.5)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-36
The Agile Development Process

• Listen for user stories


• Draw a logical workflow model
• Create new user stories based on the
logical model
• Develop some display prototypes
• Create a physical data model using
feedback from the prototypes and
logical workflow diagrams
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-37
Writing User Stories

• Spoken interaction between developers


and users
• Seeking first and foremost to identify
valuable business user requirements
• The goal is prevention of
misunderstandings or misinterpretations
of user requirements

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-38
User Stories Can Be Recorded on
Cards (Figure 6.6)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-39
Scrum

• Begin the project with a high-level plan that


can be changed on the fly
• Success of the project is most important
• Individual success is secondary
• Project leader has some (not much) influence
on the detail
• Systems team works within a strict time
frame

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-40
Scrum

• Product backlog
• Sprint backlog
• Sprint
• Daily scrum
• Demo

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-41
Lessons Learned from Agile
Modeling
• Short releases allow the system to
evolve
• Pair programming enhances the overall
quality
• Onsite customers are mutually
beneficial to the business and the agile
development team

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-42
Lessons Learned from Agile
Modeling (continued)
• The 40-hour work week improves
worker effectiveness
• Balanced resources and activities
support project goals
• Agile values are crucial to success

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-43
There Are Six Vital Lessons That Can Be Drawn
from the Agile Approach to Systems (Figure 6.7)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-44
Comparing Agile Modeling and
Structured Methods
• Improving the efficiency of systems
development
• Risks inherent in organizational
innovation

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-45
Strategies for Improving Efficiency Can Be Implemented
Using Two Different Development Approaches
(Figure 6.8)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-46
Adopting New Information Systems Involves
Balancing Several Risks (Figure 6.9)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-47
Risks When Adopting New Information
Systems

• Fit of development team culture


• Best time to innovate
• Training cost for analysts and
programmers
• Client’s reaction to new methodology
• Impact of agile methodologies
• Programmers/analysts individual rights
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-48
Summary

• Prototyping
• Patched-up system
• Nonoperational
• First-of-a-series
• Selected-features
• Prototype development guidelines
• Prototype disadvantages

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-49
Summary (continued)

• Prototype advantages
• Users’ role in prototyping
• Agile modeling
• Five values of the agile approach
• Principles of agile development
• Agile activities
• Agile resources
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-50
Summary (continued)

• Core practices of the agile approach


• Stages in the agile development process
• User stories
• Agile lessons
• Scrum methodology
• Dangers to adopting innovative
approaches
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 6-51
Copyright © 2014 Pearson Education, Inc.
Publishing as Prentice Hall

6-52
Анализа и дизајн на
информациски системи

Тема 8
Имплементација (Агилен пристап)
Имплементација на ИС
• Имплементацијата на ИС опфаќа развој на
решението (кодирање), тестирање, тренинг,
пренос на податоци, и премин од постоечки
ИС на нов ИС
• На крајот од овој процес би требало да има
комплетно функционален ИС

2
Вовед
• Спецификацијата на ИС е основа за развој на
ИС
• Имплементација на ИС не е само пишување на
код
• Пред да почне со работа новиот ИС, тој мора
да се тестира, документира, неговите
корисници да се обучат и сите оперативни
податоци да се префрлат во него
• Поради тоа станува збор за процес кој треба
да се менаџира
3
Обезбедување на квалитет на софтвер
Software Quality Assurance
• Од софтверско
инженерство
– Capability Maturity Model
(CMM)
– Capability Maturity Model
Integration (CMMI)
– Подобрување на процес на
развој
– CMMI го анализира
процесот на развој на
софтвер и го категоризира во
5 категории
4
Обезбедување на квалитет на софтвер
Software Quality Assurance
• Постојат повеќе стандарди
• International Organization for Standardization (ISO)
– ISO 90003:2004
– ISO но побарува специфичен план за развој
– Не е компатибилен со агилна методологија

5
Кодирање
• Префрлање на логичкиот модел во
коректно функционален код согласно
спецификациите на ИС
• Пред кодирање потребно е да се направи
физички дизајн на ИС
– Тоа е план за модули и нивна поврзаност

6
Имплементација на ИС
– Традиционални методи
• SDLC фази согласно методологија на водопад
• Активности за кодирање и тестирање
– Агилни методи
• Започнува интензивна комуникација и колаборација
помеѓу ИТ тимот за развој и крајните корисници на
ИС
• ИС се креира низ итеративен процес

7
Имплементација на ИС
• Управување со проектот
– И скромни ИС може да имаат неколку стотина
модули
– Важно е да се испланираат реални рокови, да
се запазат крајните рокови, да се контролираат
трошоците и да се задржи квалитетот
– За тоа се потребни алатки и техники за
управување со проекти

8
Агилен развој
• Фокус на мали тимови, интензивна
комуникација и брзи итерации на развој на
код
• Пример
– Корисничка сторија
• Креирање на тестови и специјални случаи
– План за релис
• Итеракциски циклус започнува
• Дневни состаноци
• Релис
9
Агилен развој – Екстремно
програмирање

10
Агилен развој – Екстремно
програмирање

11
Scrum in 100 words
Scrum is an agile process that allows us to focus on delivering
the highest business value in the shortest time.
It allows us to rapidly and repeatedly inspect actual working
software (every two weeks to one month).
The business sets the priorities. Our teams self-manage to
determine the best way to deliver the highest priority
features.
Every two weeks to a month anyone can see real working
software and decide to release it as is or continue to enhance
for another iteration.
Scrum
Додека трае спринт нема промени

Change

Inputs Sprint Tested Code

• Должината на спринтот се бира да биде


таква за да не се допуштат промени во
него
Scrum рамка
• Roles : Product Owner, ScrumMaster, Team
• Ceremonies : Sprint Planning, Sprint Review,
Sprint Retrospective, & Daily Scrum Meeting
• Artifacts : Product Backlog, Sprint Backlog,
and Burndown Chart
Product Owner
• Го дефинира продуктот (што влегува во
него)
• Одлучува кога ќе биде реализиран (рок)
• Одговорен е за вредноста што ја враќа(ROI)
• Ги приоретизира карактеристиките на
продуктот согласно околностите
• Ги прилагодува приоритетите во секоја
итерација доколку има потреба
• Ги прифаќа или одбива резултатите од
работата
The Scrum Master
• Претставник на менаџметот
• Ги отстранува пречките при работата
• Води грижа тимот да е продуктивен и функционален
• Се грижи да има кооперација
• Го штити тимот од надворешни влијанија
Scrum Team
• Типично 5-10 луѓе
• Од сите области
– Обезбедувачи на квалитет, програмери, дизајнери,...
• Членовите на тимот го работат само тоа
– Исклучоци би биле луѓе кои се битни за инпут и повремен
придонес како системски инженери и слично

• Тимовите се самоорганизираат
– Мора да се внимава на конфликти
• За време на спринт нема промена во тимот
Ceremonies
• Планирање на спринт
• Спринт
• Дневен Scrum
• Состанок за ревју на спринт
Spring Planning Meeting

Product Backlog

Team Capabilities
Sprint Goal
Sprint Planning
Business Conditions
Meeting Sprint Backlog
Technology

Current Product
Sprint Planning Meeting

• Прв тип:
– учесници: Product Owner, Scrum Master, Scrum
Team
– Создавање на Product Backlog
– Одредување на целта на Sprint
• Втор тип:
– Учесници: Scrum Master, Scrum Team
– Создавање на Sprint Backlog
Sprint
• Итерација во која се произведува нова
верзија на код
• НЕМА надворешно влијание
• Секој спринт има дневни Scrum состаноци
Дневен Scrum
• Како изгледа
– 15 минути
– Се стои
– Не се решаваат проблеми
– Не се бараат причини за каснење
• Три прашања:
1. Што правевме вчера?
2. Што ќе правиме денес?
3. Кои пречки ги имаме?
• Може да учествуваат и луѓе надвор од тимот што треба да
се информирани или да донесат одлуки
– За да нема непотребни состаноци
– Само тие што донесуваат одлуки можат да зборуваат
Sprint Ревју Состанок
• Тимот презентира што е остварено
за време на спринтот
• Типично е во форма на презентација
на демо
• Не е формален
– Не е подолг од 2 часа
• Учесници
– Корисници
– Менаџмент
– Product Owner
– Други по потреба
Sprint ретроспективен состанок
• Посебен тип на спринт ревју
• Само учесниците на спринт тимот
• Што се случило
– Кога имало застој
– Како се решил
Product Backlog
• Листа на посакувани цели
– Вообичаено комбинација од
• Кориснички сторија (“корисникот треба да
пребара...”)
• Интерни таскови (“подобро exception handling”)
• Листата се приоретизира од Product Owner-
от
Пример Product Backlog
Од Sprint цел до Sprint Backlog

• Scrum тимот ја гледа целта на Sprint-от и


одредува кои таскови треба да се направат
• Тимот се самоорганизира како ќе го
направи тоа
– Менаџерот не доделува таскови или донесува
одлуки
• Sprint Backlog е таа листа на таскови
• Не повеќе од стотина таскови
• Таскот не трае подолго од два-три дена
Sprint Backlog додека трае Sprint-от

• Промени
– Тимот (не продукт сопственикот) има право да
прави било какви промени за да се постигне
целта на спринтот
– Тимот може да избрише таскови
– Се ажурира на дневно ниво
• Може да се промени и естимацијата на
времето доколку има нови информации
Пример Sprint Backlog
Sprint Burn down Табела
• Ги прикажува вкупните Sprint Backlog
часови потрошени во денот
• Може да одреди колку време е потребно
до крајот на спринтот (тогаш ќе биде нула)
• Може да има скок
• Потребно е точно и навремено ажурирање
од сите членови на тимот
Remaining Effort in Hours

5/
3/
2

100
200
300
400
500
600
700
800
900

0
5/ 00
5/ 2
2
5/ 002
7/
2
752

5/ 00
9/ 2
5/ 200
11 2
5 / /2 0
762

13 02
/
5/ 200
664

15 2
/
5/ 200
17 2
5 / /2 0
Progress

619

19 02
/
5/ 200
Date
21 2
304

5 / /2 0
23 02
/
5/ 200
25 2
/
5/ 20
264

27 02
/
5/ 200
180

29 2
5 / /2 0
31 02
/2
00
2
104
20
Sprint Burndown Табела
Release Burndown Табела
• Покажува дали рилисот ќе биде на време
• X-оска: спринтови
• Y-оска: колку часови остануваат
Product Burndown Табела
• Исто како претходно но наместо спринтови
имаме релиси
• Покажува како тече реализирањето на
продуктот
Скалирање на Scrum
• Еден Scrum тим е 5-10 луѓе
• На некои проекти може да работат и 100-
тици луѓе
• "Scrum of Scrums" или"Meta-Scrum“
• Фреквенција на состаноци зависи од степен
на поврзаност на модули
Како се скалира Scrum?
Проблеми со агилниот развој
– Може да се изгуби квалитетот во постојано
брзање
– Може развојниот тим да се доведе до
непотребен стрес поради брзање
– Може да се заборави на документирање на
кодот поради постојани промени
– Ако се применува ваква методологија, особено
важно е спецификацијата да биде точна и
непроменлива, и методологијата утврдена
– Нема универзално прифатливо решение за
агилен развој 37
• Unit Testing
Тестирање
• Integration Testing
• System Testing

• Тестирањето е влог во
квалитетот на
системот, тоа е
навистина битен чекор
во процесот

38
Документација
• Документација на кодот
• Системска документација
• Оперативна документација
• Корисничка документација
– Може да се користи за обука
– Може да биде онлајн или интегрирана во хелп
менито на ИС

39
Одобрување на кодот
• Откако ќе заврши тестирањето на кодот,
кодот (или модулот во агилен пристап)
мора да се одобри од корисниците
• Дури по тоа одобрување тој код може да се
инсталира

40
Инсталација на ИС и негова
евалуација
• Инсталацијата опфаќа:
– Подготовка на околината каде што системот ќе
се инсталира
• Тестирањето се врши во друга околина која може да
биде копија на оперативната околина, но понекогаш
тоа е скапо
– Префрлање на оперативните податоци
– Премин на новиот систем
• Претходно е извршена обука
– На корисници
– На менаџери
– На оние што ќе го одржуваат технички системот 41
Оперативни и тест околини

42
Оперативни и тест околини
• Оперативната околина опфаќа хардверски
и софтверски конфигурации и сетирања,
системски алатки, мрежа и било кој други
ресурси кои може да влијаат на
перформансите на ИС
• Тест околината треба да може најмалку да
ги симулира тие елементи
• Виртуелни тест околини се можен пристап, но
не секогаш

43
Пренос на податоци
• Стратегии за пренос на податоци
– Стариот ИС може да ги експортира податоците
во формат прифатлив за новиот ИС (пример:
ASCII или ODBC)
– Пишување на посебен софтвер за екстракција и
пре-форматирање на податоците
• При ова можно е да треба податоците мануелно да
се дополнуваат

44
Префрлање на новиот ИС

45
Префрлање на новиот ИС

46
По имплементацијата на ИС
• Евалуација
• Дали саканите функционалности се остварени?
• Дали се остварени бизнис целите?
• Дали планот за време и трошоци е запазен?
• Дали е обезбедена потребната документација?

47
Поддршка на корисници
• Help Desk
– help desk е централна контакт точка за сите
активности за одржување на ИС
– Може да е на повеќе нивоа
– Може да се автомизира

48
Типови одржување

49
Типови одржување
• Corrective Maintenance (отклонување
грешки)
• Adaptive Maintenance (подобрување и
прилагодување на нови потреби)
• Perfective Maintenance (одржување на
оперативен систем, сигурносни системи, ...)
• Preventive Maintenance (поправање на
грешки што не се пријавени)

50
Управување со одржување
• Релиси на одржување
– Секое одржување има свој број
– Треба да биде документирано
– Service packs
• Контрола на верзии на ИС

51
Сигурност на ИС

52
Backup & Disaster Recovery
• Backup Полиси
– Backup медиуми
• период
• локација
– Backup типови

53
Backup типови

54
Disaster Recovery
• Како да продолжи оперативноста на
бизнисот
– Вклучување на алтернативен сервер
– Репликација на податоци

55
Престанок на работа на ИС
• Секој ИС има крај на животниот век
• Тоа се случува кога цената на одржување на
системот е поголема од вредноста што тој ја
носи
• Тогаш е потребно да се воведе нов ИС

56
Scaling e-commerce solutions

Dimitar Siljanovski, December 2020


ФИНКИ - Анализа и дизајн на ИС
Dimitar Siljanovski
- 15 years professional in the Software Development
- 2005 - 2008 Software Developer in SDC
- 2008 - 2009 Founder and CEO/CTO of Evgenium
- 2009 - 2013 Senior Developer at oDesk (UpWork)
- 2013 - 2018 CTO at CupoNation (Rocket Internet)
Built with my team 2nd biggest E-Commerce Affiliate
networks in the world Global Savings Group.
- 2018 - present CEO at Intertek

Happily married and father of 3 kids (Evgenija, Jakov, Marko)


Currently living and working in Munich, Germany
2
Intertec
- Founder in March 2015 by Dimitar
- Currently, we have 110+ full-time employees
- 30 successful internships, hired full-time.
- 10+ ongoing internships
- Focused in modern
Product Development Technologies including:
- Java / Javascript stack
- Native mobile development (Android, iOS)
- AWS as Cloud Provider
- Agile Development Methodologies
- BI / Data Science
- Automation Testing

Feel free to apply to our internship program at: https://www.intertec.io/careers


3
E-Commerce
Is it all Amazon?

4
E-Commerce

5
But, wait...
I need an ecommerce platform. What can I do ?

01 Use pre-hosted platforms like Shopify


You can use some of the solutions that are out there like Shopify and create e-shops directly there.
No technical knowledge, little platform knowledge.

02 Use pre-made web solutions like Magento


You can use some of the open source or paid softwares that have most of the features pre-made and build
your own shop.

03 Use marketplace for selling your products like Amazon


Use Amazon to sell your products and create your own personalized page under
Amazon network.

04 Develop your own solution!


No, those 3 options are not good and enough for me,
so I want my own solution!

6
Ok, we are smart, we will build it!
But, What it takes?
What are the basic capabilities that I need in my e-shop?

1. Search
From Tech
2. Catalog perspective
3. Product Details Content
4. Pricing Web Application
5. Offers Backend - Frontend

6. Payment
7. Inventory (Stock)
8. Users (Consumers)
9. Cart & Checkout DB
10. Reporting (Dashboards)

7
How we will distribute our content?
Delivery methods
Mobile &
1. Web (Desktop - responsive) Tablet
Web
Frontend
PWA Reporting
App
2. Mobile / Tablet
a. Mobile / Tablet App
b. Mobile Web API

(Responsive) Backend Service


Control
Panel
c. PWA ?
3. Browser Plugin ?
DB
4. Smart Watch ?

8
What are the most important architecture principles?

Future Proof Business Oriented Cost Effective Decoupled


Architecture principle 1: FUTURE PROOF
Which are the dimensions that our e-commerce will scale in 5 years?

today In 5 years

1. From single country to multiple countries (Balkan)


2. Number of users (from 1 to 5M daily visits)
3. Number of categories (Books to Clothing, Furniture)
4. Feature Set
5. From single e-commerce to marketplace
6. From product recommendation to user personalized experience
7. Own warehouse to outsourced warehouse (inventory management)
8. Own shipping to external shipping platform
9. Are we going to offer white-label solutions to our biggest clients ?

10
Architecture principle 2: BUSINESS ORIENTED
What are the current business needs and how fast they will change?

1. We need daily deployments vs once-in-a-month deployment.


2. New Developments (new Features)
3. Delivery Methods
4. Research
5. Bug Fixing & Modification
6. Customer Complaints & Customer Support
7. Maintenance & Support

11
Architecture principle 3: COST EFFECTIVE
What is the current investment possibility and much it will change in near future?

1. How many people can work on the solution?


2. How much we can afford for the server infrastructure?
3. How much our Customer Support and Bug-fixing will cost?
4. How fast we are developing our features?
5. What kind of legacy are we leaving? How often we will need to refactor?
6. How much our Maintenance & Support will cost for the whole system?

12
Architecture principle 4: DECOUPLED
How much we need to de-couple our solution for scaling purposes?

1. Which parts of our architecture are single-point of failure?


2. Depending on the principle 1, how our system will scale?
3. Are we expecting some peak times (campaigns) that we need to handle with our
system?
4. How our internal teams are organized and are they having an easy development and
deployment process?
5. How can we create our system to auto scale?
6. How can we do blue/green deployments without downtime?

13
Let's analyze this typical architecture:
Facet Search Results

Features: Search
1. Heavy SQL with a lot of JOINS
2. Faceting functionality is
difficult in classical SQL
databases
3. More-like-this (MLT) is also
difficult in SQL database
4. Index friendly tokenizers, that Ngram tokenizer example:
are storing (indexing) parts of "text": "2 Quick Foxes." can be searched by:
the word for easier full-text [ Qui, uic, ick, Fox, oxe, xes ]

index based search.


Example: ngram-tokenizer

15
Features: Search
Solution: Search Friendly Index
Mobile &
Web
Tablet PWA Reporting
Frontend
databases like Elasticsearch or Solr App

based on Apache Lucene.

They have most of the search


API
functionalities required in the e-stores Control
out of the box and with little
Backend Service
Panel

configuration, they can do amazingly


huge amount of functionalities that do
not have to be developed from scratch. MySQL ES

16
Features: Payment Mobile &
Tablet App
Reporting

1. Secure
2. As much as possible Payment Web
PWA
Frontend
options
3. Restricted access to our developers
/ employees and testers
API
4. Separate Database due to Control Shop A
Payment
encryption, security, backup
P
Panel Backend Service I Service

process and availability


5. 3th party payment integrations
6. Separate Sandbox for testing
MySQL ES B&P MySQL

purposes
7. Special regulations and auditing
principles
8. Separate Deployment process
17
Features: Reporting Mobile &
Tablet App
1. Lots of data
2. Different views (pivots) Web
PWA
Frontend
3. Fast, near real-time data
4. Fast feedback loop - for some
decisions (pricing, stock,
API
promotions) Control Shop A
Payment
5. Different Reports
P
Panel Backend Service I Service

(Management, Product, Sales,


Marketing, Investors)
6. Deep dive possibility
MySQL ES B&P MySQL

API
Reporting Column-or
Dashboards Reporting Service iented
DBMS

18
Features: Inventory & Shipping
1. Connection to WMS Mobile &
Tablet App
2. Different stock locations
require product tracking Web
PWA
option
Frontend

3. Shipping information and


shipping cost calculation
API
4. Information on Returns and A
Control Shop Payment
used products
P
Panel Backend Service I Service

5. 3th party integrations for


shipping
MySQL ES B&P MySQL
A
WMS Inventory P
Service I

API
SHIPPING
Reporting Column-or
Inventory Dashboards Reporting Service
Database iented
MySQL DBMS
19
What is not in the picture?
1. User management and authorization
2. Customer management
3. Recommendation & Targeted Promotions
4. More like this for products
5. Marketing Promo pages (SEO, SEM, Campaigns)
6. Pricing changes and pricing tracking
7. Notifications
8. Error handling & Monitoring
9. Customer Support
10. ……….
Let's analyze this typical architecture again

1. For multiple Clients (as white label)


2. For multiple regions (Australia, USA, Europe)
3. For different regulations (data protection, currencies, tax schemes….)
4. Different user types (business, people)
5. 10 000 Warehouses, 150 000 shipping partners
6. 100 million daily purchases
What’s next? Go and build your ecommerce platform!
1. Start from customer needs (business
principle)
2. Define expected future (future principle)
3. Build an migration plan for the future
(decouple principle)
4. Do it in a cost efficient way and scale the
cost in parallel to the business growth
(cost efficient principle)
5. Measure your numbers - Reporting
6. Start small - Think Big !
www.intertec.io

Join us if you want to work on the next


generation ecommerce solutions!
Thank you for listening

Dimitar Siljanovski, December 2020


ФИНКИ - Анализа и дизајн на ИС
16
Kendall & Kendall
Systems Analysis and Design, 9e

Quality Assurance
and Implementation

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Recognize the importance of users and


analysts taking a total quality approach to
improve the quality of software design and
maintenance.
• Realize the importance of documentation,
testing, maintenance, and auditing.
• Understand how service-oriented architecture
and cloud computing is changing the nature
of information system design.
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-2
Learning Objectives (continued)

• Design appropriate training programs for


users of the new system.
• Recognize the differences among physical
conversion strategies, and be able to
recommend an appropriate one to a client.
• Address security, disaster preparedness, and
disaster recovery concerns for traditional and
Web-based systems.
• Understand the importance of evaluating the
new system, and be able to recommend a
suitable evaluation technique to a client.
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-3
Major Topics

• Six Sigma
• Quality assurance
• Walkthroughs
• Structure charts
• Modules
• Documentation
• Testing
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-4
Major Topics (continued)

• Client-server computing
• Network types
• Groupware
• Training
• Security
• Organizational metaphors
• Evaluation
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-5
Six Sigma

• A culture built on quality


• Uses a top-down approach
• Project leader is called a Black Belt
• Project members are called Green Belts
• Master Black Belts have worked on
many projects and are available as a
resource to project teams

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-6
Every Systems Analyst Should Understand the
Methodology and Philosophy of Six Sigma
(Figure 16.1)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-7
Responsibility for Total Quality
Management
• Full organizational support of
management must exist
• Early commitment to quality from the
analyst and business users

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-8
Structured Walkthroughs

• One of the strongest quality management


actions is to do structured walkthroughs
routinely
• Use peer reviewers to monitor the system’s
programming and overall development
• Point out problems
• Allow the programmer or analyst to make
suitable changes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-9
Involved in Structured
Walkthroughs
• The person responsible for the part of
the system being reviewed
• A walkthrough coordinator
• A programmer or analyst peer
• A peer who takes notes about
suggestions

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-10
The Top-Down Approach

• Top-down design allows the systems


analyst to ascertain overall
organizational objectives and how they
are best met in an overall system
• The system is divided into subsystems
and their requirements

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-11
Advantages of the Top-Down
Approach
• Avoiding the chaos of attempting to
design a system all at once
• Enables separate systems analysis
teams to work in parallel on different
but necessary subsystems
• Prevents losing sight of what the
system is suppose to do

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-12
Modular Development

• Breaking the programming into logical,


manageable portions or modules
• Works well with top-down design
• Each individual module should be
functionally cohesive, accomplishing
only one function

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-13
Advantages of Modular
Programming
• Modules are easier to write and debug
• Modules are easier to maintain
• Modules are easier to grasp because
they are self-contained subsystems

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-14
Guidelines for Modular
Programming
• Keep each module to a manageable size
• Pay particular attention to the critical
interfaces
• Minimize the number of modules the user
must modify when making changes
• Maintain the hierarchical relationships set up
in the top-down phases

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-15
Using Structure Charts to Design
Systems
• The recommended tool for designing a
modular, top-down system is a structure
chart
• A structure chart is simply a diagram
consisting of rectangular boxes, representing
the modules, and connecting lines
• Hollow circle arrows represent data being
passed up and down the structure
• Filled-in circle arrow represents a control
switch or flag

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-16
A structure chart encourages top-down
design using modules (Figure 16.3)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-17
Service Oriented Architecture
(SOA)
• The SOA approach is to make individual
SOA services that are unassociated or
only loosely coupled to one another
• Each service executes one action
• Each service can be used in other
applications within the organization or
even in other organizations

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-18
Service Oriented Architecture
(SOA) (continued)
• A service can use certain defined protocols so
that it can communicate with other services
• The burden of connecting services in a useful
fashion, is a process called orchestration
• This can even be accomplished by selecting
services from a menu of services and
monitoring them by setting up an SOA
dashboard

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-19
Service Oriented Architecture
(SOA) (continued)
• In order to set up a SOA, services must be:
• Modular
• Reusable
• Work together with other modules
(interoperability)
• Able to be categorized and identified
• Able to be monitored
• Comply with industry-specific standards

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-20
Modules in service-oriented architecture are
independent and can be ubiquitous (Figure 16.4)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-21
System Documentation

• Procedure manuals
• The FOLKLORE method

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-22
Procedure Manuals

• The English-language component of


documentation
• Key sections:
• Introduction
• How to use the software
• What to do if things go wrong
• A technical reference section
• An index
• Information on how to contact the manufacturer

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-23
Procedure Manuals (continued)

• Procedure manual complaints:


• They are poorly organized
• It is hard to find needed information
• The specific case in question does not
appear in the manual
• The manual is not written in plain English

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-24
The FOLKLORE Method

• Collects information in categories:


• Customs
• Tales
• Sayings
• Art forms

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-25
Customs, Tales, Sayings, and Art Forms Used in the
FOLKLORE Method of Documentation Apply to
Information Systems (Figure 16.5)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-26
Choosing a Design and
Documentation Technique
• Is it compatible with existing
documentation?
• Is it understood by others in the
organization?
• Does it allow you to return to working
on the system after you have been
away from it for a period of time?

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-27
Choosing a Design and Documentation
Technique (continued)

• Is it suitable for the size of the system


you are working on?
• Does it allow for a structured design
approach if that is considered to be
more important than other factors?
• Does it allow for easy modification?

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-28
Testing, Maintenance, and
Auditing
• The testing process
• Maintenance practices
• Auditing

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-29
The Testing Process

• Program testing with test data


• Link testing with test data
• Full system testing with test data
• Full system testing with live data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-30
Programmers, Analysts, Operators, and Users All Play
Different Roles in Testing Software and Systems
(Figure 16.6)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-31
Program Testing with Test
Data
• Desk check programs
• Test with both valid and invalid data
• Check output for errors and make any
needed corrections

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-32
Link Testing with Test Data

• Also referred to as string testing


• Checks to see if programs that are
interdependent actually work together
as planned
• Test for normal transactions
• Test with invalid data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-33
Full System Testing with
Test Data
• Adequate documentation in procedure
manuals
• Are procedure manuals clear enough?
• Do work flows actually “flow”?
• Is output correct and do users
understand this output?

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-34
Full System Testing with Live
Data
• Comparison of the new system’s output
with what you know to be correctly
processed output
• Only small amounts of live data are
used

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-35
Maintenance Practices

• Reduce maintenance costs


• Improve the existing software
• Update software in response to the
changing organization
• Ensure channels for feedback

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-36
Auditing

• Having an expert who is not involved in


setting up or using the system examine
information in order to ascertain its reliability
• There are internal and external auditors
• Internal auditors study the controls used in
the information system to make sure that
they are adequate
• External auditors are used when the
information system processes data that
influences a company’s financial statements

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-37
Implementing Distributed
Systems
• Can be conceived of as an application
of telecommunications
• Includes work stations that can
communicate with each other and with
data processors
• May have different hierarchical
architectural configurations of data
processors that communicate with one
another

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-38
Client-Server Technology

• The client-server model refers to a


design model that can be thought of as
applications running on a network
• The client is a networked computer that
uses small programs to do front-end
processing, including communicating
with the user

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-39
Client-Server Model
Advantages, Disadvantages
• Advantage—greater computer power
and greater opportunity to customize
applications
• Disadvantage—more expensive and
applications must be written as two
separate software components each
running on separate machines

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-40
A Three-Tiered Client/Server
Configuration (Figure 16.7)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-41
Cloud Computing

• Organizations and individual users can


use:
• Web services
• Database services
• Application services over the Internet
• Done without having to invest in
corporate or personal hardware,
software, or software tools

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-42
Cloud Computing (Figure 16.8)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-43
Cloud Computing

• A large collection of corporate users


jointly bear the lowered cost
• Realize increases in peak-load capacity
• Companies also hope to improve their
ability to perform disaster recovery

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-44
ERP and Cloud Computing

• Many of the issues and challenges


associated with implementing ERP
systems can be mitigated by ERP
offerings that take advantage of cloud
computing

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-45
Network Modeling

• Draw a network decomposition diagram


to provide an overview of the system
• Draw a hub connectivity diagram
• Explode the hub connectivity diagram
to show the various workstations and
how they are connected

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-46
Use Special Symbols When Drawing Network
Decomposition and Hub Connectivity Diagrams
(Figure 16.9)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-47
A Network Decomposition Diagram for
World’s Trend (Figure 16.10)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-48
A Hub Connectivity Diagram for
World’s Trend (Figure 16.11)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-49
A Workstation Connectivity Diagram for World’s
Trend (Figure 16.12)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-50
Training

• Who to train
• People who train users
• Training objectives
• Training methods
• Training sites
• Training materials

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-51
Who to Train

• All people who will have primary or


secondary use of the system
• Ensure that users of different skill levels
and job interests are separated

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-52
People Who Train Users

• Vendors
• Systems analysts
• External paid trainers
• In-house trainers
• Other system users

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-53
Appropriate Training Objectives, Methods, Sites, and
Materials Are Contingent on Many Factors (Figure 16.13)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-54
Conversion Strategies

• Direct changeover
• Parallel conversion
• Gradual or phased conversion
• Modular prototype conversion
• Distributed conversion

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-55
Five Conversion Strategies for
Information Systems (Figure 16.14)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-56
Direct Changeover

• Old system stops, new one starts


• Needs extensive testing
• Risky approach to conversion
• Users may resent being forced into
using an unfamiliar system without
recourse
• No adequate way to compare new
results to old

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-57
Parallel Conversion

• Run the old and new systems at the


same time
• The advantage is that you can check
new data against old data
• The disadvantage is doubling
employees’ workloads

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-58
Gradual Conversion

• Combines best features of parallel and


direct conversion
• Volume of transactions is gradually
increased
• Advantage is that users get involved
with the system gradually
• Agile methodologies use this conversion
approach

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-59
Modular Prototype Conversion

• Each module is tested and put into use


• The advantage is that each module is
thoroughly tested before being used
• Users are familiar with each module as
it becomes operational
• Object-oriented methodologies often
use this approach

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-60
Distributed Conversion

• When there are many installations of the


same system, such as at branch offices
• Install software at one office
• Advantage is that problems can be detected
and contained
• Disadvantage is that even when one
conversion is successful, each site will have
its own peculiarities to work through

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-61
Other Conversion Considerations

• Ordering equipment
• Ordering any external materials
supplied to the information system
• Appointing a manager to supervise the
preparation of the installation site
• Planning, scheduling, and supervising
programmers and data entry personnel

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-62
Organizational Metaphors May Contribute to the
Success or Failure of an Information System
(Figure 16.15)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-63
Security Concerns

• Physical security
• Logical security
• Behavioral security

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-64
Security Concerns (continued)

• Physical security is securing the computer


facility, its equipment, and software through
physical means
• Logical security refers to logical controls in
the software itself
• Behavioral security is building and enforcing
procedures to prevent the misusing of
computer hardware and software

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-65
Special Security Considerations
for Ecommerce
• Virus protection software
• Email filtering products
• URL filtering products
• Firewalls, gateways, and virtual private
networks
• Intrusion detection products

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-66
Special Security Considerations
for Ecommerce (continued)
• Vulnerability management products
• Security technologies such as secure
socket layering (SSL) for authentication
• Encryption technologies
• Public key infrastructure (PKI) use and
obtaining a digital certificate

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-67
Privacy Considerations for
Ecommerce
• Start with a corporate policy on privacy
• Only ask for information required to
complete the transaction
• Make it optional for customers to fill out
personal information on the website

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-68
Privacy Considerations for
Ecommerce (continued)
• Use sources that allow you to obtain
anonymous information about classes of
customers
• Be ethical

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-69
Disaster Recovery Planning

• Identify teams responsible for


managing a crisis
• Eliminate single points of failure
• Determine data replication technologies
that match the organization’s timetable
• Create detailed relocation and
transportation plans

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-70
Disaster Recovery Planning
(continued)
• Provide recovery solutions that include
an off-site location
• Ensure the physical and psychological
well-being of employees and others

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-71
Identify Who Is Responsible

• Whether business operations will continue


• How to support communications
• Where people will be sent if the business is
uninhabitable
• Where personnel will go in an emergency
• Seeing to the personal and psychological
needs
• Restoring the main computing and working
environments

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-72
Single Points of Failure and Data
Replication Technologies
• Redundancy of data provides the key
for servers running Web applications
• SNAs and data mirroring

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-73
Relocation and Transportation
Plans
• Send employees home
• Remain on site
• Relocate to a recovery facility

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-74
Communication Channels

• Email
• Emergency information Web page
• Emergency hotline
• Emergency response agencies

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-75
Recovery Solutions and Support
for the Well-Being of Employees
• Recovery involves an off-site location
and converting paper documents to
digital formats
• Well-being of employees might include
providing water or safety kits

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-76
Evaluation Techniques

• Cost-benefit analysis
• Revised decision evaluation approach
• User involvement evaluations
• The information system utility approach

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-77
Information System Utility
Approach
• Possession
• Form
• Place
• Time
• Actualization
• Goal

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-78
Information System Utility
Approach (continued)
• Possession utility answers the question
of who should receive output
• Goal utility answers the why of
information systems by asking whether
the output has value in helping the
organization achieve its objectives
• Place utility answers the question of
where information is distributed

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-79
Information System Utility
Approach (continued)
• Form utility answers the question of
what kind of output is distributed to the
decision maker
• Time utility answers the question of
when information is delivered
• Actualization utility involves how the
information is introduced and used by
the decision maker

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-80
Website Evaluation

• Know how often the website is visited


• Learn details about specific pages on
the site
• Find out more about the website’s
visitors

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-81
Website Evaluation (continued)

• Discover if visitors can properly fill out


the forms you designed
• Find out who is referring website
visitors to the client’s site
• Determine what browsers visitors are
using
• Find out if the client’s website visitors
are interested in advertising

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-82
Summary

• TQM
• Designing systems and software with a
top-down, modular approach
• Designing and documenting systems and
software using systematic methods
• Testing systems and software so that they
can be easily maintained and audited

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-83
Summary (continued)

• Six Sigma
• Define the problem
• Observe the problem
• Analyze the causes
• Act on the causes
• Study the results
• Standardize the changes
• Draw conclusions

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-84
Summary (continued)

• Structure charts
• Procedure manuals
• FOLKLORE
• Testing
• System maintenance
• Auditing

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-85
Summary

• Implementation
• Distributed systems
• Client-server
• Training users and personnel
• Conversion
• Direct changeover
• Parallel
• Phased
• Gradual
• Modular prototype

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-86
Summary (continued)

• Security
• Physical
• Logical
• Behavioral
• Organizational metaphors
• Evaluation

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 16-87
Copyright © 2014 Pearson Education, Inc.
Publishing as Prentice Hall

16-88
Анализа и дизајн на
информациски системи

Тема 6
Пишување спецификации
Зошто е потребно да се напишат
спецификации
• Според нив ќе се реализира нов ИС
• Тие се потребни (се составен дел од) за
стратешко планирање на развојот на ИС
• Тие ќе бидат составен дел од тендерска
документација

2
Спецификации за внатрешен
развој
• Потребно за да може да се формализира
интерниот проект
• Од спецификациите може да се дефинираат
приоритети, време и резултати
– Потребно за проектен менаџмент (во
традиционална смисла) или дневен статус (за
агилни методологии)

3
Спецификации за стратешко
планирање
• Ако знаеме што новиот систем може да
направи може да планираме како ќе ги
искористиме тие новитети (тие нови
вредности)
• Може да се избере реализација по фази
поради
– Недостаток на буџет
– Организациска неспремност

4
Од што се состои тендерска
документација
• Кои легални документи се потребни (пр. Извод од
централен регистар, биланс на состојба,...)
• Како изгледа финансиската понуда (на пример за
колку време и колку ќе чини / иницијален Gantt
chart)
• Кои информации за тимот што ќе го реализира
проектот се потребни
• Референци за слични (по некој критериум)
реализирани проекти
• Техничка спецификација
5
Од што се состои техничка
спецификација
• Претпоставки за новиот ИС
• Генерални побарувања
• Функционални побарувања
• Нефункционални побарувања
• Останати побарувања

6
Претпоставки
• Може да вклучи и опис на постоечки
логички и физички модел
• Ова е особено важно доколку е потребна миграција
• Објаснува што дизајнерот може да земе за
готово (инфраструктура, хардвер,...)
• Објаснува начин на користење на новиот ИС
(број на корисници, обем на користење,...)
• Дава увид кон можни промени (на пр.
законски решенија)

7
Побарувања
• Секое побарување треба да има идентификатор
(на пример реден број)
• За секое побарување треба да е наведено дали е
задолжително или незадолжително
– Ова мора да биде рефлектирано во начинот на
евалуација
• Побарувањата може да бидат групирани (на
пример кориснички сценарија е едно побарувања
со повеќе подпобарувања)
• Побарувањата треба јасно да објаснат што се
очекува како одговор на нив 8
Генерални побарувања
• Обично поврзани со бизнис целите и начинот на
користење, или генералната архитектура (пр. Да
се користи MVC базиран софтверски дизајн)
• Побарувања за миграција од стариот на новиот
ИС

9
Функционални побарувања
• Новиот логички и/или физички модел е
интегриран тука
• може да се побараат детали за реализација на
логичкиот модел (дел од физичкиот модел) или
како логичкиот модел ќе биде имплементиран во
зависност од претпоставките (постоечки хардвер),
или побарување за нов хардвер (минимален
хардвер за предлог решението)
• Може да биде меч со две острици затоа што ќе има
финансиски импликации кои можеби не се остварливи

10
Нефункционални побарувања
• Сигурност
• Како ќе се тестира
• Одржување
• Обука
• Гаранција
• ...

11
Останати побарувања
• Како изгледа форматот на понудата
• Пр. За секое побарување со идентификациски број да
се одговори дали може да се одговори, да се опише
како ќе се одговори (со референца кон страна и
параграф во техничката понуда, да се напише
референца кон слично реализирано побарување со
контакт од клиентот)

12
Побарувања за управување со
проектот
• Опис на тимот со биографии и искуство
– Може да влезе во евалуацијата
• Кои се точките на проверка
• Колку често состаноци, во каков состав, и со
каква агенда
• Како ќе се реагира на проблеми и промени
– Кои ги одобрува, како се евалуираат, како
влијаат на времето и цената

13
Евалуација
• Како ќе се врши евалуацијата (пред се техничка)
• Пример, (3 бода за позитивен одговор за задолжително
побарување, до 5 бода за квалитет на одговорот, до 2
бода за референца) (3 бода вкупно за незадолжително
побарување)
• Времето и цената се дел од вкупната евалуација
• Постојат и административни побарувања (се состојат
од легални документи)
• Евалуација на тимот
• Евалуација на процесот на управување

14
Домашна задача
• Да се напишат
– Препоставките
– Генералните побарувања
– Нефункционалните побарувања

За Вашата веб продавница


Рок: една недела

15
15
Kendall & Kendall
Systems Analysis and Design, 9e

Designing Accurate
Data Entry Procedures

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Understand the uses of effective coding to


support users in accomplishing their tasks.
• Design effective and efficient data capture
approaches for people and systems.
• Recognize how to ensure data quality
through validation.
• Articulate accuracy advantages of user
input on ecommerce websites.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-2
Accurate Data-Entry Objectives

• Effective coding
• Efficient data capture
• Effective data capture
• Assuring data quality through validation

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-3
Major Topics

• Effective coding
• Types of codes
• Guidelines for coding
• Validation methods
• Check digits
• Ecommerce accuracy

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-4
Effective Coding

• Data that are coded require less time to


enter
• Coding helps to reduce the number of
items entered
• Coding can help in sorting of data
during the data transformation process
• Coded data can save valuable memory
and storage space

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-5
Human Purposes for Coding

• Keeps track of something


• Classifies information
• Conceals information
• Reveals information
• Requests appropriate action

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-6
Keeping Track of Something

• Simple sequence code


• Alphabetic derivation codes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-7
Simple Sequence Codes

• A number that is assigned to something


if it needs to be numbered
• No relation to the data itself
Using a simple sequence code to indicate the sequence in
which orders enter a custom furniture shop (Figure 15.1)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-8
Simple Sequence Codes
(Advantages)
• Eliminates the possibility of assigning
the same number
• It gives users an approximation of when
the order was received

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-9
Simple Sequence Codes
(Disadvantages)
• When you do not wish to have someone
read the code to figure out how many
numbers have been assigned
• When a more complex code is desirable
to avoid a costly mistake

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-10
Alphabetic Derivation Codes

• A commonly used approach in


identifying an account number
Identifying the account of a magazine subscriber with an
alphabetic derivation code (Figure 15.2)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-11
Alphabetic Derivation Codes
(Disadvantages)
• When the alphabetic portion is small or
when the name contains fewer
consonants than the code requires
• Names like ROE—become RXX
• Some of the data may change

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-12
Classification Information

• Affords the ability to distinguish


between classes of items
• Must be mutually exclusive
• Classification codes
• Block sequence codes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-13
Classification Codes

• Used to distinguish one group of data


with special characteristics from another
• Can consist of either a single letter or a
number
• A shorthand way of describing a
person, place, thing, or event
• Listed in manuals or posted so that
users can locate them easily

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-14
Classification Codes

• Use a single letter for a code


Grouping tax-deductible items through the use
of a one-letter classification code (Figure 15.3)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-15
Block Sequence Codes

• An extension of the sequence code


• Data are grouped according to common
characteristics
• Simplicity of assigning the next
available number (within the block) to
the next item needing identification

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-16
Using a Block Sequence Code to Group
Similar Software Packages (Figure 15.5)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-17
Concealing Information

• Codes may be used to conceal or


disguise information
• Cipher Codes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-18
Cipher Codes

• The direct substitution of one letter for


another, one number for another, or
one letter for a number

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-19
Encoding Markdown Prices with a Cipher Code Is a Way
of Concealing Price Information from Customers
(Figure 15.6)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-20
Revealing Information

• Sometimes it is desirable to reveal


information to specific users through a
code
• Makes the data entry more meaningful
for humans
• Significant-digit subset codes
• Mnemonic codes
• Unicode
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-21
Significant-Digit Subset Codes

• Used to help describe a product by


virtue of its membership in many
subgroups
• Possible to locate items that belong to a
certain group or class
• Inquiries may be performed on a
portion of the code
• Useful for a marketing product

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-22
Using a Significant-Digit Subset Code Helps Employees
Locate Items Belonging to a Particular Department
(Figure 15.7)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-23
Mnemonic Codes

• A mnemonic (pronounced nî-môn'-ïk) is a


human memory aid
• Any code that helps the data-entry person
remember how to enter the data or the user
remember how to use the information is a
mnemonic
• Using a combination of letters and symbols
affords a clear way to code a product so that
the code is easily seen and understood
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-24
Mnemonic Codes Function as Memory Aids by
Using a Meaningful Combination of Letters and
Numbers (Figure 15.8)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-25
Unicode

• Includes all standard language symbols


• Has room for 65,535 characters
• The full set of Unicode characters are
grouped by language and may be found
at www.unicode.org

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-26
Requesting Appropriate Action

• Instruct either the computer or the


decision maker about what action to
take
• Function codes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-27
Function Codes

• Short numeric or alphanumeric codes


used to spell out precisely what
activities are to be accomplished

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-28
Function Codes Compactly Capture Functions
that the Computer Must Perform (Figure 15.9)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-29
General Guidelines for Coding

• Be concise
• Keep the codes stable
• Ensure that codes are unique
• Allow codes to be sortable
• Avoid confusing codes
• Keep the codes uniform
• Allow for modification of codes
• Make codes meaningful

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-30
Be Concise

• Overly long codes mean more keystrokes and


consequently more errors
• Long codes also mean that storing the
information in a database will require more
memory
• Short codes are easier for people to
remember and easier to enter
• If codes must be long, they should be broken
up into subcodes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-31
Keep the Codes Stable

• Stability means that the identification


code for a customer should not change
each time new data are received
• Don’t change the codes in a mnemonic
system

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-32
Ensure that Codes Are Unique

• For codes to work, they must be unique


• Do not assign the same code number or
name to the same items

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-33
Allow Codes to Be Sortable

• Make sure that users can do what you


intend to do with the codes you create
• Numerical codes are much easier to sort
than alphanumeric data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-34
Avoid Confusing Codes

• Avoid using coding characters that look


or sound alike

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-35
Combining Look-Alike Characters in Codes
Can Result in Errors (Figure 15.12)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-36
Keep the Codes Uniform

• Need to follow readily perceived forms


• Keep codes uniform among as well as
within programs

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-37
Allow for Modification of Codes

• The system will evolve over time


• The coding system should be able to
encompass change

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-38
Make Codes Meaningful

• Effective codes contain information


• Should make sense to people using
them
• Easier to understand, work with, and
recall

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-39
Using Codes

• Validation programs
• Report and inquiry programs
• GUI programs

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-40
Effective and Efficient Data
Capture
• Deciding what to capture
• Letting the computer do the rest
• Avoiding bottlenecks and extra steps
• Starting with a good form
• Choosing a data-entry method

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-41
Deciding What to Capture

• Data that change or vary with every


transaction
• Data that concisely differentiate the
particular item being processed from all
other items

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-42
Letting the Computer Do the Rest

• Recording the time of the transaction


• Calculating new values from input
• Storing and retrieving data on demand

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-43
Avoiding Bottlenecks and Extra
Steps
• Data are poured rapidly into the wide mouth
of the system only to be slowed in its “neck”
because of an artificially created instance of
insufficient processing for the volume or
detail of the data being entered
• The fewer steps involved in inputting data,
the fewer chances there are for the
introduction of errors

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-44
Starting with a Good Form

• With effective forms, it is not necessary


to reenter information that the
computer has already stored, or data
such as time or date of entry that the
computer can determine automatically

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-45
Choosing a Data-Entry Method

• Keyboards
• Bar codes
• QR (Quick Response) codes
• Microsoft tags
• RFID
• NFC (Near Field Communication)
• Optical character recognition
• Magnetic ink character recognition (MICR)
• Mark-sense forms

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-46
Keyboards

• Special function keys to open programs


• Keys used to scroll and explore the Web
• Keys that can be programmed with
macros to reduce the number of
keystrokes required
• Ergonomic keyboards and infrared or
Bluetooth-enabled keyboards

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-47
Bar Codes

• Affords a high degree of accuracy for


data entry
• Saves labor costs
• Allows the automatic capturing of data
• Tracking of credit card purchases

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-48
2D Bar Codes

• Are matrix bar code squares are two-


dimensional (2D) bar codes
• Are optical, machine-readable codes
• Take up much less space than the older
linear bar codes
• Are cheaper than RFID tags
• Can appear in print

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-49
QR (Quick Response) Codes

• A QR (Quick Response) code is easily


identifiable
• Uses a position marker
• Three nested squares that appear in three
of its corners
• QR codes are completely free
• 2D code readers are likely to be able to
read a QR code

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-50
Microsoft Tags

• Microsoft tags use four colors


• They work if they are printed monochromatically
• Creating, publishing, and using Microsoft Tags is free
• The code is a Web link
• When the code is read and the reader app reaches
the server, it is redirected to the intended website
• This allows for collecting and storing data that can be
subjected to analytics
• A drawback to this redirection is that there is only
one reader app—the official one from Microsoft

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-51
Two Popular 2D Bar Codes
(Figure 15.15)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-52
QR Codes and Microsoft Tags
(Figure 15.16)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-53
RFID

• Allows the automatic collection of data


using RFID tags that contain a chip and
an antenna
• Passive RFID tags
• Active RFID tags
• Privacy is a concern

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-54
NFC (Near Field Communication)

• Another approach is near field communication


• NFC allows two-way communication
• Is used in contactless payment systems at checkout counters
• Customers use a smartphone to touch or come close to the
point-of-sale device
• NFC can also be used:
• Payment on transportation systems
• Exchange information
• Receive custom coupons
• Exchange business cards
• Considered secure because of short range of communication

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-55
Optical Character Recognition

• Increased speed
• Eliminates many of the time-consuming and
error-fraught steps of other input devices
• Decentralizes responsibility for quality data
directly to the unit that is generating it
• The transformation of faxes into documents
that can be edited

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-56
Magnetic Ink Character
Recognition
• A reliable and high-speed method that is not
susceptible to accepting stray marks
• If it is required on all withdrawal checks, it
serves as a security measure against bad
checks
• Data entry personnel can see the numbers
making up the code if it is necessary to verify
it

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-57
Mark-Sense Forms

• Little training of entry personnel is necessary


• A high volume of forms can be processed
quickly
• Stray marks on form can be entered as
incorrect data
• Choices are limited to the answers provided
• Difficulty in capturing alphanumeric data
• Easy to get confused and put a mark in an
incorrect position

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-58
Ensuring Data Quality through
Input Validation
• The critical importance of catching
errors during input, prior to processing
and storage cannot be overemphasized
• Potential problems
• Validating input transactions
• Validating input data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-59
Validating Input Is Important to Ensure That
Most Potential Problems with Data Are
Eliminated Early (Figure 15.18)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-60
Validating Input Transactions

• Submitting the wrong data


• Submitting of data by an unauthorized
person
• Asking the system to perform an
unacceptable function

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-61
Validating Input Data

• Test for missing data


• Test for correct field length
• Test for class or composition
• Test for range or reasonableness
• Test for invalid values
• Cross-reference checks
• Test for comparison with stored data
• Set up self-validating codes (check digit)
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-62
The Process of Validation

• Check first for missing data


• Check the syntax
• Check the semantics
• GUI screens can help to reduce the
number of human input errors when
they incorporate radio buttons, check
boxes, and drop-down lists

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-63
The Process of Validation
(continued)
• Regular expressions
• Validating XML documents
• DTD
• Schema

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-64
These Characters Are Used in Regular
Expression (Pattern) Validation (Figure 15.19)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-65
Accuracy Advantages in
Ecommerce Environments
• Customers generally key or enter data
themselves
• Data entered by customers are stored for
later use
• Data entered at the point of sale are reused
throughout the entire order fulfillment
process
• Information is used as feedback to customers

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-66
Cookies

• Store information to enable faster and more accurate


transactions
• Use a small file (the cookie) on the user’s computer
• Once information is stored in a cookie, a website can
suggest matches for credit card and password
information
• The information is encrypted so that other websites
cannot read the cookie
• Personal information can only be accessed by the
company that placed the cookie on the user’s
computer

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-67
Summary

• Quality of data
• Effective coding
• Effective and efficient data capture
• Validation of data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-68
Summary (continued)

• Coding
• Sequence codes
• Alphabetic derivation codes
• Classification codes
• Block sequence codes
• Cipher codes
• Significant-digit subset codes
• Mnemonic codes
• Uniform character set
• Function codes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-69
Summary (continued)

• Input devices
• Keyboards
• Bar codes
• QR (Quick Response) codes
• Microsoft tags
• RFID
• NFC (Near Field Communication)
• Optical character recognition
• Magnetic ink character recognition (MICR)
• Mark-sense forms

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-70
Summary (continued)

• Input validation
• Input transaction
• Input data
• Ecommerce

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 15-71
Copyright © 2014 Pearson Education, Inc.
Publishing as Prentice Hall

15-72
14
Kendall & Kendall
Systems Analysis and Design, 9e

Human-Computer
Interaction

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Understand human-computer
interaction (HCI)
• Design useful touch screen interfaces
for smartphones and tablets
• Design a variety of user interfaces
• Design effective onscreen dialog for HCI

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-2
Learning Objectives (continued)

• Understand the importance of user


feedback
• Articulate HCI implications for designing
ecommerce websites
• Formulate queries that permit users to
search the Web

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-3
Human-Computer Interaction

• Awareness of HCI
• Existence of HCI in organizational
settings
• Need to master the concepts
surrounding HCI
• Guidelines for usability

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-4
Major Topics

• Understanding human-computer interaction


• Designing for cognitive styles of individual
users
• Physical considerations in HCI design
• User interfaces
• Dialog design
• Feedback
• Queries

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-5
Understanding Human-Computer
Interaction
• Knowledge about the interplay among
users, tasks, task contexts, IT, and the
environments in which the systems are
used comprises the basis of human-
computer interaction

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-6
Task

• Complex tasks that require human,


system, and task interaction are
supported by ecommerce and Web
systems, ERP systems, and wireless
systems inside and outside of the
organization
• Can be structured and routine or ill-
defined and without apparent structure
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-7
Performance

• A combination of the efficiency involved


in performing a task and the quality of
the work that is produced by the task

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-8
Well-Being

• Concern for a human’s overall comfort,


safety, and health
• Psychological attitudes are also
important

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-9
Usability

• A way for designers to evaluate the


systems and interfaces they create with
an eye toward addressing as many HCI
concerns as thoroughly as possible
• Usability standards
• Usability heuristics

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-10
Designing for Cognitive Styles of
Individual Users
• Making sure data is made available in
different forms
• Tables
• Graphs
• Text
• Different times

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-11
Pivot Tables

• Allows a user to arrange data in a table


in any way they choose
• Gives users greater control over how
they look at data in different ways
within a table

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-12
A Pivot Table Template Can Make It Easier for Users to
See Information Displayed in Different Ways
(Figure 14.2)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-13
Visual Analysis of Databases

• Support visual thinking


• Extend the user’s cognitive capabilities
• Increase the changes of making an
appropriate decision

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-14
When Different Graphs or Tables Are Displayed On the
Same Page, It Resembles a Dashboard (Figure 14.6)

(Courtesy of www.tableausoftware.com.)
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-15
Physical Considerations in HCI
Design
• Vision
• Hearing
• Touch

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-16
Considering Human Limitations,
Disabilities, and Design
• An individual with a disability is a
person who:
• Has a physical or mental impairment that
substantially limits one or more major life
activities
• Has a record of such impairment
• Is regarded as having such an impairment

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-17
The HCI Approach to Systems Design Emphasizes the Fit
among the Human, Computer, and Task (Figure 14.7)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-18
Interface Design Objectives

• Match the user interface to the task


• Make the user interface efficient
• Provide appropriate feedback to users
• Generate usable queries
• Improve productivity of computer users

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-19
Types of User Interfaces

• Natural-language interfaces
• Question-and-answer interfaces
• Menus
• Form-fill interfaces
• Command-language interfaces
• Graphical User Interfaces (GUIs)
• Web interfaces
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-20
Natural-Language Interfaces

• Permit users to interact with the


computer in their everyday or “natural”
language
• No special skills are required of the user

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-21
Question-and-Answer
Interfaces
• The computer displays a question to the
user on the display
• The user enters an answer
• The computer acts on that input information
in a preprogrammed manner

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-22
Menus

• The user is limited to the options


displayed
• Can be nested within one another to
lead a user through options
• Secondary menus grouped into similar
sets of features
• GUI menus
• Object menu
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-23
Form-Fill Interfaces
(Input/Output Forms)
• Onscreen forms or Web-based forms
displaying fields containing data items or
parameters that need to be communicated to
the user
• Advantage
• The filled-in form provides excellent
documentation
• Disadvantage
• Users experienced with the system or application
may become impatient

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-24
Evaluating Interfaces

• Training period for users should be acceptably short


• Users early in their training should be able to enter
commands without thinking about them, or referring
to a help menu or manual
• The interface should be seamless so that errors are
few, and those that do occur are not occurring
because of poor design
• Time that users and the system need to bounce back
from errors should be short
• Infrequent users should be able to relearn the system
quickly

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-25
Designing Interfaces for
Smartphones and Tablets
• Touch-sensitive screens allow a user to
use a finger to activate the display
• These small devices use multitouch
gestures also called capacitive sensing
• Used for moving from one screen to
another or from one state to another on
the same screen

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-26
Gestures

• The three gestures that can be used to


interface with touch-sensitive
smartphones and tablets are:
• Tapping
• Swiping
• Pinching

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-27
Alerts, Notices, and Queries

• Alerts, notices, and queries are forms of


output on smartphones and tablets
• Alerts are for critical information that
the user needs to know in a timely
manner
• Notifications convey non-critical
information to a user
• Queries ask questions of the user

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-28
Badges

• Badges are little red circles


• A badge for the App Store signifies how
many updates are waiting for the user
to download and install
• Badges are good because they are an
unobtrusive way to send a message to
the user
• They are quiet and passive

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-29
Voice Recognition

• In 2012 Apple introduced Siri, billed as your


personal assistant that “helps you get things
done just by asking”
• A user can speak to Siri in natural language,
just as he or she would talk to a friend
• Unlike older voice recognition systems, Siri
does not need to be taught to respond to
your voice commands

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-30
Guidelines for Dialog Design

• Meaningful communication
• Minimal user action
• Standard operation and consistency

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-31
Meaningful Communication

• The system should present information


clearly to the user
• Users with less skill with a computer
require more communication
• Easy to use help screens

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-32
Minimal User Action

• Keying codes instead of whole words


• Entering data that are not already stored on
files
• Supplying the editing characters
• Using default values for fields on entry
screens
• Designing an inquiry, change, or delete
program so that the user needs to enter only
the first few characters of a name or item
description

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-33
Minimal User Action (continued)

• Providing keystrokes for selecting pull-down


menu options
• Use radio buttons and drop-down lists to
control displays of new web pages or to
change Web forms
• Provide cursor control for Web forms and
other displays so the cursor moves to the
next field when the right number of
characters has been entered
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-34
Standard Operation and
Consistency
• Locating titles, date, time, and operator and
feedback messages in the same places on all
displays
• Exiting each program by the same key or
menu option
• Canceling a transaction in a consistent way
• Obtaining help in a standardized way
• Standardizing the colors used for all displays
or web pages

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-35
Standard Operation and
Consistency (continued)
• Standardizing the use of icons for similar
operations when using graphical user
interface
• Using consistent terminology in a display or
website
• Providing a consistent way to navigate
through the dialog
• Using consistent font alignment, size, and
color on a web page

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-36
Feedback for Users

• All systems require feedback to monitor


and change behavior
• Feedback compares current behavior
with predetermined goals and gives
back information describing the gap
between actual and intended
performance

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-37
Types of Feedback

• Acknowledging acceptance of input


• Recognizing that input is in the correct form
• Notifying that input is not in the correct form
• Explaining a delay in processing
• Acknowledging that a request is completed
• Notifying that a request was not completed
• Offering the user more detailed feedback

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-38
Including Feedback in Design

• Can be a powerful reinforcer of users’


learning processes
• Serve to improve user performance with
the system
• Increase their motivation to produce
• Improve the fit among the user, task,
and the technology

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-39
A Variety of Help Options

• Pressing a function key, such as F1


• A GUI pull-down menu
• Context-sensitive help
• Icon mouse hover help
• Wizards
• Online help or help lines
• Software forums
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-40
Soliciting Feedback from
Ecommerce Website Customers
• Launch the user’s email program
• Take users to a blank message
template when they click on “feedback”

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-41
Easy Navigation for Ecommerce
Websites (One-Click Navigation)
• Creating a rollover menu
• Building a collection of hierarchical links
• Placing a site map on the home page
and emphasizing the link to it
• Placing a navigational bar on every
inside page that repeats the categories
used on the entry screen

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-42
Easy Navigation for Ecommerce
Websites (Other Considerations)

• Search function
• Creating flexibility
• Creating for users with different
cognitive processing, or interests
• Keeping the customers on the website

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-43
Mashups

• Combine two or more application


programming interfaces (API)
• An API is a small set of programs and
protocols
• A building block approach to building
websites

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-44
Designing Queries

• Help reduce users’ time spent in


querying the database
• Help them find the data they want
• Result in a smoother user experience
overall

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-45
Query Types

• Query Type 1
• What is the value of a specified attribute for a
particular entity?
• Query Type 2
• What entity has a specified value for a particular
attribute?
• Query Type 3
• What attribute(s) has (have) a specified value for
a particular entity?

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-46
Query Types (continued)

• Query Type 4
• List all the values for all the attributes for a
particular entity
• Query Type 5
• List all entities that have a specified value for all
attributes
• Query Type 6
• List all the attributes that have a specified value
for all entities

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-47
It Is Possible to Perform Six Basic Types of Queries on a
Table That Contains Entities, Attributes, and Values
(Figure 14.12)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-48
Query Notation

V is value, E is entity, A is attributes,


variables in parentheses are given:
• Query type 1: V ß (E, A)
• Query type 2: E ß (V, A)
• Query type 3: A ß (V, E)
• Query type 4: all V ß (E, all A)
• Query type 5: all E ß (V, all A)
• Query type 6: all A ß (V, all E)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-49
Building More Complex Queries

• Arithmetic operations are performed first:


• Exponentiation
• Either multiplication or division
• Addition or subtraction
• Comparative operations are performed:
• GT, LT, and others
• Boolean operations are performed:
• First AND, and then OR

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-50
Query Methods

• Query By Example (QBE)—the database fields


are selected and displayed in a grid, and
requested query values are either entered in
the field area or below the field
• Structured Query Language (SQL)—uses a
series of words and commands to select the
rows and columns that should be displayed in
the resulting table

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-51
Query By Example Using
Microsoft Access (Figure 14.14)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-52
Structured Query Language (SQL) for the CUSTOMER
NAME Parameter Query (Figure 14.16)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-53
Summary

• Human-computer interaction (HCI)


• User interfaces
• Usability
• HCI approach

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-54
Summary (continued)

• Designing the user interface


• Natural language
• Question-and-answer
• Menus
• Form-fill and Web-based form-fill
• Designing interfaces for smartphones
and tablets

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-55
Summary (continued)

• Designing user feedback


• Let users know if their input is being
accepted
• If input is or is not in the correct form
• If processing is going on
• If requests can or cannot be processed
• If more detailed information is available
and how to get it

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-56
Summary (continued)

• Designing ecommerce website feedback


• Rollover menus
• Hierarchical displays of links
• Site maps
• Navigation bars
• Queries
• Six basic types

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 14-57
This image cannot currently be displayed.

Copyright © 2014 Pearson Education, Inc.


Publishing as Prentice Hall

14-58
13
Kendall & Kendall
Systems Analysis and Design, 9e

Designing Databases

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Understand database concepts.


• Use normalization to efficiently store data in a
database.
• Use databases for presenting data.
• Understand the concept of data warehouses.
• Comprehend the usefulness of publishing databases
to the Web.
• Understand the relationship of business intelligence
to data warehouses, big data, business analytics and
text analytics in helping systems and people make
decisions.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-2
Major Topics

• Databases
• Normalization
• Key design
• Using the database
• Data warehouses
• Data mining
• Business intelligence
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-3
Data Storage

• The data must be available when the


user wants to use them
• The data must be accurate and
consistent
• Efficient storage of data as well as
efficient updating and retrieval
• It is necessary that information retrieval
be purposeful

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-4
Data Storage (continued)

• There are two approaches to the


storage of data in a computer-based
system:
• Store the data in individual files, each
unique to a particular application
• Store data in a database
• A database is a formally defined and centrally
controlled store of data intended for use in
many different applications

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-5
Databases

• Effectiveness objectives of the database:


• Ensuring that data can be shared among users for
a variety of applications
• Maintaining data that are both accurate and
consistent
• Ensuring data required for current and future
applications will be readily available
• Allowing the database to evolve as the needs of
the users grow
• Allowing users to construct their personal view of
the data without concern for the way the data are
physically stored

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-6
Reality, Data, and Metadata

• Reality
• The real world
• Data
• Collected about people, places, or events
in reality and eventually stored in a file or
database
• Metadata
• Information that describes data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-7
Reality, Data, and Metadata
(Figure 13.1)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-8
Entities

• Any object or event about which


someone chooses to collect data
• May be a person, place, or thing
• May be an event or unit of time

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-9
Entity Subtype

• An entity subtype is a special one-to-one


relationship used to represent additional
attributes, which may not be present on
every record of the first entity
• This eliminates null fields stored on database
tables
• For example, students who have internships:
the STUDENT MASTER should not have to
contain information about internships for
each student
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-10
Relationships

• Relationships
• One-to-one
• One-to-many
• Many-to-many
• A single vertical line represents one
• A crow’s foot represents many

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-11
Entity-Relationship Diagrams Associations
(Figure 13.2, Part 1)

Entity-relationship (E-R) diagrams can show one-to-


one, one-to-many, or many-to-many associations

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-12
Entity-Relationship Diagrams Associations
(Figure 13.2, Part 2)

Entity-relationship (E-R) diagrams can show one-to-


one, one-to-many, or many-to-many associations

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-13
Entity-Relationship Diagrams Associations
(Figure 13.2, Part 3)

Entity-relationship (E-R) diagrams can show one-to-


one, one-to-many, or many-to-many associations

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-14
Entity-Relationship Symbols and Their
Meanings (Figure 13.3)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-15
The Entity-Relationship Diagram for Patient Treatment
(Figure 13.4)

Attributes can be listed


alongside the entities.
The key is underlined.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-16
Attributes, Records, and Keys

• Attributes represent some characteristic


of an entity
• Records are a collection of data items
that have something in common with
the entity described
• Keys are data items in a record used to
identify the record

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-17
Key Types

• Key types are:


• Primary key—unique attribute for the
record
• Candidate key—an attribute or collection of
attributes, that can serve as a primary key
• Secondary key—a key which may not be
unique, used to select a group of records
• Composite key—a combination of two or
more attributes representing the key

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-18
Metadata

• Data about the data in the file or


database
• Describe the name given and the length
assigned each data item
• Also describe the length and
composition of each of the records

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-19
Metadata (Figure 13.7)

Metadata
includes a
description of
what the value
of each data
item looks
like.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-20
Files

• A file contains groups of records used


to provide information for operations,
planning, management, and decision
making
• Files can be used for storing data for an
indefinite period of time, or they can be
used to store data temporarily for a
specific purpose
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-21
File Types

• Master file
• Table file
• Transaction file
• Report file

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-22
Master and Table Files

• Master files:
• Contain records for a group of entities
• Contain all information about a data entity
• Table files:
• Contains data used to calculate more data
or performance measures
• Usually read-only by a program

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-23
Transaction and Report Files

• Transaction records:
• Used to enter changes that update the
master file and produce reports
• Report files:
• Used when it is necessary to print a report
when no printer is available
• Useful because users can take files to other
computer systems and output to specialty
devices

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-24
Relational Databases

• A database is intended to be shared by


many users
• There are three structures for storing
database files:
• Relational database structures
• Hierarchical database structures
• Network database structures

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-25
Database Design (Figure 13.8)

Database design
includes
synthesizing
user reports,
user views, and
logical and
physical designs

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-26
Relational Data Structure (Figure 13.9)

In a relational
data structure,
data are
stored in
many tables.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-27
Normalization

• Normalization is the transformation of


complex user views and data stores to a
set of smaller, stable, and easily
maintainable data structures
• The main objective of the normalization
process is to simplify all the complex
data items that are often found in user
views
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-28
Normalization of a Relation Is
Accomplished in Three Major Steps
(Figure 13.10)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-29
Data Model Diagrams

• Shows data associations of data


elements
• Each entity is enclosed in an ellipse
• Arrows are used to show the
relationships

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-30
Drawing Data Model (Figure 13.13)

Drawing data model


diagrams for data
associations
sometimes helps
analysts appreciate
the complexity of data
storage.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-31
First Normal Form (1NF)

• Remove repeating groups


• The primary key with repeating group
attributes are moved into a new table
• When a relation contains no repeating
groups, it is in first normal form

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-32
The Original Unnormalized Relation
(Figure 13.16)

The original
unnormalized relation
SALES-REPORT is
separated into two
relations,
SALESPERSON (3NF)
and SALESPERSON-
CUSTOMER (1NF).

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-33
Second Normal Form (2NF)

• Remove any partially dependent attributes


and place them in another relation
• A partial dependency is when the data are
dependent on a part of a primary key
• A relation is created for the data that are only
dependent on part of the key and another for
data that are dependent on both parts

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-34
Second Normal Form (Figure 13.18 )

The relation SALESPERSON-


CUSTOMER is separated into a
relation called CUSTOMER-
WAREHOUSE (2NF) and a relation
called SALES (1NF).

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-35
Third Normal Form (3NF)

• Must be in 2NF
• Remove any transitive dependencies
• A transitive dependency is when nonkey
attributes are dependent not only on
the primary key, but also on a nonkey
attribute

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-36
Third Normal Form (Figure 13.20)

The relation
CUSTOMER-
WAREHOUSE is
separated into two
relations called
CUSTOMER
(1NF) and
WAREHOUSE
(1NF).

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-37
Al S. Well Hydraulic Company
E-R Diagram (Figure 13.22)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-38
Using the Entity-Relationship Diagram
to Determine Record Keys
• When the relationship is one-to-many, the
primary key of the file at the one end of the
relationship should be contained as a foreign
key on the file at the many end of the
relationship
• A many-to-many relationship should be
divided into two one-to-many relationships
with an associative entity in the middle

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-39
Guidelines for Master
File/Database Relation Design
• Each separate data entity should create
a master database table
• A specific data field should exist on one
master table
• Each master table or database relation
should have programs to create, read,
update, and delete the records

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-40
Integrity Constraints

• Entity integrity
• Referential integrity
• Domain integrity

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-41
Entity Integrity

• The primary key cannot have a null


value
• If the primary key is a composite key,
none of the fields in the key can contain
a null value

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-42
Referential Integrity

• Referential integrity governs the nature


of records in a one-to-many relationship
• Referential integrity means that all
foreign keys in the many table (the
child table) must have a matching
record in the parent table

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-43
Referential Integrity
(continued)
Referential integrity implications:
• You cannot add a record in the child
(many) table without a matching record in
the parent table
• You cannot change a primary key that has
matching child table records
• You cannot delete a record that has child
records

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-44
Referential Integrity (continued)

• Implemented in two ways:


• A restricted database updates or deletes a
key only if there are no matching child
records
• A cascaded database will delete or update
all child records when a parent record is
deleted or changed

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-45
Domain Integrity

• Domain integrity rules are used to


validate the data
• Domain integrity has two forms:
• Check constraints, which are defined at the
table level
• Rules, which are defined as separate
objects and can be used within a number
of fields

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-46
Anomalies

• Data redundancy
• Insert anomaly
• Deletion anomaly
• Update anomaly

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-47
Data Redundancy

• When the same data is stored in more


than one place in the database
• Solved by creating tables that are in
third normal form

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-48
Insert Anomaly

• Occurs when the entire primary key is


not known and the database cannot
insert a new record, which would
violate entity integrity
• Can be avoided by using a sequence
number for the primary key

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-49
Deletion Anomaly

• Happens when a record is deleted that


results in the loss of other related data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-50
Update Anomaly

• When a change to one attribute value


causes the database to either contain
inconsistent data or causes multiple
records to need changing
• May be prevented by making sure
tables are in third normal form

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-51
Retrieving and Presenting
Database Data
• Choose a relation from the database
• Join two relations together
• Project columns from the relation
• Select rows from the relation
• Derive new attributes
• Index or sort rows
• Calculate totals and performance measures
• Present data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-52
Denormalization

• Denormalization is the process of taking


the logical data model and transforming
it into an efficient physical model

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-53
Data Warehouses and
Database Differences
• Data warehouses are used to organize information
for quick and effective queries
• In the data warehouse, data are organized around
major subjects
• Data in the warehouse are stored as summarized
rather than detailed raw data
• Data in the data warehouse cover a much longer
time frame than in a traditional transaction-oriented
database
• Data warehouses are organized for fast queries

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-54
Data Warehouses and Database
Differences (continued)
• Data warehouses are usually optimized for
answering complex queries, known as OLAP
• Data warehouses allow for easy access via
data-mining software
• Data warehouses include multiple databases
that have been processed so that data are
uniformly defined
• Data warehouses usually include data from
outside sources

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-55
Online Analytic Processing

• Online analytic processing (OLAP) is


meant to answer decision makers’
complex questions by defining a
multidimensional database

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-56
Data-Mining Decision Aids

• Siftware
• Statistical analysis
• Decision trees
• Neural networks
• Intelligent agents
• Fuzzy logic
• Data visualization

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-57
Data-Mining Patterns

• Associations—patterns that occur


together
• Sequences—patterns of actions that
take place over a period of time
• Clustering—patterns that develop
among groups of people
• Trends—the patterns that are noticed
over a period of time

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-58
Data Mining (Figure 13.27)

Data mining collects


personal information
about customers in
an effort to be more
specific in
interpreting and
anticipating their
preferences

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-59
Data-Mining Problems

• Costs may be too high to justify


• Has to be coordinated
• Ethical aspects

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-60
Business Intelligence (BI)

• Business intelligence is a decision support


system (DSS) for organizational decision
makers
• It is composed of features that gather and
• store data
• It uses knowledge management approaches
combined with analysis
• This becomes input to decision makers’
decision-making processes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-61
Business Intelligence

• Business intelligence is built around


processing large volumes of data
• Big data is when data sets become too large
or too complex to be handled with traditional
tools or within traditional databases or data
warehouses
• Big data is a strategy that permits
organizations to cope with ever-increasing
numbers of data from a myriad of sources
• Human generated
• Generated via sensors of some type

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-62
Analyzing Business Intelligence

• Five prominent methods are used for


analyzing business intelligence
• Slice-and-dice drilldown
• Ad hoc queries
• Real-time analysis
• Forecasting
• Scenarios

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-63
Text Analytics

• Text analytics is a way to structure the


unstructured
• Turning qualitative material into quantitative
material
• The broader view is to tap into qualitative
unstructured data that can be of use to
decision makers who must recommend
courses of action to their organizations that
are backed by data
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-64
Text Analytics Sources

• Sources of big data for text analytics include


unstructured, qualitative, or “soft,” data generated
through:
• Blogs
• Chat rooms
• Questionnaires using open-ended questions
• Online discussions conducted on the Web
• Social media such as
• Facebook
• Twitter
• Other Web-generated dialogs between customers and an organization

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-65
Summary

• Storing data
• Individual files
• Database
• Reality, data, metadata
• Conventional files
• Type
• Organization
• Database
• Relational
• Hierarchical
• Network

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-66
Summary (continued)

• E-R diagrams
• Normalization
• First normal form
• Second normal form
• Third normal form
• Denormalization
• Data warehouse
• Data mining
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 13-67
This image cannot currently be displayed.

Copyright © 2014 Pearson Education, Inc.


Publishing as Prentice Hall

13-68
12
Kendall & Kendall
Systems Analysis and Design, 9e

Designing Effective
Input

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Design functional input forms for users of


business systems.
• Design engaging input displays for users of
information systems.
• Design useful input forms for people
interacting on the Web.
• Design useful input pages for users of
intranets, the Web, smartphones, and tablets.

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-2
Input Design Objectives

• The quality of system input determines the


quality of system output
• Input design objectives:
• Effectiveness
• Accuracy
• Ease of use
• Consistency
• Simplicity
• Attractiveness

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-3
Major Topics

• Input design
• Form design
• Display design
• GUI screen design
• GUI controls
• Web design guidelines

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-4
Good Form Design

• Make forms easy to fill in


• Ensure that forms meet the purpose for
which they are designed
• Design forms to assure accurate
completion
• Keep forms attractive

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-5
Make Forms Easy to Fill in

• Form flow
• Seven sections of a form
• Captioning

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-6
Form Flow

• Can minimize the time and effort


expended by employees in form
completion
• Should flow from left to right and top to
bottom

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-7
Seven Sections of a Form

• Heading
• Identification and access
• Instructions
• Body
• Signature and verification
• Totals
• Comments
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-8
Caption Types

• Line caption
• Putting the caption on the same line or below the line
• Boxed caption
• Providing a box for data instead of a line
• Check off caption
• Lining up choices or alternatives vertically
• Horizontal check off caption
• Lining up choices or alternatives horizontally
• Table caption
• Work well in the body of a form
• Combination

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-9
Major Captioning Alternatives
(Figure 12.2)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-10
Meeting the Intended Purpose

• Systems analysts may use different


types of specialty forms for different
purposes
• Specialty forms
• Multiple-part
• Continuous-feed
• Perforated

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-11
Ensuring Accurate Completion

• To reduce error rates associated with


data collection, forms should be
designed to assure accurate completion
• Design forms to make people do the
right thing with the form

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-12
Keeping Forms Attractive

• Aesthetic forms draw people into them


and encourage completion
• Forms should look uncluttered, and
elicit information in the expected order
• Using different fonts and line weights
within the same form can help make it
more attractive for users

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-13
Computer-Assisted Form
Design
• Numerous form design packages are
available for desktop systems—there
are tools to set up:
• Fields
• Check boxes
• Lines
• Boxes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-14
Omniform from ScanSoft Allows the User to Take an Existing Form,
Scan It into the Computer, and Define Fields So the Form Can Be
Easily Filled out on a PC (Figure 12.3)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-15
Controlling Business Forms

• Make sure that each form in use fulfills its specific


purpose
• Make sure that the specified purpose is integral to
organizational functioning
• Prevent duplication of information collected and of
the forms that collect it
• Design effective forms
• Decide on how to reproduce forms in the most
economical way
• Establish procedures that make forms available, at
the lowest possible cost

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-16
Good Display and Web Forms
Design
• Keep the display simple
• Keep the display presentation
consistent
• Facilitate user movement among display
screens and pages
• Create an attractive and pleasing
display

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-17
Keeping the Display Simple

• Heading
• Body
• Comments and instructions

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-18
Keeping the Display Consistent

• Locate information in the same area


each time a new display is accessed
• Information that logically belongs
together should be consistently grouped
together
• Information should not overlap from
one group to another

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-19
Facilitating Movement

• The three-clicks rule says that users


should be able to get to the screens
they need within three mouse or
keyboard clicks
• Movement among screens:
• Scrolling by using arrows or PgDn keys
• Context-sensitive pop-up windows
• Onscreen dialogue

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-20
Designing an Attractive and
Pleasing Display
• Should draw users into them and hold
their attention
• Use logical flows in the plan to your
display pages
• Color or shaded boxes and creating
three-dimensional boxes and arrows

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-21
Using Icons in Screen Design

• Icons are pictorial, onscreen representations


symbolizing computer actions that users may
select using a mouse, keyboard, lightpen,
touch screen, or joystick
• Shapes should be readily recognizable
• Icons for a particular application should be
limited to 20 recognizable shapes
• Use icons consistently throughout

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-22
Graphical User Interface (GUI)
Controls
• Text boxes
• Check boxes
• Option or radio buttons
• List and drop-down list boxes
• Sliders and spin buttons
• Image maps
• Text area
• Message boxes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-23
The Designer Has Many GUI Components that Allow Flexibility in
Designing Input Screens for the Web or Other Software Packages:
This Example Is from Microsoft Access (Figure 12.4)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-24
Text Boxes

• Text boxes should be large enough to


accommodate all the characters
• Captions should be to the left of the
text box
• Character data is left-aligned within the
box
• Numeric data is right-aligned

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-25
HTML5 Browsers Features

• Placeholder puts a small amount of help text


into a text box, displaying in a lighter color
• When the cursor is placed in the field the text
vanishes
• New text boxes:
• Email
• Telephone
• URL, a Web address

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-26
HTML5 Browsers Features

• These appear as normal text boxes on a computer


• When used on a tablet or smartphone, they can be
used to customize the pop-up keyboard
• Telephone number, the keyboard layout changes to a
number pad
• A URL, the keyboard includes a .com button
• An email address, the keyboard includes an @ symbol
• Helps the user enter data quickly and accurately

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-27
HTML5 Browsers Features

• A datalist displays a drop-down list of


predefined suggestions to make entry easier
for the user
• As the user begins to type the first few
letters, the datalist is displayed
• The user can choose one of the items in the
list to make a selection
• This is used in the autocomplete function

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-28
HTML5 Browsers Features

• A calendar control to select a date, a


date and time, or a local date and time
• Selecting dates from a pop-up calendar
is easier and less error-prone than
entering text

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-29
Check Boxes

• Check boxes are used for nonexclusive


choices
• Check box text or label is placed to the
right of the check box
• If there are more than ten check boxes,
group together in a bordered box

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-30
Option Buttons

• Option or radio buttons are used for exclusive


choices
• Choices are listed to the right of the button,
in some sequence
• Often they are placed in a rectangle called an
option group
• If more than six option buttons are used, a
list box or drop-down list box should be
implemented

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-31
List and Drop-Down List Boxes

• Used when there is little room available


on the page
• If there is a commonly selected choice,
it is usually displayed in the drop-down
list by default

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-32
Tab Control Dialogue Boxes

• Create a separate tab for each unique feature


• Place the most commonly used tabs in front
and display them first
• Consider including three basic buttons in your
design:
• OK
• Cancel
• Help

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-33
Sliders, Spin Buttons, and
Image Maps
• Sliders and spin buttons are used to
change data that have a continuous
range of values
• Image map fields are used to select
values within an image

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-34
Sliders and Spin Buttons Are Two GUI Components the
Analyst Can Use to Design Input Screens (Figure 12.5)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-35
Text Area

• A text area is used for entering a larger


amount of text
• Can view data larger then the box area
• Handling text:
• Hard return is used to force new lines
• Use word wrap within the text area

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-36
Message Boxes and Command
Buttons
• Message boxes are used to warn users
and provide feedback messages in a
dialog box
• Command buttons perform an action
when the user selects it

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-37
Form Controls and Values

• Each control in a GUI interface stores


data associated with the control
• Web pages use a name and value pair
that are transmitted to the server or in
an email sent along with the form

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-38
Hidden Fields

• Not visible to the viewer


• Do not take up any space on the web
page
• Can only contain a name and value
• Used to store values sent from one Web
form to the server

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-39
Event-Response Charts

• Used to:
• List the variety of events that can occur
• Show what should happen
• Build a Web form that requires minimal action
from the user
• Explore improvements to the web page
• Events may be used to:
• Control navigation between web pages
• Change the contents of drop-down lists

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-40
Dynamic Web Pages

• Web pages that change themselves as


the result of some user action
• Advantage
• Modify themselves quickly
• Disadvantage
• Will not work if JavaScript is turned off
• Dynamic web pages may not be compliant
with the American Disabilities Act

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-41
Three Dimensional Web Pages

• Use stacked layers


• Code is moved in front of the web page
• Code may be created using JavaScript
• Analyst must determine when to use
layers

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-42
Three Dimensional Web Pages

• Analyst must determine:


• How is the layer built?
• What events cause the layer to be created?
• What events remove the layer?
• Where should the block be placed?
• The size of the block?
• How to frame the region?
• What happens when an option is selected?

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-43
Ajax (Asynchronous JavaScript
and XML)
• Uses JavaScript and XML
• Allows Web developers to build a web page that
works like a traditional desktop program
• The data may be either a small text file or an XML
document containing many customers or repeating
data
• Has the advantage of making the Web work faster
and of providing a smoother viewing experience for
users
• The disadvantages are that JavaScript must be
enabled and the web page may violate the American
Disabilities Act

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-44
Color

• The five most legible


foreground/background color
combinations:
• Black on yellow
• Green on white
• Blue on white
• White on blue
• Yellow on black

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-45
Website Page Design

• Provide clear instructions


• Demonstrate a logical entry sequence for fill-
in forms
• Use a variety of text boxes, push buttons,
radio buttons, drop-down lists, and other GUI
features
• Provide a scrolling text box if you are
uncertain how much text will be entered

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-46
Website Page Design
(continued)
• Include two basic buttons: Submit and
Clear
• If the form is lengthy, divide it into
several simpler forms on separate
pages
• Create a feedback screen that lists error
messages if a form has not correctly
been filled out

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-47
Ecommerce Applications

• Ecommerce applications involve more


than just good designs of websites.
• Customers need to feel confident in the
site
• Shopping cart
• Customer can edit the quantity of the item
ordered or can remove the item entirely

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-48
Summary

• Guidelines for well-designed input


forms:
• Forms must be easy to fill out
• Forms must meet the purpose for which
they are designed
• Forms must be designed to ensure
accurate completion
• Forms must be pleasing and attractive

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-49
Summary (continued)

• Guidelines for well-designed displays:


• Displays must be kept simple
• Displays must be consistent in presentation
• Design must facilitate movement between
pages
• Displays must be attractive

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-50
Summary (continued)

• Guidelines for Web fill-in forms:


• Provide clear instructions
• Demonstrate a logical entry sequence for fill-in
forms
• Use a variety of text boxes, push buttons, drop-
down menus, check boxes, and radio buttons
• Provide a scrolling text box if you are uncertain
about how much space users will need to respond
to a question

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-51
Summary (continued)

• Guidelines for Web fill-in forms (continued):


• Prepare two basic buttons on every Web fill-in
form: Submit and Clear Form
• If the form is lengthy and the users must scroll
extensively, divide the form into several simpler
forms on separate pages
• Create a feedback screen that highlights errors in
an appropriate color and refuses submission of the
form until mandatory fields are correctly filled in

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 12-52
This image cannot currently be displayed.

Copyright © 2014 Pearson Education, Inc.


Publishing as Prentice Hall

12-53
11
Kendall & Kendall
Systems Analysis and Design, 9e

Designing Effective
Output

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall
Learning Objectives

• Understand the objectives for effective output design


• Relate output content to output methods inside and
outside the organizational context
• Realize how output bias affects users
• Design display output
• Design dashboard, widgets, and gadgets
• Design a websites for ecommerce and corporate uses
that include Web 2.0 technologies
• Understand the development process for apps used
on smartphones and tablets

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-2
Output

• Information delivered to users


• Output forms
• Hard-copy—printed reports
• Soft-copy—computer screens, microforms,
and audio
• To create output, the analyst works
interactively with the user until the
output is satisfactory

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-3
Major Topics

• Designing output
• Output technologies
• Factors in choosing an output technology
• Report design
• Screen design
• Website design
• Smartphones and tablet design

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-4
Output Design Objectives

• Serve a specific user or organizational


purpose
• Meaningful to the user
• Deliver the appropriate quantity of output
• Make sure the output is where it is needed
• Provide output on time
• Choosing the most effective output method

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-5
Relating Output Content to
Method
• Content of output must be considered
as interrelated to the output method
• External—going outside the business
• Internal—staying within the business

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-6
External Output

• Examples:
• Utility bills
• Advertisements
• Paychecks
• Differs from internal output in:
• Distribution
• Design
• Appearance

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-7
Internal Output

• Examples:
• Summary reports
• Detailed reports
• Historical reports
• Exception reports
• Might consist of material available on an
intranet

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-8
A Comparison of Output Methods
(Figure 11.2)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-9
A Comparison of Output Methods
(Figure 11.2) (continued)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-10
Factors to Consider When
Choosing Output Technology
• Who will use the output?
• How many people need the output?
• Where is the output needed?
• What is the purpose?
• What is the speed with which output is needed?
• How frequently will the output be accessed?
• How long will the output be stored?
• Regulations depicting output produced, stored, and
distributed
• Initial and ongoing costs of maintenance and supplies
• Human and environmental requirements

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-11
Green IT Initiatives

• May limit the quantity of paper reports


that are printed
• May discourage employees from
printing out copies of email messages
by adding a green IT notification to the
bottom of each corporate email
message

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-12
Output Bias

• Analysts must avoid unnecessarily


biasing output and make users aware of
the possible biases in output
• Bias is introduced in three main ways:
• How information is sorted
• Setting of acceptable limits
• Choice of graphics

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-13
Avoiding Bias in the Design
Output
• Be aware of the sources of bias
• Design of output that includes users
• Work with users so that they are informed of
the output’s biases
• Creating output that is flexible and allows
users to modify limits and ranges
• Train users to rely on multiple output for
conducting “reality tests” on system output

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-14
A Misleading Graph Will Most
Likely Bias the User (Figure 11.5)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-15
Designing Printed Output

• Detailed reports
• Print a report line for every record on the master
file
• Exception reports
• Print a line for all records that match a certain
condition
• Summary reports
• Print one line for a group of records that are used
to make decisions

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-16
Designing Output for Displays

• Keep the display simple


• Keep the presentation consistent
• Facilitate user movement among
displayed output
• Create an attractive and pleasing
display

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-17
Graphical Output in Screen
Design
• The purpose of the graph
• The kind of data to be displayed
• The audience
• The effects on the audience of different
kinds of graphical output

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-18
Dashboards

• Make sure the data has context


• Display the proper amount of
summarization and precision
• Choose appropriate performance
measures for display
• Present data fairly

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-19
Dashboards (continued)

• Choose the correct style of graph or


chart for display
• Use well-designed display media
• Limit the variety of item types
• Highlight important data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-20
Dashboards (continued)

• Highlight important data


• Arrange the data in meaningful groups
• Keep the screen uncluttered
• Keep the entire dashboard on a single
screen
• Allow flexibility

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-21
Widgets and Gadgets

• Can be any type of a program that may


be useful to any person interacting with
a computer
• Can empower users to take part in
design of their own desktop

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-22
Designing a Website

• Use professional tools


• Study other sites
• Use Web resources
• Examine the sites of professional
website designers
• Use the tools you’ve learned
• Use storyboarding, wireframing, and
mockups
Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-23
Designing a Website (continued)

• Consult the books


• Examine poorly designed websites
• Creating Web templates
• Style sheets allow you to format all Web
pages in a site consistently
• Using plug-ins, audio, and video
sparingly

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-24
Storyboarding

• In developing a website or app a


storyboard could be used to show the
differences between screens
• It can show how a visitor to the site
would navigate the website

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-25
Wireframing

• Page design can be accomplished using a


process called wireframing
• Wireframing because it shows only the basics
• There is no color, no type style; graphics are
shown as a simple box with an X drawn in
• In this way, each of the items acts as a
placeholder

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-26
Wireframing

• Wireframing allows the designer to plan:


• The overall design, showing what element appears
at each position on the page
• The navigational design, showing how to move
from one page to the next using buttons, tabs,
links, and pull-down menus
• The interface design, showing how to interact with
the website by inputting data or responding to
questions

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-27
Mockups

• The term wireframe has largely been


replaced with mockup
• Mockups show what the output and
input will look like
• Abundant software is available to help a
systems designer develop a mockup

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-28
Mockups

• The software has objects that can be dragged


and dropped onto the screen
• Templates are available for any type of
display including:
• Desktops
• Notebooks
• Smartphones
• Tablets
• When designing for smartphones and tablets,
both screen orientations are included

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-29
Designing a Website (continued)

• Plan ahead, pay attention to:


• Structure
• Content
• Text
• Graphics
• Presentations style
• Navigation
• Promotion

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-30
Structure

• One of the most important steps in


developing a professional website
• Each page in the Web structure should
have a distinct message
• Can benefit from using website
diagramming and mapping tools

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-31
Content

• Appropriate content is needed to keep


the user interested
• Use a metaphor or images that provide
metaphor for your site
• Should include a FAQ page
• May take advantage of prewritten
software

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-32
Text

• Each Web page should have a title


• Place meaningful words in the first
sentence appearing on your Web page
• Clear writing is important

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-33
Content Management Systems

• Content on ecommerce sites needs to


be constantly updated
• Content management systems (CMSs)
are software tools that help to develop
and maintain websites and online
applications

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-34
Graphics

• Use either JPEG, GIF, or PNG formats


• Keep the background simple and readable
• Create a few professional-looking graphics for
use on your pages
• Keep images small and reuse bullet or
navigational buttons
• Include text in what is called a Title or ALT
attribute for images and image hot spots
• Examine your website on a variety of displays
and screen resolutions

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-35
Presentation Style

• Provide a home page


• Keep the number of graphics to a reasonable
minimum
• Use large and colorful fonts for headings
• Use interesting images and buttons for links
• Use CSS to control the formatting and layout
of the Web page

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-36
Presentation Style (continued)

• Use divisions and cascading styles or


tables to enhance a layout
• Use the same graphics image on
several Web pages
• Use Javascript to enhance Web page
layout
• Avoid overusing animation, sound, and
other elements

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-37
Navigation

• The three-clicks rule


• Promote the website
• Include a navigation bar and links to
the home page on every page on the
website

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-38
Promotion

• Promote your site


• Submit often to search engines
• Include key words in metatags
• Encourage your readers to bookmark
your website

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-39
Web 2.0 Technologies and Social
Media Design

• It is important to include Web 2.0 technologies that


focus on enabling and facilitating user-generated
content and collaboration
• Types of technologies you should think about
including:
• Blogs
• Wikis
• Links to social networks on which the company has a
presence
• Tagging

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-40
Tagging

• Tagging or social bookmarking provides


useful pointers to online resources such
as:
• Websites
• content on corporate intranets
• Corporate documents, or photos that are
relevant to the organization and to users

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-41
Reasons for Using Collaborative
Tools
• Companies use collaborative tools to:
• Communicate an integrated branding and
messaging strategy across multiple
platforms
• To gauge consumer opinion
• To gather feedback
• To create a community of users

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-42
Internal Use of Social Media

• Inward-facing Web technologies can be


useful in:
• Building employee relationships
• Maintaining trust
• Sharing knowledge
• Innovating among employees and groups of
employees
• Locating corporate resources more readily
• Nurturing corporate culture and subcultures inside
the organization

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-43
Five Aspects an Analyst Should
Consider
1. Realize differences between corporate objectives and
objectives of key stakeholders
2. Serve as the voice of the customer to your client
organization
3. Recognize the importance of visual page design for
effectively displaying collaborative tools
4. Revise and update the Web 2.0 technologies offered
frequently
5. Work to integrate Web 2.0 technologies with the
existing branding

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-44
Designing for Smartphones and
Tablets
1. Set up a developer account
2. Choose a development process
3. Be an original
4. Determine how you will price the app

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-45
Designing for Smartphones and
Tablets
5. Follow the rules for output design
6. Design your icon
7. Choose an appropriate name for the
app
8. Design for a variety of devices
9. Design the output for the app

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-46
Designing for Smartphones and
Tablets
10. Design the output a second time for
different orientation
11. Design the logic
12. Create the user interface using
gestures
13. Protect your property
14. Market your app

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-47
Choose a Development Process

• Prototyping is most likely the best way to


develop your app
• Quick releases are important
• Quality should not be sacrificed, but you can
introduce an app and then add features later
• Advantages of introducing an app first:
• It allows you to gain an advantage
• Revise the app adding new features
• Increases visibility because the app appears on a
list of apps that have been updated

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-48
Determine Pricing the App

• There are six basic options for pricing:


1. Choose a low-cost strategy
2. Introduce an app as a “premium” app
3. Adopt a “freemium” model
4. Offer an app for free
5. Promote an app by reducing its price
6. Accept advertising

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-49
Design the App Icon (Figure 11.17)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-50
Design the App’s Logic

• Tablets and smartphones fit in well with


the prototyping method of development
• Sometimes the best way is to sketch
out the logic using structured decision
making techniques

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-51
Create the User Interface Using
Gestures
• Smartphones and tablets have innovative user
interfaces
• Technically called touchscreen capacitive sensing
• Design apps assuming that users will demand touch-
sensitive interfaces
• Use gestures such as:
• Swipes
• Pinches
• Tugs
• Shakes

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-52
Market Your App

• Need to convince a person to pay for


and download your app
• To market your app, you will need:
• A large icon
• A description
• A section explaining what is new in the
current version
• A sample set of screen shots

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-53
Output Production and XML

• An XML document may be transformed


into different output media types
• Methods:
• Extensible Style Language Transformations
(XSLT)
• Ajax
• Cascading style sheets (CSS)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-54
Extensible Style Language
Transformations (XSLT)
XSLT allows you to:
• Select XML elements
• Sort sequence
• Selection of data

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-55
Extensible Style Language Transformation
(XSLT) Can Transform XML Documents into
Many Different Formats (Figure 11.20)

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-56
Ajax

• Uses both JavaScript and XML to obtain


small amounts of data from a server
without leaving the webpage
• The user does not have to wait for a
new webpage to display after making a
selection

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-57
Summary

• Output
• Output design objectives
• Output content
• Output technologies
• Presentation of output

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-58
Summary

• Display output
• Web design
• Social media
• Smart phone and tablet design
• XML transformation

Kendall & Kendall Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 11-59
This image cannot currently be displayed.

Copyright © 2014 Pearson Education, Inc.


Publishing as Prentice Hall

11-60
Анализа и дизајн на
информациски системи

Дизајн на информациски системи


Пристап кон дизајнот на
информациски системи
• Дизајн на архитектура
• Дизајн на податоци
• Дизајн на кориснички интерфејс

2
Дизајн на архитектура на ИС
• Системската архитектура треба да покаже
како логичкиот дизајн ќе се преслика во
физичкиот дизајн (хардвер, оперативни
системи, наменски софтвер, мрежа и
начини на процесирање)

3
Дизајн на архитектура на ИС
• Скалабилност
– Можност ИС да се шири (или намалува) во
зависност од бизнис потребите
– ИС и пресметки во облак
– Особено важно ако има постојани или
привремени интервали на голем обем на
процесирање податоци

4
Дизајн на архитектура на ИС
• Веб интеграција
– Веб центрична архитектура
– Може да помогне со проблеми поврзани со
компатибилност (потребен е само веб пребарувач на
клиентска страна наместо апликација)
– Е-маркети

5
Дизајн на архитектура на ИС
• Поврзување со постоечки (Legacy)системи
– Стариот и новиот ИС мора да имаат некаков
интерфејс доколку работат паралелно
– Треба да се внимава на податочни формати

6
Дизајн на архитектура на ИС
• Начини на процесирање
– Веднаш кога ќе има потреба (online) или во
пакети (batches)
• Може да е и комбинирано
– Како ќе се прави бекап и враќање на податоци
во случај на пад на системот зависи од начинот
на процесирање

7
Дизајн на архитектура на ИС
• Сигурност
– Како се справуваме со сигурносни проблеми
– Кои се сигурносните проблеми што произлегуваат
од логичкиот дизајн и архитектурата на ИС
– Кои се стандардните сигурносни проблеми на кои
мора да се внимава (примери: веб базирани
системи, безжични мрежи...)

8
Дизајн на архитектура на ИС
• Хардвер
– Сервери
– Клиенти
– Mainframe компјутери
– Процесирање во облак
• Јавен
• Приватен
• Мрежа
– Интернет
– Интранет
– Безжичен пристап
9
– Мобилен пристап
Тенки и дебели клиенти

10
Клиент сервер архитектура
• Нивоа на клиент сервер архитектура
– Две нивоа
– Три нивоа (Пр. Клиент/сервер/база)
• Middleware
– Ниво посредник кое обезбедува интерфеси
– Може да се користи кај legacy или веб
базирани системи

11
Дизајн на податоци
• Датотеки
• Структурирани бази на податоци
• Не-структурирани бази на податоци

12
Дизајн на податоци
• Работа со датотеки
– Може да е ефтино и да врши работа
– Проблеми
• редунданција
• интегритет
• Одржување на податочни типови и структура
– Типови на датотеки
• Мастер датотека
• Трансакциска датотека
• Работна датотека
• Датотека на логови
• Датотека на полиси и сетирања
13
Дизајн на податоци
• Бази на податоци
– Систем за управување со бази на податоци (DBMS) е
колекција на алатки кои обезбедуваат корисникот да
додава, ажурира, брише, пристапува и анализира
податоци во базата на податоци
– Податоците може да се моделираат со ЕР дијаграм
– Треба да се барем до трета нормална форма
– Користење на кодови (шифрарници)
– Намалуваат меморија, зголемуваат брзина (особено на
внес на податоци)
– Намалуваат грешки (особео при внес на податоци)

14
Дизајн на кориснички интерфејс
• Дизајнот на корисничкиот интерфејс е
исклучително важно, поради тоа што
корисничкиот интерфејс е она што го
гледаат корисниците, и секој сака систем
што е лесен за користење и лесно се учи
• Кориснички интерфејс е целиот хардвер и
софтвер (екрани, менија, функции, излези)
што влијаат на двонасочната интеракција
помеѓу корисникот и ИС
15
Принципи на кориснички
центриран дизајн
• Што е суштината на бизнисот
• Како со помош на графика може да се
создаде поголема ефикасност
• Размислувај како корисникот
• Креирај прототипи и мокапи
• Фокусирај се на корисноста
• Барај фидбек од корисниците
• Документирај се што можеш
16
Дизајн на кориснички интерфејс
Основни принципи за кориснички интерфејс
1. Интерфејс што лесно се учи и се користи
2. Интерфејс што ја зголемува продуктивноста
3. Информации за грешки или помош
4. Минимизирање на внес на податоци
6. Постојано информирање на корисникот за статус
на неговата операција
7. Атрактивен визуелен дизајн
8. Користење на фамилијарни и генерички
пристапи

17
Дизајн на кориснички интерфејс
• Како се зголемува продуктивноста?
– Групирање на таскови, менија и функции така
да одговараат на бизнис процесите
– Кратенки за искусни корисници (за да се
намали бројот на кликови)
– Користење на предефинирани вредности

18
Дизајн на кориснички интерфејс
• Минимизирање на внес на податоци
– Креирај маски за внес на податоци
– Прикажување на подсетници и контексни
пораки
– Листа на предефинирани вредности за избор
– Правила за проверка на интегритет на
податоците

19
Дизајн на кориснички интерфејс
• Постојано информирање на корисникот за
статус на неговата операција
– Пораки поставени на логично место
– Аларми за предолго време на процесирање
– Пораките да се видливи доволно долго за
корисникот да може да ги види
– Информирање дали бараната опeрација се
завршила успешно или не

20
Дизајн на излез (извештаи)
– Која е целта што извештајот треба да ја постигне?
– На кого и за што му е потребна информацијата?
– Како ќе се користи информацијата?
– Кој податоци ја сочинуваат информацијата?
– Дали извештајот е за печатење или треба да се
прикаже на некој уред и кој (формат и резолуција)?
– Колку често и кога е потребен?
– Дали може да креира проблеми со сигурност или
приватност?

21
Дизајн на излез (извештаи)
• Типови извештаи
– Детални извештаи
– Извештаи по потреба
– Сумарни извештаи

22
Дизајн на влез
• Влезни принципи
– Batch процесирање
– Online процесирање
• Online внес
• Автоматизација
– RFID тагови

23
Дизајн на влез
• Намалување на волумен на податоци за
внесување
1. Кои се податоците што се неопходни
2. Што може да се пресмета или извлече од друго
место ако се знаат неопходните податоци
3. Податоци што се повторуваат или се константни
треба да се предефинирани
4. Користење шифрарници

24
Сигурност и контрола
– Контрола на инпут
– Секоја информација која е прикажана треба да
има трага до инпутот
– Логови
– Енкрипција

25
Домашна задача
Рок:

26

You might also like