• System Analysis and Design


    chapter 01

    1.Software Development and Systems Analysis and Design

    2.Systems Development Lifecycle (SDLC) 6 steps

    1. Identify the problem or need and obtain approval
    2. Plan and monitor the project
    3. Discover and understand the details of the problem or need
    4. Design the system components that solve the problem
    5. Build, test, and integrate system components
    6. Complete system tests and then deploy the solution

    System development process – the actual approach used to develop a particular information system (aka: methodology)

    • Unified process (UP)
    • Extreme programming (XP)
    • Scrum

    Most processes/methodologies now use Agile and Iterative development


    3.Iterative Development

    Agile development – an information system development process that emphasizes flexibility to anticipate new requirements during development

    • Fast on feet; responsive to change

    Iterative development -- an approach to system development in which the system is “grown” piece by piece through multiple iterations

    • Complete small part of system (mini-project), then repeat processes to refine and add more, then repeat to refine and add more, until done  

    4.Introduction to Ridgeline Mountain Outfitters (RMO)


    Notes on Managing the Project
    Lots of design diagrams shown

    • Design in a complex activity with multiple levels
    • One diagram builds on/complements another
    • Not everything is diagrammed, especially for a small project. Pick and choose.

    Programming is also done concurrently

    • You don’t design everything then code
    • You do some design, some coding, some design, some coding

    5.Developing RMO’s Tradeshow Systems

    Initial Activities – pre-project
    Core Process 1
    identify the problem and document the objective of the system (core process 1)

    • Preliminary investigation
    • System Vision Document

    Obtain approval to commence the project (core process 1)

    • Meet with key stakeholders, including executive management
    • Decision reached, approve plan and budget

    Core Process 2: Plan the Project

    • Determine the major components (functional areas) that are needed
    • Define the iterations and assign each function to an iteration
    • Determine team members and responsibilities

    Core Process 3: Discover and Understand Details

    • Do preliminary fact-finding to understand requirements
    • Develop a preliminary list of use cases and a use case diagram
    • Develop a preliminary list of classes and a class diagram
    • Do in-depth fact-finding to understand requirements
    • Understand and document the detailed workflow of each use case

    Core Process 4: Design System Components

    • Define the user experience with screens and report sketches
    • Design the database (schema)
    • Design the system’s high level structure
    • Continue with design details
    • Proceed use case by use case

    Core Process 5: Build, Test, and Integrate System Components

    • Continue programming (build)
    • Build use case by use case
    • Perform unit and integration tests

    Core Process 6: Complete System Testing and Deploy the System

    • Perform system functional testing
    • Perform user acceptance testing
    • Possibly deploy part of system

    6. System Analyst 

    The Analyst as a Business Problem Solver
    Systems That Solve Business Problems
    Required Skills of the Systems Analyst
    Analysis-Related Careers

    chapter 02

    overview

    This chapter expands the SDLC processes to cover a wider range of concepts, tools and techniques

    Core process 3: Discover and understand the details of the problem or need—is the main focus of systems analysis

    Systems analysis activities are detailed in this chapter

    Strategic Plan

    • Technology architecture— the set of computing hardware, network hardware and topology, and system software employed by the organization
    • Application architecture—the information systems that supports the organization (information systems, subsystems, and supporting technology)

    1.Describe the activities of systems analysis

    • Gather Detailed Information
      •   Interviews, questionnaires, documents, observing business processes, researching vendors, comments and suggestions
    • Define Requirements
      •   Modeling functional requirements and non-functional requirements
    • Prioritize Requirements
      •   Essential, important, vs. nice to have
    • Develop User-Interface Dialogs
      •   Flow of interaction between user and system
    • Evaluate Requirements with Users
      •   User involvement, feedback, adapt to changes

    2.Explain the difference between functional and nonfunctional requirements

    System Requirements = Functional requirements + Non-functional requirements

    Functional Requirements– the activities the system must perform

    • Business uses, functions the users carry out

    Non-Functional Requirements– other system characteristics

    • Constraints and performance goals

    FURPS+ Requirements Acronym

    Additional Requirements Categories

    Design constraints –

    • Specific restrictions for hardware and software

    Implementation requirements

    • Specific languages, tools, protocols, etc.

    Interface requirements

    • Interface links to other systems

    Physical requirements

    • Physical facilities and equipment constraints

    Supportability requirements

    • Automatic updates and enhancement methods

    3.Identify and understand different kinds of stakeholders and their contributions to requirements definition

    Stakeholders– persons who have an interest in the successful implementation of the system
    Internal Stakeholders– persons within the organization
    External stakeholders – persons outside the organization
    Operational stakeholders – persons who regularly interact with the system
    Executive stakeholders– persons who don’t directly interact, but use the information or have financial interest

    4.Describe information-gathering techniques and determine when each is best applied

    Interviewing users and other stakeholders

    how: 

    Prepare detailed questions
    Meet with individuals or groups of users
    Obtain and discuss answers to the questions
    Document the answers
    Follow up as needed in future meetings or interviews

    Distributing and collecting questionnaires

    Reviewing inputs, outputs, and documentation

    Observing and documenting business procedures

    • watch and learn 
    • document with activity diagram

    Researching vendor solutions

    • See what others have done for similar situations
    • White papers, vendor literature, competitors

    Collecting active user comments and suggestions

    • Feedback on models and tests
    • Users know it when the see it

    5.Describe the role of models in systems analysis

    role: define requirements 

    how: after collecting information, create models

    types: 

    • Textual model– something written down, described
    • Graphical models– diagram, schematic
    • Mathematical models– formulas, statistics, algorithms

    tools:

    Unified Modeling Language (UML) : Standard graphical modeling symbols/terminology used for information systems

    reasons for modeling:

    • Learning from the modeling process
    • Reducing complexity by abstraction
    • Remembering all the details
    • Communicating with other development team members
    • Communicating with a variety of users and stakeholders
    • Documenting what was done for future maintenance/enhancement

    some model examples:

    6.Develop UML activity diagrams to model workflows

    Workflow– sequence of processing steps that completely handles one business transaction or customer request

    Activity Diagram: showing a graphical model of a workflow ------  a UML diagram

    SUMMARY

    Systems analysis activates correspond to the core SDLC process Discover and understand details

    System projects originate from the information system strategic plan, which contains an technology architecture plan and an application architecture plan

    Systems analysis involves defining system requirements– functional and non-functional

    • Analysis activities include
    • Gather detailed information
    • Define requirements
    • Prioritize requirements
    • Develop user-interface dialogs
    • Evaluate requirements with users

    FURPS+ is the acronym for functional, usability, reliability, performance, and security requirements

    Stakeholders are the people who have an interest in the success of the project

    There are internal vs. external stakeholders and operational vs. executive stakeholders

    Chapter 10

    outline
    The System Development Life Cycle
    Methodologies, Models, Tools, and Techniques
    Agile Development
    The Unified Process, Extreme Programming, and Scrum

    overview

    Predictive versus Adaptive SDLC variations
    Activities and Tasks of System Support
    Models, Methodologies, Tools and Techniques
    Agile Development

    Specific SDLC Approaches

    1. Unified Process (UP)
    2. Extreme Programming (XP)
    3. Scrum

    The System Development Life Cycle (SDLC)

    1. Predictive Approach to the SDLC

    • Waterfall model
    • Assumes the project can be planned in advance and that the information system can be developed according to the plan
    • Requirements are well understood and/or low technical risk

    2. Adaptive Approach to the SDLC

    • Iterative model (as see in this text)
    • Assumes the project must be more flexible and adapt to changing needs as the project progresses
    • Requirements and needs are uncertain and/or high technical risk

    1. Traditional Predictive SDLC

    Earlier approach based on engineering
    Typically have sequential Phases

    • Phases are related groups of development activities, such as planning, analysis, design, implementation, and deployment

    Waterfall model

    • SDLC that assumes phases can be completed sequentially with no overlap or iteration
    • Once one phase is completed, you fall over the waterfall to the next phase, no going back

    2. Modified Waterfall with Overlapping Phases

    • More flexibility, but still assumes predictive planning and sequential phases

    3. Newer Adaptive SDLC

    Emerged in response to increasingly complex requirements and uncertain technological environments
    Always includes iterations where some of design and implementation is done from the beginning
    Many developers claim it is the only way to develop information systems
    Many IS managers are still sceptical due to apparent lack of overall plan

    Adaptive Approaches

    1. incremental development

    • Completes portions of the system in small increments and integrated as the project progresses
    • Sometimes considered “growing” a system

    2. Walking Skeleton
    The complete system structure is built first, but with bare-bones functionality

    A Generic Adaptive Approach

    • Six Core Processes go across iterations
    • Multiple Iterations as required

    Methodologies, Models, Tools, and Techniques

    1. Methodologies

    • Provides guidelines for every facet of system development: What to do when, why and how
    • Specifies an SDLC with activities and tasks
    • Specifies project planning and project management models and reporting
    • Specifies analysis and design models to create
    • Specifies implementation and testing techniques
    • Specifies deployment and support techniques

     Other term used is System Development Process

    A Methodology includes a collection of techniques that are used to complete activities and tasks, including modeling, for every aspect of the project

    2. Model

    • An abstraction of an important aspect of the real world.
    • Makes it possible to understand a complex concept by focusing only on a relevant part
    • Each model shows a different aspect of the concept
    • Crucial for communicating project information
    1. In IS, some models are of system components that will be developed
    2. Other models are used to manage the development process

    3. Tools 

    Software applications that assists developers in creating models or other components required for a project 

    Integrated Development Environment (IDE)

    • set of tools that work together to provide a comprehensive development environment

    Visual Modeling Tools

    • Tools to create graphical models

    4. Technique

    A collection of guidelines that help an analyst complete an activity or task

    Learning techniques is the key to having expertise in a field

    Agile Development

    • A guiding philosophy and set of guidelines for developing information systems in an unknown, rapidly changing environment
    • Chaordic
      • A term for adaptive projects – chaotic yet ordered

    Agile Values in “Manifesto for Agile Software Development”

    1. Value responding to change over following a plan
    2. Value individuals and interactions over processes and tools
    3. Value working software over comprehensive documentation
    4. Value customer collaboration over contract negotiation

    Agile Modeling (AM) – 12 Principles

    • A philosophy – build only necessary models that are useful and at the right level of detail

    1. Develop software as the primary goal

    • Don’t get distracted by documentation or models

    2. Enable the next effort as your secondary goal

    • Be aware of next step versions or revisions

    3. Minimize your modeling activity

    • Only build what helps move the project forward

    4. Embrace change and change incrementally

    • Take small steps that keep you on-track and that can be reversed if necessary

    5. Model with a purpose

    • Model to understand
    • Model to communicate

    6. Build multiple models

    • Look at problems from different perspectives

    7. Build high-quality models and get feedback
    8. Focus on content rather than representation

    • Informal hand-drawn models are sometimes okay
    • Always focus on stakeholder needs

    9.  Learn from each other with open communication
    10. Know your models and how to use them
    11. Adapt to specific project needs
    12. Maximize stakeholder RMI

    The Unified Process (UP)

    • The UP was the early leader in adaptive approaches
    • UP and UML (Unified Modeling Language) were developed together

    UP Phases

    organize iterations into 4 primary areas of focus during a project

    1. Inception phase – getting the project started
    2. Elaboration – understanding the system requirements
    3. Construction – building the system
    4. Transitions – preparing for and moving to deploying the new system

     

    Unified Process – Disciplines

    • A set of functionally related development activities

    Each discipline are all the activities related to achieving one objective in the development project
    Two types of disciplines

    1. Development disciplines
      • Business modeling
        Requirements
        Design
        Implementation
        Testing
        Deployment

    2. Management – planning and control disciplines
      • Configuration and change management
        Project management
        Environment

    Extreme Programming (XP)

    Takes the best practices of software development and extends them “to the extreme”

    • Focus intensely on proven industry practices
    • Combine them in unique ways to get better results

    XP Core Values

    1. Communication
    2. Simplicity
    3. Feedback
    4. Courage

    XP Practices

    1. Planning – based on user stories
    2. Testing – thorough testing at every step
    3. Pair Programming – watch, inspect, trade off
    4. Simple Designs – Agile modeling principles
    5. Refactoring – redo and cleanup as you go
    6. Owning the code collectively – egoless development, anyone can review and improve code
    7. Continuous integration – grow the software continuously
    8. On-site customer – get sign-off as you go
    9. System metaphor – what should the final system look like
    10. Small releases – turn over to user frequently
    11. Forty-hour work week – don’t overload the developers
    12. Coding standards – follow standards for code

    XP Project Approach

    Three level approach (three rings)

    • Outside ring – create user stories and define acceptance tests
    • Middle ring – conduct tests and do overall planning
    • Inside ring – iterations of coding and testing

    SCRUM

    Combination of principles of Rugby and Agile

    • Intense effort involving the entire team for a defined period of time

    Product backlog 产品待办事项

    • Prioritized list of user requirements

    Product owner

    • The client stakeholder who controls backlog

    Scrum master

    • Scrum project manager

    Scrum sprint

    • A time-controlled mini-project to implement part of the system

    Scope of each sprint is frozen (but can be reduced if necessary)
    Time period is kept constant
    Daily Scrum meeting

    • What have you done since the last daily Scrum (during the last 24 hours)?
    • What will you do by the next daily Scrum?
    • What kept you or is keeping you from completing your work?

    SUMMARY

    • This chapter covers approaches to system development in more detail
    • There are two approaches to the SDLC: Predictive and Adaptive
    • A predictive SDLC, also known as the waterfall model, is used when it is possible to plan the project completely in advance
    • An Adaptive SDLC, which uses iteration, is used when the requirements are less certain and the project will need to react to changes
    • All new System development project use a methodology (or development process) and many are available. A methodology includes an SDLC and tools, techniques, and models
    • Agile development is the current trend in system development
      •   Unified Process is a formal iterative approach which uses UML models (with Agile philosophy) and UP disciplines
      •   Extreme Programming (XP) is an iterative approach which takes good practices to the extreme
      •   Scrum is an iterative approach using a Scrum Sprint

    chapter 11

    Outline

    Principles of Project Management
    Activities of SDLC Core Process 1: Identify the Problem and Obtain Approval
    Activities of SDLC Core Process 2: Plan and Monitor the Project

    Principles of Project Management

    Categories of project success

    • Successful projects – on time, within budget, on scope
    • Challenged projects – failure in one area
    • Failed projects – cancelled or not used

    Recent years have seen some improvement, but still 1/3 to 1/2 of projects are challenged or fail

    The Need for Project Management

    Reasons for failure

    • Undefined project management practices
    • Poor IT management and poor IT procedures
    • Inadequate executive support for the project
    • Inexperienced project managers
    • Unclear business needs and project objectives
    • Inadequate user involvement

    The Role of the Project Manager

    Project Management

    • Organizing and directing other people to achieve a planned result within a predetermined schedule and budget
    • The processes used to plan the project and then to monitor and control it.

    Project Manager

    • Great need for effective project managers
    • Internally managing people and resources
    • Externally conducting public relations

    Project Manager Responsibilities

    Internal Responsibilities

    • Developing the project schedule
    • Recruiting and training team members
    • Assigning work to teams and team members
    • Assessing project risks
    • Monitoring and controlling project deliverables and milestones

    External Responsibilities

    • Reporting the project’s status and progress
    • Working directly with the client (the project’s sponsor) and other stakeholders
    • Identifying resource needs and obtaining resources

    Additional Project Stakeholders

    Client

    • the person or group that funds the project

    Oversight Committee

    • clients and key managers who review the progress and direct the project

    Users

    • the person or group of people who will use the new system

    Project Management and Ceremony

    Ceremony

    • The level of formality of a project; the rigor of holding meetings and producing documentation

    High Ceremony

    • Meetings are often held on a predefined schedule, with specific participants, agendas, minutes, and follow-through
    • Specifications are formally documented with an abundance of diagrams and documentation and are frequently verified through formal review meetings between developers and users.

    Low Ceremony

    • Meetings occur in the hallway or around the water cooler.
    • Written documentation, formal specifications, and detailed models are kept to a minimum
    • Developers and users usually work closely together on a daily basis to define requirements and develop the system

    Project Management Body of Knowledge (PMBOK)

    1. Project Integration Management—Integrating all the other knowledge areas into one seamless whole
    2. Project Scope Management—Defining and controlling the functions that are to be included in the system as well as the scope of the work to be done by the project team
    3. Project Time Management—Creating a detailed schedule of all project tasks and then monitoring the progress of the project against defined milestones
    4. Project Cost Management—Calculating the initial cost/benefit analysis and its later updates and monitoring expenditures as the project progresses
    5. Project Quality Management—Establishing a comprehensive plan for ensuring quality, which includes quality control activities for every phase of a project
    6. Project Human Resource Management—Recruiting and hiring project team members; training, motivating, and team building; and implementing related activities to ensure a happy, productive team
    7. Project Communications Management—Identifying all stakeholders and the key communications to each; also establishing all communications mechanisms and schedules
    8. Project Risk Management—Identifying and reviewing throughout the project all potential risks for failure and developing plans to reduce these risks
    9. Project Procurement Management—Developing requests for proposals, evaluating bids, writing contracts, and then monitoring vendor performance
    10. Project Stakeholder Management—Identifying and communicating with the stakeholders of the new system

    “Agile” Project Management

    Agile Scope Management

    • Scope is not well understood, but needs to be controlled

    Agile Time Management

    • Schedule must be flexible due to changes

    Agile Cost Management

    • Costs are more difficult to estimate

    Agile Risk Management

    • Higher risk aspects of project are completed first

    Agile Quality Management

    • Quality assessed after each iteration

    Activities of Core Process 1: Identify the Problem and Obtain Approval

    1. identify the Problem

    IS Development Projects usually:
    Respond to an opportunity

    • Strategic initiative
    • Something that provides competitive advantage

    Resolve a problem

    • Operational issues keep coming up
    • User needs aren’t being met

    Respond to an external directive

    • Legislation requires new form of reporting
    • Changes in tax laws or regulations

    System Vision Document
    Problem Description

    • What is the problem and idea for the solution?

    System Capabilities

    • What are the capabilities the new system will have?
    • Helps define the scope

    Business Benefits

    • The benefits that accrue to the organization
    • Tangible (in dollars) and intangible benefits

    2. Quantify Project Approval Factors

    1. Estimated Time for Completion
    2. Estimated Cost for Development
    3. Estimated Cost for Support
    4. Anticipated Benefits from New System
    5. Tangible “Dollar” Benefits: Cost/Benefit Analysis

    Cost/benefit analysis

    Cost/benefit analysis

    • comparing costs and benefits to see if the net result is plus or minus

    Net Present Value (NPV)

    • the present value of dollar benefits and dollar costs of a particular investment

    Break-even Point

    • point in time at which benefits and costs are equal

    Payback Period

    • the time period after which the dollar benefits have offset the dollar costs

    Tangible Benefit

    • a benefit that can be measured or estimated in terms of dollars

    Intangible Benefit

    • a benefit that accrues to an organization but that can’t be measured quantitatively or estimated accurately
    • Increased levels of service
      Increased customer satisfaction
      Survival—need to do it to compete
      Need to develop in-house expertise

    3. Determine Project Risk and Feasibility

    • Determine the organizational risks and feasibility
    • Evaluate the technological risks and feasibility
    • Assess the resource risks and feasibility
    • Identify the schedule risks and feasibility

    4. Review with Client and Obtain Approval

    • Executive committee reviews and approves
    • Board must review and approve for very large projects
    • Involved stakeholders need to understand what is expected of them
    • IS department needs to know what to do for staffing and support
    • Whole organization should be made aware of the project and its importance

    Activities of Core Process 2: Plan and Monitor the Project

    1. Establish the Project Environment

    Project manager must establish project parameters and the work environment:

    • Recording and communicating—internal and external
    • Work environment

      • Workstations, software development tools (IDE), servers and repositories, office and meeting space, support staff

    • Process and procedures followed
      • Reporting and documentation, programming approach, testing, deliverables, code and version control

    In other words, tailor and operationalize the methodology being used

    Electronic digital repositories of information

    Work Environment – Tools

    • Personal computer(s) and/or workstation(s)
    • Personal development software and tools
    • Development server with repositories, sandboxes, and communication tools
    • Office space, conference rooms, and equipment, including printers, scanners, and projectors
    • Support staff

    2. Schedule the Work

    Project manager must establish initial project schedule and keep adjusting: 

    1. Project Iteration Schedule

    2. Detailed Work Schedule ( 3 steps )

      1. Develop a Work Breakdown Structure (WBS)
        •  when completed
          task definition - clear
          1-5 days

      2. Estimate effort and identify dependencies
      3. Create a schedule using a Gantt chart
        •  Shows task, duration, start date, predecessors, and resources

    3. Staff and Allocate Resources

    Staffing activity tasks consists of 5 tasks:

    1. Developing a resource plan for the project
    2. Identifying and requesting specific technical staff
    3. Identifying and requesting specific user staff
    4. Organizing the project team into work groups
    5. Conducting preliminary training and team-building exercises

    4. Evaluate Work Processes

    5. Monitor Project Progress and Make Corrections

    SUMMARY

    • Project management is an important and challenging career role. Information systems projects do not have a great success rate, and project management knowledge and skills are valued and needed to improve this record.
    • Project management is directing other people to achieve a planned result on schedule and on budget. Project managers have internal and external responsibilities.
    • Project managers work with clients, who fund the project, an oversight committee which approves and reviews progress, and users who will directly interact with the system.
    • The discipline of project management is organized into the Project Management Body of Knowledge (PMBOK) that includes 10  knowledge areas. Project managers should study and digest this body of knowledge.
    • Managing a project can be at a high or low level of ceremony, meaning the degree that the project management processes are formal and documented. Agile project management is usually used with adaptive life cycles and low ceremony.
    • The SDLC in this text includes two Core Processes that involve the project manager:
      •   1) Identify the problem and obtain approval and 2) Plan and monitor the project. This chapter discusses the activities or both Core Process.
    • The core process Identify the problem and obtain approval includes the following activities:
      •   1) identify the problem, 2) quantify project approval factors, 3) perform risk and feasibility analysis, and 4) review with client and obtain approval.
    • A key deliverable is the System Vision Document, which includes a problem description, an overview of system capabilities, and a list of business benefits. Key project approval factors include time estimate, cost estimate, and cost/benefit analysis. Additionally, risk and feasibility factors are organizational, technological, resource, and schedule.
    • The core process Plan and monitor the project includes the following activities:
      •   1) establish the project environment, 2) schedule the work, 3) staff and allocate resources, 4) evaluate work processes, and 5) monitor progress and make corrections.
    • Scheduling the work includes a project iteration schedule and detailed work schedules. A work breakdown structure (WBS) lists tasks to be completed. Dependencies and time estimates are also considered and shown in a Gantt chart.
  • 相关阅读:
    一个生成随机颜色的js函数
    实战vue代码
    vue练习用免费开源api大全
    vue-resource插件使用
    专题 查找与排序的Java代码实现(一)
    十字链表的画法
    20162322 朱娅霖 作业009 堆和优先队列
    20162322 朱娅霖 作业008 二叉查找树
    20162322 朱娅霖 实验报告二 树
    20162322 朱娅霖 作业007 树
  • 原文地址:https://www.cnblogs.com/sabertobih/p/15262483.html
Copyright © 2020-2023  润新知