Week #6

advertisement
Systems Analysis II
Essentials of design
INFO 355
Glenn Booker
INFO 355
Week #6
1
Overview

Design bridges between
requirements analysis and
implementation of the system,
hence it’s stunningly important


INFO 355
Design generates a blueprint for the
construction of the system
Design is heavily influenced by the
devices to be used at the user or
server ends of the system
Week #6
2
Types of devices

What kinds of devices might you
expect for:






INFO 355
A
A
A
A
A
A
standalone application?
web app?
client/server app?
cloud app?
many-tiered client/server app?
client in an industrial setting?
Week #6
3
Network diagram


A simple network diagram can show
the types of devices and servers in
a system, and how they are
connected (p. 157)
This forms the basis for design of
each of the devices, servers, and
interfaces among them

INFO 355
Basic design principle: take a large
problem and break it into smaller
pieces
Week #6
4
Network diagram
Ethernet
Database server
Web server
Router
Wireless AP
Smartphone
App server
INFO 355
Week #6
5
Levels of design

As we’ve hinted already, design can
be broken into levels


INFO 355
High level design = architectural design
= general design = conceptual design
Asks ‘what are the major pieces and
structure of the system?’
Low level design = detailed design
Asks ‘what is the design of each piece
of the system?’
Week #6
6
Design models



INFO 355
Design takes place by developing
models of key parts of the system
Most models are diagrams with
written descriptions
In OOAD, design models can include
class, sequence, activity, package,
and state
Week #6
7
Life cycle core processes

Throughout iterative development,
each iteration includes some
amount of several activities






INFO 355
Identify problem and obtain approval
Plan and monitor the project
Discover and understand details
Design system components
Build, test, & integrate components
Finish system tests and deploy solution
Week #6
8
Design system components

Within the step to design system
components, it includes






INFO 355
Design
Design
Design
Design
Design
Design
the environment
app architecture and software
user interfaces
system interfaces
the database
system controls and security
Week #6
9
Design the environment

The system’s environment includes
the hardware and supporting
software needed for it to run



INFO 355
Computing devices, OS, middleware,
I/O and networking, etc.
What equipment is needed?
How do they communicate?
Week #6
10
Design app architecture and software





INFO 355
How is the app software structured?
What subsystems are needed?
How are data, logic, and
presentation functions separated?
Where and how will users access
the system?
Various diagrams might capture this
information
Week #6
11
Design user interfaces

What devices will users use to
access the system?



How will the system support the
user meeting their needs?


INFO 355
Do we have a 4” screen or 30”?
Graphical, touch or text interface?
How can the app be efficient and
attractive?
Make storyboards, prototypes, etc.
Week #6
12
Design system interfaces

How does the system communicate
with other systems?


In what form is data exchanged?


INFO 355
Legacy systems, Google Maps, online
data sources, vendors, suppliers, etc.
Text, binary, zipped, markup languages
Real time or asynchronous
exchange?
Week #6
13
Design the database






INFO 355
Define the data model
Assess performance needs
Assess security needs
Assess privacy concerns
Redundancy?
Integration with existing databases?
Week #6
14
Design system controls and security

Consider security needs





INFO 355
Physical and electronic security
Internal and external threats
Deliberate and accidental threats
Legal and regulatory constraints
Logging transactions, backup
Week #6
15
Revisit Design the Environment


Consider when we looked at the
types of devices for various
architectures
Major design choices depend on
whether the app is designed for



INFO 355
Internal deployment only
External deployment only
Internal and external deployment
(remote or distributed environments)
Week #6
16
Internal deployment only

Stand-alone apps


Internal network-based systems


INFO 355
Rare, no Internet or other connections
Used only within the organization, e.g.
client/server architecture over a LAN
Could still be a desktop app or
browser-based app
Week #6
17
Internal deployment only

Three-layer client/server

INFO 355
Uses view, controller (business logic or
domain), and data layers
Week #6
18
External deployment only


All Internet-based approaches
Configuration



INFO 355
Also a 3-layer architecture
(client/browser, web or app server,
data server)
Gives high accessibility, low cost, and
uses common standards
Challenges include security (HTTPS or
TLS), throughput (server farms, CDN),
and changing client software
Week #6
19
External deployment only

Hosting for Internet





INFO 355
Based on needs for reliability, security,
physical facilities, staffing, growth
Might share colocation facility
Purchase managed services
Lease virtual servers
Cloud computing (buy capacity as
needed, per SLA)
Week #6
20
Internal and external deployment

Mixing internal and external
deployments gets messy




INFO 355
WANs are history
Might use VPN for remote users
Or use home server to authorize a
peer-to-peer connection
Diversity of clients is a challenge
Week #6
21
Download