STUDY - System Analysis and Design PDF

Summary

This document discusses system analysis and design, focusing on CASE tools and their applications. It covers different types of CASE tools, including upper and lower CASE tools, and integrated tools. It also touches upon feasibility studies and project management.

Full Transcript

1. **CASE (computer-aided software engineering)** tools refer to software applications designed to support software development and engineering tasks. These tools assist in the creation, maintenance, and management of software systems, particularly in the context of system analysis,...

1. **CASE (computer-aided software engineering)** tools refer to software applications designed to support software development and engineering tasks. These tools assist in the creation, maintenance, and management of software systems, particularly in the context of system analysis, design, and documentation. CASE tools provide automated support for the various activities in the software development lifecycle, improving efficiency, consistency, and quality of the developed software. **Types of CASE Tools:** CASE tools can be categorized into three main types, depending on their stage of use in the software development process: **Upper CASE Tools (Pre-development and Design Phase):** Focus on early stages of software development, such as system analysis, modeling, and design. Examples of Upper CASE Tools: Data Flow Diagram (DFD) tools: Used to model the flow of data in a system. Entity-Relationship Diagram (ERD) tools: Used for designing and visualizing databases. Unified Modeling Language (UML) tools: Used to create UML diagrams like class diagrams, use case diagrams, sequence diagrams, etc. Requirements management tools: Help capture, track, and manage system requirements. Prototyping tools: Assist in building prototypes for user interface design. **Lower CASE Tools (Implementation and Testing Phase):** Focus on the **development, testing, and maintenance phases.** Examples of Lower CASE Tools: Code generators: Automatically generate code from models (e.g., generating skeleton code from UML diagrams). Compilers and Debuggers: Used for compiling, debugging, and testing code during the development phase. Automated testing tools: For unit testing, integration testing, and system testing. Version control tools: Manage versions of source code and project documentation (e.g., Git). **Integrated CASE Tools (Full lifecycle support):** Provide support across the entire software development lifecycle (SDLC). Examples of Integrated CASE Tools: IDE (Integrated Development Environment): Tools that provide code editing, debugging, testing, and version control in one environment (e.g., Eclipse, Visual Studio). Project management tools: Help manage project schedules, tasks, and resources. Database management tools: Help in designing, implementing, and managing databases (e.g., MySQL Workbench, Oracle SQL Developer). Software modeling tools: Used for visual modeling and architecture design (e.g., Rational Rose, Enterprise Architect). **Examples of CASE Tools:** IBM Rational Suite: A suite of tools used for software design, development, and testing, with a focus on UML and object-oriented methodologies. Microsoft Visio: A tool for creating flowcharts, network diagrams, and UML diagrams, widely used in system design and process modeling. Oracle Designer: A tool used for database design and generation, supporting relational and object-oriented database models. Enterprise Architect: A CASE tool used for UML modeling, database design, and project management, widely used in systems analysis and design. **How to use it to improve system** **CASE tools help improve software development** by automating tasks, ensuring consistency, and simplifying management. **How to Use CASE Tools:** **Design:** Use tools like Lucidchart for creating UML diagrams to visually design the system. **Code Generation:** Tools like Enterprise Architect automatically generate code from your design. **Requirements Management:** Track requirements with Jira to ensure nothing is missed. **Testing:** Automate tests using tools like Selenium to catch bugs early. **Documentation:** Automatically generate documentation from your design with Enterprise Architect. **Project Management:** Use Microsoft Project or Trello to track tasks and milestones**.** **Example:** **Lucidchart helps you design the system.** **Enterprise Architect generates code.** **Selenium tests the system automatically.** **Feasibility study (4 questions on this)** What is a feasibility study? A feasibility study is a detailed analysis that considers all of the critical aspects of a proposed project in order to determine the likelihood of it succeeding. **Pro& Cons of a feasibility study** Why is a feasibility study necessary? A Feasibility Study is necessary because it enables a step-by-step breakdown of the functioning of a system and any faults within it, enabling a piecemeal analysis of whether or not the system may be put into practice regardless of potential risks What are the risks of not doing a feasibility study? How does the feasibility influence decision-making at different levels of system analysis? **Section B (STUDY)** Information system Designing an ERD system for a business (what are the relationships) [NB-] Use a scenario to create an ERD diagram for practice. **What is a project?** A project is a temporary endeavor with a beginning and end that\'s undertaken to create a unique product, service, or result: **Definition** A project is a series of structured tasks, activities, and deliverables that are carefully executed to achieve a desired outcome. **Objectives** A project is usually deemed to be a success if it achieves the objectives according to their acceptance criteria, within an agreed timescale and budget. **Examples** Projects can involve anything from Fashion Week events to humanitarian aid efforts overseas. **Project management in** systems analysis and design is the process of planning, executing, and monitoring the tasks required to develop a system: Planning: Break down the project into tasks, sequence them, and estimate resources Executing: Carry out the project Monitoring: Track progress and ensure the project is on track Things they muse be able to do: 4Cs-collabortion, creativity, communication, critical thinking Requirements Project management schedule: (what dose it have? How it works and when?) what is a project management brainstorming chart? **GANTT chart** A Gantt chart is a type of bar chart that represents a project schedule. It shows the start and finish dates of various elements or tasks within a project. This tool is useful for tracking progress and managing the timing of tasks, as well as for visualizing task dependencies. Here's a simple breakdown of a Gantt chart: Horizontal Axis: Represents the timeline of the project, typically shown in days, weeks, or months. Vertical Axis: Lists the tasks or activities that need to be completed for the project. Bars: Each bar represents a task, with the length of the bar corresponding to the duration of the task. Dependencies: Tasks that are dependent on the completion of other tasks are connected with arrows or lines. **Milesone chart** ![](media/image2.png) A **Milestone Chart** in System Analysis and Design (SAD) is a graphical tool used to track the significant achievements or milestones in the development of a system. It helps in monitoring the progress of a project, ensuring that it stays on track, and identifying key points in the system development lifecycle (SDLC). Milestone charts are particularly useful for managing and visualizing deadlines, deliverables, and key decision points in a system development project. These milestones are typically used in conjunction with a Gantt chart to track the project\'s overall progress. Key Elements of a Milestone Chart: Milestones: Key events, deliverables, or decision points in the project. Examples: Requirements gathering complete, Design phase complete, Prototype developed, Testing phase started, Final system deployment. Timeline: A horizontal axis representing the timeline of the project, typically in weeks, months, or phases. Completion Points: Marks where a milestone is achieved, often shown as a specific symbol (e.g., a diamond or a flag) on the timeline. Tasks or Phases: While tasks and phases are not always listed in a milestone chart, it\'s essential to know what specific tasks lead to achieving each milestone. **Levels in Data Flow Diagram (DFD)** DFDs can be divided into different levels, which provide varying degrees of detail about the system. The following are the four levels of DFDs: Level 0 DFD Level 0 is the highest-level Data Flow Diagram (DFD), which provides an overview of the entire system. It shows the major processes, data flows, and data stores in the system, without providing any details about the internal workings of these processes. It is also known as a **context diagram.** **PICTURE** Level 1 DFD 1-Level Data Flow Diagram (DFD) 1-Level provides a more detailed view of the system by breaking down the major processes identified in the level 0 Data Flow Diagram (DFD) into sub-processes. Each sub-process is depicted as a separate process on the level 1 Data Flow Diagram (DFD). The data flows and data stores associated with each sub-process are also shown. **PICTURE** Level 2 DFD Level provides an even more detailed view of the system by breaking down the sub-processes identified in the level 1 Data Flow Diagram (DFD) into further sub-processes. Each sub-process is depicted as a separate process on the level 2 DFD. The data flows and data stores associated with each sub-process are also shown. **PICTURE** Level 3 DFD 3-Level Data Flow Diagram (DFD) 3-Level is the most detailed level of Data Flow Diagram (DFDs), which provides a detailed view of the processes, data flows, and data stores in the system. This level is typically used for complex systems, where a high level of detail is required to understand the system. Each process on the level 3 DFD is depicted with a detailed description of its input, processing, and output. The data flows and data stores associated with each process are also shown. **PICTURE**

Use Quizgecko on...
Browser
Browser