SE-2811 Software Component Design 3 - 2 - 4


Description

This course deals with the design and implementation of software subsystems. The concept of design patterns is introduced and common patterns are applied to the development of software components. Laboratory projects provide an opportunity for teams of students to implement components and to integrate them into complete systems.

Prerequisites

Materials

Required:
  • Head First Design Patterns Freeman and Freeman, O'Reilly, 2004
  • Notebook computer required

Program Outcomes Containing SE 2811

Click to see all the program tracks

Course Learning Outcomes

Upon successful completion of this course, the student will:
  • apply object-oriented design patterns in software application-specific contexts
  • determine the appropriate design pattern to apply in a specific context
  • design and implement small software components and systems
  • apply UML class and sequence diagrams in the process of designing and documenting software applications
  • use computer-aided software engineering (CASE) tools in the design and software documentation process
  • conduct independent research on software design patterns
  • document software design patterns in both written and oral reports

Course Topics

  • Introduction to course and design patterns (1 class)
  • Threading and thread synchronization (2 classes)
  • Inter-thread and inter-process communication using shared memory, pipes, and sockets (2 classes)
  • Design patterns (18 classes)
  • Pattern application issues (2 classes)
  • Anti-patterns (1 class)
  • Exam and review (2 classes)
  • Guest lecture, catch-up (2 classes)

Prerequisites by topic

  • Proficiency in object-oriented design and programming.
  • Knowledge of data structures and proficiency in their application.
  • Familiarity with inheritance and polymorphism.
  • Proficiency in the use of an individual software process.

    Laboratory topics

    • Investigation of multi-threaded data collections (1 session)
    • Application of specific design patterns (8 sessions)
    • Development of application to demonstrate the use of a chosen design pattern (1 session)
    • Demonstration of example application (1 session)

      Course topics by day

      Lecture/Lab topics

      ACCE content

      General Education Math & Science Business & Mgmt. ConstructionConstruction Science
      00000

      View Specific Requirements

      ABET/EAC content

      Engineering topics Design General education Math/ScienceOther
      4100% 000

      ABET/TAC content

      Communications Math & Science HU/SS Tech ContentOther
      00000

      Coordinator

      Mark Hornick, Assistant Professor

      Last review

      Mark Hornick, Assistant Professor
      on May 27, 2009

      Last update

      Mark Hornick, Assistant Professor
      on May 27, 2009