| 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
|