The System Life Cycle
Week 14
LBSC 690
Information Technology
Agenda
•	Questions

•	Systems analysis

•	Building complex systems

•	Managing complex systems

•	Final exam review
The System Life Cycle
•	Systems analysis
–	How do we know what kind of system to build?
•	User-centered design
–	How do we discern and satisfy user needs?
•	Implementation
–	How do we build it?
•	Management
–	How do we use it?
Systems Analysis
•	First steps:
–	Understand the task
•	Limitations of existing approaches
–	Understand the environment
•	Structure of the industry, feasibility study
•	Then identify the information flows
–	e.g., Serials use impacts cancellation policy
•	Only then can you design a solution
Analyze the Information Flows
•	Where does information originate?
–	Might come from multiple sources
–	Feedback loops may have no identifiable source
•	Which parts should be automated?
–	Some things are easier to do without computers
•	Which automated parts should be integrated?
•	What other systems are involved?
–	And what information do they contain? 
Analyzing Information Flows
•	Process Modeling 
–	Structured analysis and design
–	Entity-relationship diagrams
–	Data-flow diagrams

•	Object Modeling
–	Object-oriented analysis and design
–	Unified Modeling Language (UML)
Some Library Activities
•	Acquisition
•	Cataloging
•	Reference
–	Online Public Access Catalog (OPAC)
•	Circulation
•	Weeding
•	Reserve, recall, fines, interlibrary loan, …
•	Budget, facilities schedules, payroll, ...
Discussion Point:
Integrated Library System
•	What functions should be integrated?

•	What are the key data flows?

•	Which of those should be automated?
User-Centered Design
•	Start with user needs
–	Who are the present and future users?
–	How can you understand their needs?
•	Evaluate available technology
–	Off-the-shelf solutions
–	Custom-developed applications
•	Implement something
•	Evaluate it with real users
The Waterfall Model
•	Key insight: invest in the design stage
–	An hour of design can save a week of debugging!
•	The motivation behind DoD Standard 2167
–	Requirements
•	Specifies what the software is supposed to do
–	Specification
•	Specifies the design of the software
–	Test plan
•	Specifies how you will know that it did it
The Waterfall Model
The Spiral Model
•	Build what you think you need
–	Perhaps using the waterfall model
•	Get a few users to help you debug it
–	First an “alpha” release, then a “beta” release
•	Release it as a product (version 1.0)
–	Make small changes as needed (1.1, 1.2, ….)
•	Save big changes for a major new release
–	Often based on a total redesign (2.0, 3.0, …)
The Spiral Model
Some Unpleasant Realities
•	The waterfall model doesn’t work well
–	Requirements usually incomplete or incorrect

•	The spiral model is expensive
–	Redesign leads to recoding and retesting
The Rapid Prototyping Model
•	Goal: explore requirements
–	Without building the complete product
•	Start with part of the functionality
–	That will (hopefully) yield significant insight
•	Build a prototype
–	Focus on core functionality, not in efficiency
•	Use the prototype to refine the requirements
•	Repeat the process, expanding functionality
Rapid Prototyping + Waterfall
Implementation Requirements
•	Availability
–	Mean Time Between Failures (MTBF)
–	Mean Time To Repair (MTTR)
•	Capacity
–	Number of users for each application
–	Response time
•	Flexibility
–	Upgrade path
Alternative Architectures
•	Batch processing (e.g., recall notices)
–	Save it up and do it all at once
•	Timesharing (e.g., OPAC)
–	Everyone uses the same machine
•	Client-Server (e.g., Web)
–	Some functions done centrally, others locally
•	Peer-to-Peer (e.g., Kazaa)
–	All data and computation is distributed
Management Issues
•	Retrospective conversion
–	Even converting electronic information is expensive
•	Management information
–	Peak capacity evaluation, audit trails, etc.
–	Sometimes costs more to collect than it is worth!
•	Training
–	Staff, end-users
•	Privacy
Hands On: What Goes Wrong?
•	Check out Risks Digest for a random date
–	http://catless.ncl.ac.uk/Risks
–	Pick a random date near your birthday

•	Find a case of unexpected consequences

•	Try to articulate the root cause
–	Not the direct cause
Discussion Points:
Managing Complex Systems
•	Critical system availability
–	Why can’t we live without these systems?
•	Understandability
–	Why can’t we predict what systems will do?
•	Nature of bugs
–	Why can’t we get rid of them?
•	Auditability
–	How can we learn to do better in the future?
Critical Infrastructure Protection
•	Telecommunications
•	Banking and finance
•	Energy
•	Transportation
•	Emergency services
•	Food and agriculture
•	Water
•	Public health
•	Postal and shipping
•	Defense industrial base
•	Chemical industry and hazardous materials
National Cyberspace Strategy
•	Response system
–	Analysis, warning, response, recovery
•	Threat and vulnerability reduction
•	Awareness and training program
–	Return on investment, best practices
•	Securing government systems
•	International cooperation 
Summary
•	Systems analysis
–	Required for complex multi-person tasks
•	User-centered design
–	Multiple stakeholders complicate the process
•	Implementation
–	Architecture, open standards, …
•	Management
–	Typically the biggest cost driver
Talk to Me About the Exam!
•	About 5 questions
–	Same question styles as the midterm
–	Some may require use of the computer
•	Comprehensive - covers the entire course
–	Emphasis and structure from the second half
•	Two hours
•	Post-exam discussion at Bentley’s
The Grand Plan
Computer Systems
•	Hardware 
–	Types of hardware
–	Storage hierarchy
–	Moore’s law
•	Software
–	Types of software
–	Types of interfaces
Networks
•	Types of Networks
–	LAN, WAN, Internet, Wireless
•	Packet Switching
–	Ethernet, routers, routing tables
•	Layered Architecture and protocols
–	TCP/UDP
–	IP address/domain name
•	Encryption

Structured Documents
Multimedia
Human-Computer Interaction
•	Human-machine synergy

•	Mental models

•	Input and output devices

•	Interaction styles
–	Direct manipulation, menu, language based
Programming
•	Programming languages
–	Machines require low-level specific instructions
–	Humans require high-level abstraction

•	Can create any behavior from 3 control structures
–	Sequential execution
–	Conditional
–	Iteration

•	Javascript interpreters are in Web browsers
Databases
•	Structured information
–	Field->record->table->database
–	Primary key
•	Normalized tables (relations)
–	Remove redundancy, inconsistency, error
–	Easy update, search
•	Join links tables together
–	Through foreign key
•	Access provides visual operations
Web-Database Integration
•	Access “Data Access Pages”

•	PHP

•	SQL
Computer-Mediated Communication
•	Synchronous / Asynchronous
•	Remote / local
•	One-to-one / many-to-many

•	Computer-Supported Cooperative Work

The Web
•	Huge, dynamic, redundant, and diverse

•	Multimedia, multilingual, multicultural

•	Deep Web

•	Internet Archive 
Search
•	Exact match

•	Term-based ranked retrieval

•	Recommender systems 

•	Web search
–	Links and anchor text

•	Evaluation
Policy
•	Ownership
–	Equitable access 
–	Controlled access
•	Identity
–	Choosing good passwords
•	Privacy
–	Government / commercial
•	Integrity
Life Cycle
•	Systems analysis

•	Software development models

•	Managing complex systems
R.J. Bentley’s Filling Station