Saturday, August 21, 2004

Systems Analysis and Design


Book: Systems Analysis and Design 6e Kendell & Kendall
Chapter 1 Assuming the Role of the System Analyst

  1. Types of Systems
    1. Transaction Processing Systems
      1. TPS are computerized information systems developed to process large amounts of data for routine transactions
      2. They span boundaries inside and outside the organization
    2. Office Automation Systems and Knowledge Work Systems
      1. OAS support data workers who analyze and ransform data then share it
        1. Covers word processing, spreadsheets, e-mail and the like.
      2. KWS aids professional workers in sharing new knowledge they create.
    3. Management Information Systems
      1. MIS includes the element of TPS talked about before
      2. Inputs information from many sources (people and computers) and outputs information to help management make decisions
      3. Stores information in databases
    4. Decision Support Systems
      1. DSS similar to MIS
      2. Emphasizes the support of decision making
      3. Decision is still up to manager using it
    5. Expert Systems and Artificial Intelligence
      1. AI is all encompassing field for expert systems
      2. AI develops machines that mimic intelligent behavior
      3. Expert Systems use AI to solve problems of users by selecting the best solution unlike DSS suggesting solution
    6. Group Decision Support Systems and Computer Collaborative Work Systems
      1. GDSS bring groups together to help solve problems by using various software tools
      2. Also called CCWS or groupware
    7. Executive Support Systems
      1. ESS helps executives interact with environments
  2. Integrated Technologies for Systems
    1. Ecommerce Applications and Web Systems
    2. Enterprise Resource Planning Systems
    3. Systems for Wireless and Handheld Devices
      1. Wireless systems need to made secure
      2. Software needs to be developed to make PDAs and the like useable by people in company
    4. Open Source Software
  3. Need for System Analysis and Design
    1. You can not do any thing without proper planning first
    2. System Analysis brings all the parties together to build a system that will work
  4. Roles of System Analyst
    1. System Analyst as Consultant
      1. Hired as a temporary person
        1. Fresh eyes for problem - good
        2. Does not know organizational culture - bad
      2. Rely on users and management to lead to where problems could be
    2. System Analyst as Supporting Expert
      1. Regular employee at company
      2. Usually not full blown Systems Analyst project, just supporting people by making small changes and tweaking things
    3. System Analyst as an Agent of Change
      1. You are an agent of change if participate in the System Development Life Cycle
      2. If change, defined as needed improvements, is required you help plan for that change
    4. Qualities of the System Analyst
      1. Problem solver
      2. Know various aspects of computers
      3. Self-disciplined and self-motivated
  5. The System Development Life Cycle
    1. Identifying Problems, Opportunities, and Objectives
      1. Look at what is occurring then pinpoint the problems
      2. Identify what the objectives are to be
      3. Output from this phase will be feasibility study so group can decide to continue or not
    2. Determining Information Requirements
      1. Determine what people need
        1. Interview people doing job
        2. Observe people doing job
      2. Find out current method and why it is used
      3. Change current method if it needs changing
    3. Analyzing System Needs
      1. Use tools to diagram what is happening
      2. Create structured decisions to help respond to actions
        1. structured English
        2. decision tables
        3. decision trees
      3. When done, cost should be established for each possible resolution and analyst makes recommendation
    4. Designing the Recommended System
      1. Design user interface
      2. Design data storage needs
      3. Design controls and backup procedures to protect data
    5. Developing and Documenting Software
      1. Develop material so programmer can understand what is needed (ex. Pseudo code)
      2. Develop documentation to help user (manuals, FAQs, etc.)
    6. Testing and Maintaining the System
      1. Test system before turned over to users (not after)
      2. Maintenance is on going item. Tweak system to fix problems as they rise
    7. Implementing and Evaluating the System
      1. Last stage
      2. Train the users to use new system (or revisions of old)
      3. Evaluate if system does job
      4. These steps are not cyclical, but one steps problems may require you to backtrack to previous ones
    8. The Impact of Maintenance
      1. Estimates of 48 to 60 % of time in job involves maintenance
      2. At some point maintaining system cost more than developing new system
  6. Using CASE Tools
    1. Reasons for Using CASE Tools
      1. Increased analyst productivity
        1. tools make it easy for modifications to be done to system
        2. CASE tools can create program code for company
      2. Improve Analyst-User communications
      3. Integrate life cycle activities - flow from one step to next easily
      4. Accuracy in assessing maintenance changes
  7. Upper and Lower CASE
    1. Upper CASE Tools
      1. Create and modify the system design
      2. Support for modeling an organizations layout
      3. Prototyping of screens and reports
    2. Lower CASE Tools
      1. Generate source code
        1. Quicker than programmers can write it
        2. lower cost on generating code and maintenance
        3. Code produced in multiple languages supports easy migration
        4. Easy modification of already existing CASE designs speeds development.
        5. Generated code free of errors in coding, only design errors can be there.
  8. Software Reverse Engineering and Reengineering
    1. Extends life of legacy software
    2. Code is revised back to source code and then put into CASE tools to revise it
  9. Object-Oriented System Analysis and Design
    1. Approach to design software that must be changed rapidly to meet needs
    2. OOL uses Universal Modeling Language (UML) to break system to case model
    3. Objects represent computer things, people, orders, etc.
  10. Extreme Programming and Other Alternative Methodologies
    1. Extreme Programming (XP)

No comments:

Post a Comment