CSE 308 Back to CSE Courses

Course CSE308
Title Software Engineering
Credits 3
Course Coordinator Scott Stoller
Current Catalog Description

Introduces the basic concepts and the modern tools and techniques of Software Engineering. Emphasizes the development of reliable and maintainable software via system requirements and specifications; software design methodologies including object-oriented design, implementation, integration, and testing; software project management; life-cycle documentation; software maintenance; and consideration of human factor issues. This course is offered as both CSE 308 and ISE 308.

Prerequisite

CSE 219 or CSE 260 or ISE 305

Course Goals
  • Introduce models of software development and methodologies for project planning, requirements analysis, and system/test design.
  • Provide experience in working as a team to produce software systems that meet specifications while satisfying an implementation schedule.
  • Train students to produce professional quality oral/written presentations of system designs, reviews, and project demonstrations.
  • Expose students to ethical issues in software design and computing in general.
Textbook
    Varies from semester to semester. For example:
  • Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2/E, Bernd Bruegge and Allen H. Dutoit, 2004 , Prentice Hall.
Major Topics Covered in Course
  • Waterfall model, together with its variations and improvements, 1 week
  • The UML (Universal Modeling Language), 4 weeks
  • Requirements Analysis
  • Use Case Modeling
  • Object Modeling
  • Functional Modeling
  • Dynamic Modeling using State Diagrams, Sequence Diagrams, and Activity Diagrams
  • Specification Documents, 1 week
  • Design Documents, 1 week
  • Testing -- Black Box, Glass Box, 1 week
  • Test Plan Documents
  • Project Planning -- Pert Charts, Gantt Charts, 1 week
  • Software Engineering tools, 1 week
  • Oral and Written Communication, 5 weeks
Laboratory Projects
  • The students work in teams of about six people to produce a significant piece of software during the entire semester. Each team produces a Specification Document, a Design Document, and a Test Plan. Typical projects have been an Internet Auction System and a Room Reservation System for the CS Department. Each team gives an oral presentation of a design review and a formal demonstration of their project at the end of the semester
Course Webpage CSE 308 Section I
CSE 308 Section II
Department of Computer Science • Stony Brook University, Stony Brook, NY 11794-4400 • 631-632-8470 or 631-632-8471