 |
 |
 |
 |
 |
CS 464: Software Development
|
|
|
 |
 |
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.
|
|
|
 |