 |
Course Description
In-depth study of all aspects of software development process: user requirements,
specifications, design, coding, testing, maintenance, documentation, management. Use of
CASE tools for analysis and design. Prerequisite: CS 3240.
Course Syllabus
- Overview of the software life cycle
-
Systems analysis
- User and/or market requirements
- Project specifications
- Structured analysis
- Decision tables or trees
-
Preliminary design
- User interface design and prototyping
- Structured design
- Design evaluation, including cohesion and coupling
-
Detailed design
- At least one diagraming technique for detailed design
- Algorithm choice and efficiency issues
- Detailed design standards
-
Implementation
- Language selection
- Approaches to implementation: top-down, bottom-up, threads
- Coding methods and guidelines
-
Testing
- Types: unit, integration, system, field, acceptance
- Testing methods, including black-box and white-box
- Software maintenance
Experiences
- It will be assumed that the student has been involved in a team project, specifically one
involving the development of a software system for a user. The project will be one which is suitable
for the use of Structured Analysis and Structured Design.
- The student will use the Structured Analysis and Structured Design methods in carrying out the
project.
- The student will use the department's CASE tools for at least analysis and design.
Learning Goals The student will be able not only to define and discuss the topics
listed on this sheet, but will be able to apply the principles and techniques to new problems. For
example, the student should be able to apply the Structured Analysis/Structured Design method to a
(small) problem on the comprehensive exam. The student should be able to generate black-box and white-box
test cases and explain how/why the particular test cases were selected. The student should be able to
assess cohesion and coupling, derive a decision table, discuss selection of an appropriate implementation
approach and so on.
Additional Topics The course will contain material on other topics, but only the
topics listed here will be included on the comprehensive exam.
|