ACS2913 Software Requirements Analysis and Design PDF

Summary

This document provides lecture notes for a course on software requirements analysis and design. The course covers the systems development lifecycle, including iterative and Agile development methodologies.

Full Transcript

ACS2913 Software Requirements Analysis and Design OVERVIEW OF SYSTEMS ANALYSIS AND DESIGN THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 1 Lecture Overview ▪Software Development and Systems Analysis and Design ▪Systems Development Lifecycle ▪Iterative Development ▪Sample...

ACS2913 Software Requirements Analysis and Design OVERVIEW OF SYSTEMS ANALYSIS AND DESIGN THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 1 Lecture Overview ▪Software Development and Systems Analysis and Design ▪Systems Development Lifecycle ▪Iterative Development ▪Sample project: Developing RMO’s Tradeshow Systems ▪Introduction to Ridgeline Mountain Outfitters (From Textbook) THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 2 Software Development and Systems Analysis and Design Software Development may refer to: Application: Single software program designed to perform a specific task or solve a particular problem for its users. It typically focuses on a single function or set of related functions. ◦ Example: Microsoft Word is an application used for word processing. It helps users create, edit, and format documents. Information System: Broader concept that includes multiple components working together to collect, process, store, and distribute information. It often integrates applications, hardware, data, people, and processes to support decision-making and organizational objectives. ◦ Example: A university's Learning Management System (LMS), like Moodle or Blackboard, is an information system. It combines applications for uploading course materials, tracking student performance, and communicating with students, alongside databases, servers, and user interfaces to support the institution's educational goals. Key Difference: An application is a standalone tool, while an information system is an interconnected ecosystem that combines multiple tools to achieve a broader purpose. THE UNIVERSITY OF WINNIPEG - ACS 2913 – WINTER 2025 3 Key Foundations for Building an Information System 1. Understand What Problem the System 2. Understand How the System Will Be 3. Have an Idea of How the System Will Will Solve: Used: Be Built: Problem Definition: Clearly define the problem User-Centered Design: Focus on how end-users System Architecture: Develop a high-level the information system aims to address. This will interact with the system, including their architecture to outline the core components of helps avoid scope creep and keeps the project goals, behavior, and preferences. Consider ease the system and how they will interact. focused. of use and accessibility. Decide whether you will use a cloud-based, Stakeholder Analysis: Identify all relevant Use Case Scenarios: Develop use cases and user client-server, or hybrid model. stakeholders (e.g., users, management, stories to capture the essential functions of the Technology Stack: Choose the appropriate customers) to understand their perspectives system and define how it will be integrated into technology stack (programming languages, and needs. the users' workflows. databases, frameworks) based on project Feedback Loops: Plan for continuous feedback requirements and team expertise. from users throughout the development process to ensure that the system meets their evolving needs. THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2024 4 Ready to begin analysis Define Objectives: Analyze Business Processes: Determine the goals and objectives of the analysis. What Examine the business processes supported by the are you trying to achieve with this analysis? What information system. Identify bottlenecks, inefficiencies, problems or issues are you looking to address or and areas for improvement. opportunities to explore? Analyze Data: Identify Stakeholders: Examine the data within the system. Check for data quality Identify all the stakeholders involved in or affected by the issues, data redundancy, and data integrity problems. information system. This may include users, management, IT staff, and external partners or customers. Identify Requirements: Gather information Define the requirements for the information system analysis. This includes functional, non-functional, and Collect all relevant documentation about the information stakeholder-specific requirements. system. Interview key stakeholders and users, Distribute surveys or questionnaires to a broader audience to collect Create a Gap Analysis: quantitative. Compare the current state of the information system with the desired future state to identify gaps and areas that need improvement. THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2023 5 Software Development and Systems Analysis and Design Analysis and Design are important parts of what is known as the “Systems Development Lifecycle” Systems analysis ◦ Activities that enable a person to understand and specify what an information system should accomplish Systems design ◦ Activities that enable a person to define and describe in detail the system that solves the need Can a house be built without a plan and a blueprint? THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 6 Systems Analysis and Design There are methodologies that provide the tools and techniques to complete the development process: ◦ Understand the “business need” ◦ Capture the vision ◦ Define a solution ◦ Communicate the vision and the solution ◦ Build the solution (or direct others to build it) ◦ Begin Implementation ◦ Launch the information system The specific approach and tools used for analysis may vary depending on the complexity and scope of the information system and the organization's goals. THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 7 Systems Development Projects 1. What is a Project? ◦ Definition: A project is a temporary, planned undertaking that has a clear beginning and end, with the goal of producing a specific result or outcome. ◦ Key Characteristics: Defined Scope: Outlines the work required to achieve the end result. ◦ Time-Bound: Has a set timeline with a start and finish. ◦ Resources: Requires allocation of specific resources (people, budget, technology). ◦ Uniqueness: Projects are distinct, with unique deliverables that differ from ongoing operations. 2. Do You Create a Project Every Time a New System is Developed? 3. Exceptions: When Might a Project Not Be Needed? THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 8 Systems Development Lifecycle SDLC –the entire process consisting of all activities required to build, launch, and maintain an information system We will identify 6 main activities for the SDLC 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 or satisfy the need 5. Build, test, and integrate system components 6. Complete system tests and then deploy the solution THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 9 Methodology A methodology is a systematic and structured approach or framework that guides a process, activity, or set of tasks to achieve specific goals or outcomes. Methodologies often incorporate established best practices, which are techniques or approaches that have proven to be effective in achieving specific goals or solving particular types of problems. Different methodologies are chosen based on the nature of the task or problem at hand, as well as the goals and constraints of the project or activity. ◦ Waterfall Method: Suited for projects where requirements are clear from the beginning. ◦ Agile Method: Ideal for projects with evolving requirements, as it allows for iterative development and regular user feedback. Most processes/methodologies now use Agile and Iterative development THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 10 Agile Development Definition: Agile is a system development process that prioritizes flexibility and responsiveness to change, allowing teams to adapt to new requirements during the development process. Key Characteristics: Flexibility: Agile teams expect and embrace changing requirements, focusing on delivering value in small, incremental pieces. Customer Collaboration: Regular feedback from stakeholders ensures that the system meets user needs. Quick Response to Change: Agile methodologies are built for environments where rapid adjustments are needed, keeping projects aligned with evolving business goals. Advantages: Increased adaptability to user and market demands. Early and continuous delivery of working components. Higher customer satisfaction due to frequent collaboration and adjustments. THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2024 11 Iterative Development Definition: Iterative development involves building a system incrementally, completing small sections (mini-projects) one at a time, and refining these sections over multiple iterations. Key Characteristics: Build-and-Refine Approach: Each iteration refines and adds to the system, growing it piece by piece. Continuous Improvement: Ongoing improvements are part of the development cycle, acknowledging that information systems are dynamic and often need updates. Feedback-Driven: As parts of the system are completed, feedback helps guide the next iteration. Advantages: Reduces risk by focusing on smaller, manageable portions of the system. Early identification of potential issues, allowing for adjustments. Allows for evolving system requirements and user feedback to shape the final product. THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2024 12 Iterative and Agile SDLC THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 13 Summary ▪This course is about developing information systems that solve an organization need ▪System development involves 6 core processes, known as the SDLC ▪The course will elaborate on the basic concepts introduced in Chapter 1 ▪Important terminology: ◦ Computer application ◦ Information system ◦ Project ◦ Systems analysis ◦ System design ◦ System development lifecycle (SDLC) ◦ Information system development process (methodology) ◦ Agile development ◦ Iterative development THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 14

Use Quizgecko on...
Browser
Browser