400 likes | 418 Views
Learn about system analysis, user-centered design, and complex system management. Explore Waterfall, Spiral, and Rapid Prototyping models. Discover integrated library systems and management concerns. Also, delve into requirements, testing, and alternative architectures in IT.
E N D
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 Requirements Specification Software Test Plan
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 2.3 1.2 0.5 1.1 2.2 1.0 2.1 2.0 3.0
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 Update Requirements Write Specification Initial Requirements Choose Functionality Create Software Build Prototype Write Test Plan
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://groups.google.com/groups?q=comp.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?
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 Critical Infrastructure Protection SCADA: Supervisory Control and Data Acquisition
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
Computers Web Networks Search XML Integration Interaction Multimedia Midterm Communication Programming Project Policy Databases Final Life Cycle 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 • The Web • HTTP, HTML, URL • XML • DTD, XSL, XLink My Browser
Multimedia • Compression, compression, compression • Images: Lossy vs loseless • Video: Frames are alike • Speech: Predictable characteristics • Music: Masking • Streaming Media Sever Buffer Internet
Programming • Balancing machines and human needs • Machines require low-level specific instructions • Humans require high-level abstraction • Object models represent aspects of reality • 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 • “Join” links tables • Foreign key • Visual programming in Access
Integration • Multimedia • SMIL • Web-accessible databases • Cold Fusion
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
Human-Computer Interaction • Human-machine synergy • Mental models • Input and output devices • Interface types • Direct manipulation, menu, language based
Computer-Mediated Communication • Synchronous / Asynchronous • Remote / local • One-to-one / many-to-many • Computer-Supported Cooperative Work • Computers as educational media
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 Monday Dec 15, 2003 at 8:00 P.M.