PowerPoint slides for class #5

Download Report

Transcript PowerPoint slides for class #5

Systems Analysis & Design
Class #5: Design and Specifications
Plus notes on architecture,
scalability, and etc.
3/27/2016 2:43:32 AM
Slide 1
PowerPoint Presentation for IS-207
Copyright 2006 © Michael W. Schaffer. All rights reserved.
Today
A bit on Specifications
Some data points on costs
Architecture and Deployment
A bit on networking and security
Scalability
Slide 2
Discovery
Requirements
PDP: Specifications
Specifications
Development
Integration
Alpha
Beta
Launch
Maintenance
“How will we build it?”, “What will it cost?”
Who: Architects and Designers, QA, PM
Design data architecture, component
interfaces, internals of interesting
elements
QA is key player, to audit and align
specifications to requirements.
Brevity helps. Ensure review with a
formal feedback processes.
Refine schedule and costs, bottom-up
schedule definition and buy-in.
Slide 3
Know your Constraints
Expectations have been set on
ROI, which imply the cost &
schedule.
The task now is to design
complete solutions to the
requirements, and build out a
schedule that holds to the
original.
Slide 4
Purpose of the Specification
Drive detailed technical planning
to expose all unknowns & risks.
Create documents that answer
all technical issues of “how?”.
Create a document that enables
testing, aligned to requirements.
Create a detailed
implementation plan with costs.
Slide 5
Size Matters
Specifications should help
development, not get in the way.
High-level languages can make
some specifications redundant.
Focus on the communication
needs of the project – “less can
be more.”
Slide 6
Buy vs. Build
Code is expensive: a very thin
line between code as an asset,
and code that is a liability
Long-term value of the code?
Available in the market?
Core to business, or context?
Slide 7
Core vs. Context
Your overall system is a collection
of components: build for
Competitive Advantage.
Code you develop that is merely
“context” is a distraction.
What separates your business from
your competition?
Slide 8
Toolset of Implementation
Standards at your company
already established?
Skill-set among the existing staff?
License costs?
Appropriate to the tasks-athand?
Slide 9
Open Source
Lots of solutions available from
the Open Source community
LAMP: Linux, Apache, MySQL, PHP
DNS Servers, Monitoring systems
Tons of Perl
Using Open Source implies ongoing support and maintenance.
Slide 10
Example: Text Search
Alibris is considering a new Text
Search engine.
Current solution has issues …
FAST, Verity, Endeca: about $300k$500k in license costs.
Lucene: Open Source Text Search
 Requires much more engineering, and
on-going updates and maintenance.
Slide 11
User Interface – Authority?
Clear roles and responsibilities
Everyone has an opinion: who owns
the decision and authority?
IA: Information Architecture … is it
design, engineering, or both?
Management sets the tone!
Slide 12
User Interfaces
Your UI team holds lots of cards
How complex the interface?
What tools required to implement?
Who builds it (HTML from
development, or design shop)?
What constraints on the design?
Slide 13
Storyboarding
In the text, and a very useful
exercise. Goes hand-in-hand
with Use Cases.
Not about layout at first, but grows
to include it.
Start as white-board, evolve to
prototype.
Slide 14
UI: Some Obvious stuff
KISS: “Keep it Simple, Stupid!”
Is there such a thing as a design
that is too straight-forward?
Error checking at point-of-input
Clarity of flow – avoid context
switches
Above the fold
Slide 15
Architecture Options
Server-only
Legacy …
Client-only
Installed, local stuff
Appropriate for games, tools
Stand-alone products (CD-based)
Slide 16
Architecture Options – II
Client-server
Fat client, private protocols
Full control over PC, rich tools.
`
Slide 17
Architecture Options – III
Web-based
Client side: Browser, plus
HTTP server + DBMS server … or
HTTP server + Application Servers +
Database Server
`
Slide 18
Architecture Options – IV
Thin client = low-hassle
Lots you can do in a browser
without getting too complex
Think about deployment carefully
Java on the client is still a bit pokey
You are relying on the local Java
Virtual Machine
Slide 19
Scalability – Interface Servers
Interface: stateless aspects are
easy to scale - pool servers.
Assumes HTTP servers hold no
data.
www1
www2
Database Server
Load Balancer
www3
Slide 20
Scalability – Data Store
A bit harder to scale, as data
needs to stay in sync.
We use database replication,
one-way … “master-slave”.
Database Server
Application #2
Replication (read-only)
Agent
Application #1
Database Server
(Master)
Database Server
(read-only)
Application #3
Slide 21
Replication Pros and Cons
Pros:
Real-time replication
Optimized on target servers
Cons:
Can be hard to manage
Multiple server licenses
Slide 22
What Software Licenses Cost
Microsoft SQL Server
$5k per CPU for “Standard”
$25k per CPU for “Enterprise”
General Ledger package for a
Mid-size business: $50k - $100k
Search engine: $50k-$300k
Slide 23
What People Cost
Varies a ton, but:
Developers: $55k - $120k
QA Staff: $45k-$80k
Project Mgrs: $65k-$90k
Creative: $50k - $100k+
Add benefit costs, plus ~20%
Slide 24
What Hardware costs
HTTP server, w/o storage
1-U, dual CPU, RAM: ~$3k
Database server with 1 Tb fiber
~$15k for host
~$25k for fiber controller &
enclosure, with 16 drives
Slide 25
Architecture – Logical DMZ
HTTP Server
Public Internet
Database Server
Outer Firewall
Slide 26
Inner Firewall
Architecture – Physical
External
Network
Heart-beat
Public
Switch
Router
Slide 27
Internal
Network
DMZ
Heart-beat
Switch
Switch
Firewall
Firewall
Architecture – Clusters
Ethernet
Interface
heartbeat
Fiber Switch
Ethernet
Interface
Slide 28
RAID Array / SAN
Fiber Controller
Data Sizing
Estimate the size of your data.
Growth per minute/day/week?
Indexing needs more space too
Space is cheap, but adding to a
production system is not.
Backups?
Slide 29
Data Life Cycle
Your system collects and
produces data … how much?
Does data stay valuable?
When should it be archived?
When should it be deleted?
How much is too much?
Slide 30
Summary …
These few sessions have been
about communication.
Your project is a reflection of the
team that is created. The more
effective the team, the more
effective the project.
Do not let technology drive the
process.
Slide 31
Questions? Comments?
Your projects?
Slide 32