3.5 - Systems Analysis

Cards (22)

  • System Lifecycle gives structure and allows a project manager to manage a project rather than reacting to problems as they arise
  • Waterfall Model Key Features:
    • Stages are arranged in order and completed one by one
    • Developers cannot proceed to the next stage until the previous stage has been completed
    • Each stage ends with a deliverable handover document informing the next stage of development
  • Advantages of the Waterfall model:
    • Problems are quickly identified in the early stages and thoroughly investigated in the design phase
    • Customers understand what the final product will look like as the system is defined in the early stages
    • Thorough documentation is produced at each stage, allowing progress to be tracked easily
    • Staff changes are unlikely to impact the future of the project as documentation allows new staff to pick up the system
  • Disadvantages of the Waterfall model:
    • Customers often cannot define what they want or understand the capabilities of technology
    • It can be difficult to define what is required at the beginning of a project, leading to potential wasted development time
    • Difficult to identify problems that may occur due to work done in other areas of a system
    • Backtracking is required if there is a modification to the system or if a bug remains undiscovered in late stages of development
  • Agile focuses on developing working software rather than documentation
  • Agile Methodologies (Extreme Programming):
    • Focuses on communication between programmers/teams with clients/customers
    • Encourages straightforward solutions rather than complex ones
    • Encourages feedback and working in pairs
  • Scrum focuses on regular iterations to create functional prototypes quickly
    • Fixed length iterations called sprints
    • Several teams work on the same project simultaneously with each team focusing on a different piece of functionality
    • Regular meetings called scrums
  • Advantages of Agile:
    • Working software is produced at a much faster pace
    • Closer collaborations between stakeholders
    • Constant customer feedback ensures the product meets customer expectations
    • Changes can be made at any time
    • Makes integration of new technologies easy, especially on systems with a long development lifecycle
    • System can be used with some features missing
  • Disadvantages of Agile:
    • Relatively new way of working which may not fit into the experiences of customers
    • Documentation can be neglected
    • Tracking progress is more difficult as progression is not linear
    • Requires cooperation from the customer to provide feedback
  • Stakeholders are people or groups with an interest in the development of software, such as business employees, programmers, end users, and hardware suppliers
  • Users must not be confused with customers; they are the people who will use the software on a daily basis
  • Programmers are the people developing the system and are invaluable to system analysts as they can spot subtle issues with a system
  • Project Managers are responsible for monitoring the progress of a project and ensuring it is completed on time
  • System Analysts must find exactly what a customer wants and work closely with a company to create specifications for a piece of software that developers must meet
  • Problem Definition is the process of identifying issues in a customer’s current system and finding solutions with a new project
  • Feasibility Study ensures that a project is completable and desirable for the developing company and customer to develop the software
    • Economic Feasibility: ensures the project can be completed within a set budget and allows for reasonable profits
    • Time Feasibility: examines if a project can be completed within the set time frame
    • Technical Feasibility: examines if the development company has the skills to develop the desired product
    • Political Feasibility: examines the impact on a company’s reputation if a piece of software is developed
    • Legal Feasibility: examines if a project complies with legislation and potential liability
  • Analysis, Requirements, and Designs start with the Fact Finding/Discovery Phase, aiming to find exactly what is required of a system and produce specifications for development
    • Methods include Observation, Questionnaires, Document Collection, and Interviews
  • Advantages of Fact Finding/Discovery Phase methods:
    • Observation: picks up parts of the system not immediately obvious to customers
    • Questionnaires: can get a large number of different opinions
    • Document Collection: reliable and shows most of the data stored on the current system
    • Interviews: large amounts of information can be gathered quickly
  • Disadvantages of Fact Finding/Discovery Phase methods:
    • Observation: some people feel threatened when observed and behave differently
    • Questionnaires: not all employees will complete them, responses can vary widely
    • Document Collection: may contain sensitive information and give a limited view of the system
    • Interviews: time-consuming, interviewees may not answer truthfully or be intimidated
  • Testing involves giving software to end-users to identify bugs or needed improvements for the user’s experience
    • White Box Testing: tests the structure of the code
    • Black Box Testing: tests the program alongside the requirements
    • Alpha and Beta Testing: alpha builds are unstable, beta builds are close to the final product
    • End-User Testing: takes place before the customer purchases the system
  • Documentation includes User Documentation and Technical/Maintenance Documentation
    • User Documentation: targeted guides teaching users how to access different features of the software
    • Technical/Maintenance Documentation: outlines how a system was created and the inner workings of each section of code
  • Implementation is the process of installing a system at the client’s site
    • Direct Changeover: risky, involves swapping to the new system immediately
    • Phased Changeover: old and new system used simultaneously, introducing new features in steps
    • Pilot Changeover: small parts of a business use the system initially
    • Parallel Changeover: old and new system run side by side to minimize downtime