SE-2030 Software Engineering Tools and Practices 2 - 2 - 3


Description

This course provides an introduction to the software engineering tools and practices - a look at a typical approach software engineers use to create applications in practice. Topics include requirements analysis, high-level design, detail-level design, UML modeling, code generation, application building, and revision management. Laboratory assignments provide an opportunity for students to develop an understanding of these tools and how they are used in actual practice.

Prerequisites

Corequisites

Materials

Required:
  • No textbook
  • Notebook computer required

Program Outcomes Containing SE 2030

Click to see all the program tracks

Course Learning Outcomes

Upon successful completion of this course, the student will:
  • create UML class, communication, activity, state, and sequence diagrams using a CASE tool
  • transform requirements documented as use cases into UML design models
  • generate source code from UML design models, and synchronize subsequent changes
  • create user interfaces using a visual design tool
  • maintain source code and related design documents in a revision control system
  • create a deployable software package using an automated build tool
  • track software defects using a change management system
  • be able to create an installable software package using an automated build tool

Course Topics

  • Introduction to the course and software engineering practices (1 class)
  • Source code generation from UML models (1 class)
  • Synchronizing source code with UML models (1 class)
  • Use of a revision control system to archive source code and related documentation (2 classes)
  • Graphical UI layout (1 class)
  • Use of a change management system for tracking software defects (1 class)
  • Use of an automated build tool for software package creation: meta-languages, scripts, rules, targets, actions (1 class)
  • Software requirements analysis: reading use case scenarios and use case textual analysis (2 classes)
  • High-level design: requirements coverage, communication diagrams (1 class)
  • Detailed design: class, communication, activity, state, and sequence diagrams (4 classes)

Prerequisites by topic

  • Proficiency in a high-level object-oriented programming language
  • Knowledge of basic object-oriented programming concepts, data structures, and software design techniques.

    Laboratory topics

    • Development of various small software projects to facilitate practice and with integrated tool usage.

      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
      350% 000

      ABET/TAC content

      Communications Math & Science HU/SS Tech ContentOther
      00000

      Coordinator

      Mark Hornick, Assistant Professor

      Last review

      Mark Hornick, Assistant Professor
      on Jul 28, 2009

      Last update

      Mark Hornick, Assistant Professor
      on Aug 18, 2009