EECE 3220 Computer Software Engineering
Catalog Description:
Introduction to software engineering; metrics, estimation, and planning; system and software requirements analysis; hardware-software interactions and effects on the design process; software design and implementation techniques; software integrity issues - quality assurance, testing, reliability and maintenance; software development tools. PREREQUISITE: COMP 3160 or permission of instructor.Objectives: This course is designed to provide students an understanding of the issues associated with software engineering and the ability to analyze requirements, plan, develop, and maintain a large-scale software project.
Prerequisites by Topic:
Course Web Page: http://engronline.ee.memphis.edu
Text: Object-Oriented Software Engineering, Bernd Bruegge and Allen Dutoit, Prentice-Hall, Inc., 2000.
Educational Outcomes Assessed:
an ability to apply knowledge of mathematics, science and engineering (a)
an ability to design a system, component, or process to meet desired needs (b)
an ability to identify, formulate and solve engineering problems (e)
an ability to communicate effectively (g)
an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice (k)
Software: Rational Rose Student Edition (free student version)
Topics:
1) Introduction to Software Engineering (3 hours)
2) Basic syntax and semantics of the Unified Modeling Language (UML) (6 hours)
3) Modes, Mechanisms, and Activities of Project Communication (1.5 hours)
4) Requirements Elicitation Concepts including Functional, Nonfunctional, and Pseudo Requirements. Greenfield, Re-engineering, and Interface Engineering (3.5 hours )
5) Analysis of Entity, Boundary, and Control Objects (2 hours )
6) Modeling Interactions Between Objects and Sequence Diagrams (2 hours)
7) System Decomposition and Design (4 hours )
8) Object Design (4 hours )
9) Rationale Management and Design Justification (1.5 hours )
10) Testing via the process of comparing system models and system behavior (2 hours )
11) Software Configuration Management (1.5 hours )
12) Project Management (1.5 hours )
13) IEEE 1074 and the Software Life Cycle (1.5 hours )
14) Written Exams and Oral Presentations (6 hours)
Computer usage:
Student-instructor communication via electronic mail and World Wide Web. Student use of computer-aided-software-engineering (CASE) tools and MicroSoft Project is required.
Design:
A significant portion of the course is devoted explicitly to the study of design methods for software (e.g. function-oriented design, object-oriented design) and other design issues (e.g. reliability, design for testability). Additionally, other topics that affect the design process such as planning and estimation, requirements analysis, and modeling, are covered in this course. Students must demonstrate mastery of these concepts through exercises, exams and a term project.
ABET category content as estimated by coordinator:
Engineering Science: 2.0 credits or 66.67%
Engineering Design: 1.0 credit or 33.33%
Laboratory: [ None ]
Communication: One design project is assigned. The design project requires an oral presentation alongside the required technical report of the project.
Prepared by: David J. Russomanno, Ph.D. Date: October 27, 2000