View
224
Download
1
Category
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