CSE471: System Analysis and Design

Undergraduate course, BRAC University, Department of Computer Science and Engineering, 2025

Taught CSE471: System Analysis and Design across Fall 2024, Spring 2025, Summer 2025, and Fall 2025. This capstone-oriented course covers systematic methodologies, models, and tools for analyzing requirements and architecting large-scale software systems.

Semesters Taught: Fall 2024, Spring 2025, Summer 2025, Fall 2025
Institution: BRAC University, Department of Computer Science and Engineering


Course Description

This course provides a comprehensive exploration of the systems development life cycle (SDLC) for modern enterprise and consumer applications. Students study structured analysis methodologies (including Data Flow Diagrams and Entity-Relationship modeling) alongside object-oriented analysis and design using the Unified Modeling Language (UML). The curriculum emphasizes requirement gathering and specification, structural and behavioral design modeling, architectural patterns, UI/UX prototyping, data storage optimization, and end-to-end full-stack software system implementation.

Course Objectives

  • Introduce core principles, frameworks, and methodologies of modern systems analysis and software engineering.
  • Master requirements elicitation, user story creation, feasibility analysis, and formal specification.
  • Formulate comprehensive structural and behavioral UML models (use cases, activity, class, and sequence diagrams).
  • Address physical software architecture, data modeling, security, and human-computer interface design.
  • Guide student teams through the full development cycle of a software product, including comprehensive documentation (SRS/SDS).

Course Topics & Outline

  • SDLC & Process Methodologies: Waterfall, iterative, and Agile/Scrum methodologies; project initiation and feasibility studies.
  • Requirements Engineering: Elicitation techniques, functional and non-functional requirements, use case specifications, and user stories.
  • Process & Data Modeling: Context diagrams, Data Flow Diagrams (DFD Levels 0, 1, 2), and conceptual Entity-Relationship Diagrams (ERD).
  • Object-Oriented Modeling with UML:
    • Structural Diagrams: Class diagrams, package diagrams, component diagrams, and deployment diagrams.
    • Behavioral Diagrams: Use case diagrams, sequence diagrams, activity diagrams, and state machine diagrams.
  • Architecture & System Design: Layered architecture, client-server models, microservices, and design patterns (MVC, Singleton, Factory).
  • User Interface (UI/UX) Design: Wireframing, information architecture, navigation design, and usability principles.
  • Data Management & Storage Design: Normalization, database schema optimization, indexing strategies, and ORM integration.
  • Testing, Verification & Quality Assurance: Unit testing, integration testing, system testing, and code review practices.
  • System Documentation & Delivery: Authoring formal Software Requirements Specifications (SRS) and System Design Specifications (SDS).

Textbooks & Reference Materials

  1. Systems Analysis and Design, Alan Dennis, Barbara Haley Wixom, and Roberta M. Roth, 8th Edition, John Wiley & Sons, ISBN: 9781119803782.
  2. Object-Oriented Systems Analysis and Design Using UML, Simon Bennett, Steve McRobb, and Ray Farmer, 4th Edition, McGraw-Hill.
  3. Lecture slides, project specifications, software engineering guidelines, and case studies provided via buX.