CMPS 335 Software Engineering
Course Description
Computer Science Department
California State University, Bakersfield
V1, 5/8/2003
Catalog Description: |
A general introduction to Software Engineering. Deals with the specification, development, management, and evolution of complex software systems. Shows how to cost-effectively apply the methods and theory from Computer Science to solve difficult problems. The course presents a broad perspective on software engineering and surveys a wide spectrum of tools and techniques. Students are required to complete a software engineering project as part of a small software engineering team. |
||||||||||||||||||||||||||
Prerequisite: |
CMPS 223 |
||||||||||||||||||||||||||
Units: |
5 |
||||||||||||||||||||||||||
Coordinator: |
Jim Moloney |
||||||||||||||||||||||||||
Goals/Objectives: |
Goal: To acquaint students with the basic concepts and major issues in software engineering. Practice some of these concepts in the design and implementation of a large team software project. Objectives:
|
||||||||||||||||||||||||||
Current Texts: |
(1)Software Engineering, 6th Edition by
Ian Sommerville |
||||||||||||||||||||||||||
Topics: |
(1) Overview of Software
Engineering (3 hrs)
(2) Professional and
ethical responsibility(3 hrs)
(3) Requirements (8 hrs)
a.
Software requirements and requirements processes b.
System modeling c.
Software prototypes (4) Design (8 hrs)
a.
Architectural design b.
Object Oriented design c.
User Interface Design d.
Design tools and processes e.
Dependability (5) Implementation (5
hrs)
a.
Development tools b.
Integrated Development Environments (6) Verification and
Validation (10 hrs)
a.
Software testing b.
Test tools and processes (7) Management (5 hrs)
a.
Managing people b.
Managing quality c.
Cost and Schedule estimation d.
Management tools and processes (8) Evolution (5 hrs)
a.
Software change b.
Software re-engineering c. Configuration management (9)
Tests (3 hrs) (10) Labs (25 hrs) |
||||||||||||||||||||||||||
ACM Sub Areas or Units Covered: |
|
||||||||||||||||||||||||||
Laboratory: |
(1) Class will be divided into 3-4 student teams
(2) Each team will work on two projects. On one project they will be the design team and test team, on the other project they will be the implementation team. (3) The projects will include the following deliverables: a. Project proposal b. Project Plan c. Requirements Specification and Requirements review d. Design Specification and Design review e. Code and code review f. Test Plan and Test Report g. User documentation h. Release Plan and documentation i. Project Report (4) During reviews, students will make oral presentations on requirements, design, code and testing. |
||||||||||||||||||||||||||
Oral and Written Communication: |
Oral presentations are given by students during the project reviews. A final project report containing the deliverables described in the laboratory section above will be required of all students. |
||||||||||||||||||||||||||
Social and Ethical Issues: |
Social and ethical issues in engineering are discussed throughout the course. Professional society guidelines and recommendations are reviewed. Understanding is assessed on exam questions. |
||||||||||||||||||||||||||
Problem Analysis: |
Students are required to participate in two large team projects involving complex data management and other technical issues. The projects provide practical experience in using the tools and software engineering concepts covered in the requirements and high-level design sections of the course. |
||||||||||||||||||||||||||
Solution Design: |
The projects are taken through the low-level design, coding, testing and delivery phases of the development life cycle. |
||||||||||||||||||||||||||
Version & Date |
Version 1, 5/8/2003 |
||||||||||||||||||||||||||
Comments |
The first draft based on ACM curricula 2001 in the format of ABET sample course description. |