INFO 355Week #61 Systems Analysis II Essentials of design INFO 355 Glenn Booker

Preview:

Citation preview

INFO 355 Week #6 1

Systems Analysis IIEssentials of design

INFO 355Glenn Booker

Overview

Design bridges between requirements analysis and implementation of the system, hence it’s stunningly important 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

INFO 355 Week #6 2

Types of devices

What kinds of devices might you expect for: A standalone application? A web app? A client/server app? A cloud app? A many-tiered client/server app? A client in an industrial setting?

INFO 355 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 Basic design principle: take a large

problem and break it into smaller pieces

INFO 355 Week #6 4

Network diagram

INFO 355 Week #6 5

Ethernet

App server

Database server

Wireless AP

Smartphone

Router

Web server

Levels of design

As we’ve hinted already, design can be broken into levels High level design = architectural design

= general design = conceptual designAsks ‘what are the major pieces and structure of the system?’

Low level design = detailed designAsks ‘what is the design of each piece of the system?’

INFO 355 Week #6 6

Design models

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

INFO 355 Week #6 7

Life cycle core processes

Throughout iterative development, each iteration includes some amount of several activities 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

INFO 355 Week #6 8

Design system components

Within the step to design system components, it includes Design the environment Design app architecture and software Design user interfaces Design system interfaces Design the database Design system controls and security

INFO 355 Week #6 9

Design the environment

The system’s environment includes the hardware and supporting software needed for it to run Computing devices, OS, middleware,

I/O and networking, etc. What equipment is needed? How do they communicate?

INFO 355 Week #6 10

Design app architecture and software

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

INFO 355 Week #6 11

Design user interfaces

What devices will users use to access the system? Do we have a 4” screen or 30”? Graphical, touch or text interface?

How will the system support the user meeting their needs? How can the app be efficient and

attractive? Make storyboards, prototypes, etc.

INFO 355 Week #6 12

Design system interfaces

How does the system communicate with other systems? Legacy systems, Google Maps, online

data sources, vendors, suppliers, etc. In what form is data exchanged?

Text, binary, zipped, markup languages Real time or asynchronous

exchange?

INFO 355 Week #6 13

Design the database

Define the data model Assess performance needs Assess security needs Assess privacy concerns Redundancy? Integration with existing databases?

INFO 355 Week #6 14

Design system controls and security

Consider security needs Physical and electronic security Internal and external threats Deliberate and accidental threats Legal and regulatory constraints Logging transactions, backup

INFO 355 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 Internal deployment only External deployment only Internal and external deployment

(remote or distributed environments)

INFO 355 Week #6 16

Internal deployment only

Stand-alone apps Rare, no Internet or other connections

Internal network-based systems Used only within the organization, e.g.

client/server architecture over a LAN Could still be a desktop app or browser-

based app

INFO 355 Week #6 17

Internal deployment only

Three-layer client/server Uses view, controller (business logic or

domain), and data layers

INFO 355 Week #6 18

External deployment only

All Internet-based approaches Configuration

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

INFO 355 Week #6 19

External deployment only

Hosting for Internet 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)

INFO 355 Week #6 20

Internal and external deployment

Mixing internal and external deployments gets messy 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

INFO 355 Week #6 21

Recommended