cs350outline - Computer Science Home

advertisement
William Paterson University of New Jersey
Department of Computer Science
College of Science and Health
Course Outline
1.
TITLE OF COURSE AND COURSE NUMBER: Software Engineering, CS350
Credits: Three
2.
DESCRIPTION OF THE COURSE: Provides hands on experience with the issues and
techniques of software engineering including all phases of design plus implementation. A
team project applying the techniques covered is the main focus of the course.
3.
COURSE PREREQUISITES: CS342 with a grade of C- or better
4.
COURSE OJECTIVES:
To gain experience with the all phases of software development and understand the
concept of software development process.
To increase experience with software development beyond that typical encountered in
programming courses.
To experience working as part of a team.
To develop an understanding of software analysis, especially object oriented techniques,
and when and how to apply them.
5.
STUDENT LEARNING OUTCOMES:
Upon completion of the course, students will be able to:
a) Explain the software development as a process that can be measured and improved.
b) Describe the phases of requirements, specification, design, implementation, and
maintenance.
c) Perform analysis of a problem to determine user needs and develop specifications of
the system required that will meet user needs within economic constraints.
d) Perform design from a specification using current techniques.
e) Identify approaches and standards for software quality improvement.
Through class presentations and team project, the course also reinforces the student
learning outcomes of the university:
a) Effectively express themselves in written and oral form.
1
Written form measure: exams, surveys, and project narrative or report.
Oral form measure: PowerPoint presentation for the large software project.
b) Demonstrate ability to think critically.
Measure of conceptual level critical thinking: exams and homework.
Measure of applied and design-oriented critical thinking: large programming project.
c) Demonstrate ability to integrate knowledge and ideas in a coherent and meaningful
manner. Measure: projects, especially the large software project.
d) Work effectively with others. Measure: projects, especially the large software
project.
6.
7.
TOPICAL OUTLINE OF THE COURSE CONTENT:
Topic 1:
Overview of Software Engineering
Topic 2:
Software life cycle models and their phases
a) Waterfall (classical) model
b) Spiral model
c) Object model
d) Prototyping
Topic 3:
Requirements and specifications
a) Analysis - functional, dataflow, object-oriented
b) Formal and informal requirements and specifications
Topic 4:
Software design techniques
a) Dataflow oriented design
b) Object oriented design
c) User interface design
d) CASE tools
Topic 5:
Implementation issues and techniques
a) Bottom up, top down, sandwich implementation
b) CASE tools
c) Code walkthroughs
d) Debugging
e) Testing
f) Optimization
Topic 6:
Installation issues
Topic 7:
Maintenance
Topic 8:
Project management
GUIDELINES/SUGGESTIONS FOR TEACHING METHODS AND STUDENT
2
LEARNING ACTIVITIES:
a) Classroom lectures and discussions.
b) Team work sessions involving active learning including developing use case,
scenarios, and CRC cards for a simplified application.
c) Student presentations of team work sessions before the group through both individual
presentations and team presentations.
d) Extended development of an application within a team with deliverables for a user
interview, requirements, specification, design, and implementation.
e) Pre-examination reviews
8.
GUIDELINES/SUGGESTIONS FOR METHODS OF STUDENT
ASSESSMENT (STUDENT LEARNING OUTCOMES):
a) Periodic exam and a final exam
b) Software project developed in teams with multiple deliverables (written documents)
required from each team. An object-oriented approach will be used with students
producing a specification, a design, and at least a subset implementation of the
design. All documents are placed on the team's web site for all class members to
review.
9.
SUGGESTED READINGS, TEXTS, OBJECTS OF STUDY:
Pfleeger, Shari, 2006, Software Engineering, Theory and Practice, 3rd edition,
Prentice Hall
Lee, Richard and Tepfenhart, William, 1997, UML and C++, Prentice Hall
10.
BIBLIOGRAPHY OF SUPPORTIVE TEXTS AND OTHER MATERIALS:
Bruegge, Bernd and Dutoit, Allen H., 2004, Object-Oriented Software Engineering:
Using UML, Patterns and Java, 2nd edition, Prentice Hall
Ghezzi, Carlo, Jazayeri, Mehdi, and Mandrioli, Dino, 2003, Fundamentals of Software
Engineering, 2nd edition, Prentice Hall.
Schach, Stephen, 2005, Classical and Object-Oriented Software Engineering, 6th edition,
McGraw Hill
Sommerville, Ian, 2005, Software Engineering, 7th edition, Addison-Wesley
David Gustafson, 2002, Schaum's Outline of Software Engineering, 1st edition,
McGraw Hill
3
Jacobson, Ivar, Magnus Christerson, Patrik Jonsson, and Gunnar Overgaard, 2005, Object
Oriented Software Engineering, 2nd edition, Addison-Wesley
Tsang, Curtis HK, 2005, Object-Oriented Technology from Diagram to Code with Visual
Paradigm for UML, 1st edition, McGraw Hill
Xiaoping Jia, 2003, Object Oriented Software Development Using Java, 2nd edition,
Addison-Wesley
Humphrey, Watt, 1995, A Discipline for Software Engineering, Addison-Wesley
Humphrey, Watt, 1989, Managing the Software Process, Addison-Wesley
Booch, Grady, 1994, Object Oriented Analysis and Design with Applications,
Benjamin/Cummings
Rumbaugh, James, Ivar Jacobson, and Grady Booch, 2005, Unified Modeling Language
Reference Manual, The, 2nd edition, Addison-Wesley
Booch, Grady, James Rumbaugh, and Ivar Jacobson, 2005, Unified Modeling Language
User Guide, The, 2nd edition, Addison-Wesley
Roger S Pressman, 2005, Software Engineering: A Practitioner's Approach, 6th edition,
McGraw Hill
Boehm, Barry, 1981, Software Engineering Economics, Prentice Hall
Martin, James and Odell, James, 1992, Principles of Object-Oriented Analysis and
Design, Prentice Hall
Pont, Michael, 1996, Software Engineering with C++ and CASE Tools, Addison-Wesley
Melton, Austin, 1995, Software Measurement, International Thomson Computer Press
Henderson-Sellers, Brian, 1996, Object-Oriented Metrics, Measurers of Complexity,
Prentice Hall
Rational Rose demo system, www.rational.com
11.
PREPARER'S NAME AND DATE: Dr. J. Najarian, Spring 1996
12.
ORIGINAL DEPARTMENTAL APPROVAL DATE: Spring, 1996
13.
REVISERS' NAME AND DATE: Dr. C. S. Ku, March 2005
4
14:
DEPARTMENTAL REVISION APPROVAL DATE: Spring, 2005
5
Download