The System Life Cycle Week 14 LBSC 690 Information Technology.

Slides:



Advertisements
Similar presentations
Systems Development Environment
Advertisements

Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
MIS 2000 Class 20 System Development Process Updated 2014.
“Systems” ILS, DAMS, and other Acronyms Week 12 LBSC 690 Information Technology.
Software Engineering Session 14 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
Processes. Outline Definition of process Type of processes Improvement models Example Next steps… 1.
Requirement Analysis Week 10 INFM 603. Agenda Systems analysis –Required for complex multi-person tasks User-centered design –Multiple stakeholders complicate.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
4.1.5 System Management Background What is in System Management Resource control and scheduling Booting, reconfiguration, defining limits for resource.
Web-Database Integration Week 8 LBSC 690 Information Technology.
The System Life Cycle Week 14 LBSC 690 Information Technology.
The System Life Cycle Week 14 LBSC 690 Information Technology.
Introduction to Web Database Processing
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
LBSC 690: Session 12 Building and Deploying Systems Jimmy Lin College of Information Studies University of Maryland Monday, November 26, 2007.
Integration Week 7 LBSC 690 Information Technology.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
The System Life Cycle Week 12 LBSC 690 Information Technology.
Library Automation and Digital Libraries Class #5 LBSC 690 Information Technology.
1 Chapter 6 Systems Development. 2 Learning Objectives  Know the characteristics of systems development.  Understand what professional systems analysts.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Data Centers and IP PBXs LAN Structures Private Clouds IP PBX Architecture IP PBX Hosting.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
System Analysis and Library Automation Session 12 LBSC 690 Information Technology.
Architectural Design.
Client/Server Architectures
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Chapter 11 Databases.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
IT Terminology Quiz VSB 1002: Business Dynamics II Spring 2009.
Class 5 Computer Software. Outline System Software Application Software (“Applications”) Markup languages for Internet (HTML, XML) User Interface Client-Server.
ITEC224 Database Programming
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
CHAPTER FOUR COMPUTER SOFTWARE.
SCSC 311 Information Systems: hardware and software.
Chapter 4 Networking and the Internet. © 2005 Pearson Addison-Wesley. All rights reserved 4-2 Chapter 4: Networking and the Internet 4.1 Network Fundamentals.
Requirements Analysis Session 12 INFM 603. Different Perspectives on Design Thanks to Satish Mishra.
Computer Networks. Introduction Computer Network2 A History Lesson of Networking 1969 – ARPANET, first packet switched network consist of UCLA, Stanford,
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
Class 13 LBSC 690 Information Technology More Multimedia Compression and Recognition, and Social Issues.
Requirements Analysis Session 12 INFM 603. The System Life Cycle Systems analysis –How do we know what kind of system to build? User-centered design –How.
Systems Analysis and Design in a Changing World, Fourth Edition
9 Systems Analysis and Design in a Changing World, Fourth Edition.
William Stallings Data and Computer Communications
1 Pre-Introduction What is computer network?. 2 Pre-Introduction Suppose you want to build a computer network The question is: –What available technologies.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
System Analysis and Library Automation
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Sistemas de Información Agosto-Diciembre 2007 Sesión # 9.
Text Retrieval and Spreadsheets Session 4 LBSC 690 Information Technology.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Final Review Systems Analysis and Design in a Changing World, 4th Edition 1 Final Review u Chapters 1-6, 8-10, 13, 14, 15 u Multiple choice, short answer,
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
(class #2) CLICK TO CONTINUE done by T Batchelor.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Software Engineering Session 12 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
Information Retrieval in Practice
Information Systems Development
Web Programming Language
Requirements Analysis
Presentation transcript:

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! 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

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 Choose Functionality Build Prototype Initial Requirements Write Specification Create Software 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

Total Cost of Ownership

Open Source: Pros Peer-reviewed code Dynamic community Iterative releases, rapid bug fixes Released by engineers, not marketing people High quality No vendor lock-in Simplified license management

Cons of Open Source Dead-end software Fragmentation Developed by engineers, often for engineers Community development model Inability to point fingers

Hands On: What Goes Wrong? Check out Risks Digest for a random date – –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 Hazardous materials 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

The Grand Plan Networking HTML/XML Multimedia ComputersHCI Search CMC Web Life Cycle Policy Databases Programming Web Databases Midterm Project Final Quiz LBSC 733 LBSC 795 LBSC 795 LBSC 790 LBSC 793 INFM 718N

Computers 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

Structured Documents My Browser The Web –HTTP, HTML, URL XML

Multimedia Compression, compression, compression –Image: lossy vs loseless –Video: frames are alike –Speech: voice predictable –Music: masking Streaming Media Sever Internet Buffer

Programming Programming languages –Machines require specific instructions –Humans require high-level abstraction Control structures –Sequential execution –Conditional –Iteration Javascript ??

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 Microsoft “Data Access Pages” Server-side database integration Ajax Mythical person-month

Human-Computer Interaction Human-machine synergy Mental models Input and output devices Interaction styles –Direct manipulation, menu, language based

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 Engines 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

System Life Cycle Systems analysis Software development models Managing complex systems

R.J. Bentley’s Filling Station Monday May 19, 2008 at 8:30 P.M.