| CSC 265 Design & Analysis
of Software Systems |
3 cr. |
This course will explore in detail the design and implementation of large software
systems using modern software engineering principles. Topics include: the initial proposal,
information acquisition, design of system functions, choice of implementation structures,
various stages of testing, and documentation. Three lecture hours per week; extensive
laboratory work and group discussion time outside of class are also required.
Not open to students who have received credit for CSC 394.
Prerequisite: CSC 260.
Topics:
- investigation of existing systems, including available information and procedures
- determination of the necessary functions the system must support
- design of a formal proposal
- interactions with the users
- determination of the relative importance, frequency, cost and visibility of
the various functions
- initial overview of the design of the system
- development of an implementation schedule
- review and revision based on continuing interaction with the users
- choice of information structures
- implementation considerations
- choice of language
- selection of a set of programming standards
- test data generation
- establishment of benchmarks
- testing
- partial tests
- stub testing
- tests using generated data
- volume tests
- tests utilizing copies of real data
- documentation of test results
- review and revisions based on continuing interactions with users
- startup procedures, initialization and conversion routines
- "turning the key"
- parallel runs of actual data with both the new system and the old one
- checks against original system
- backup and restart considerations
- preparation of final documentation package
- run instructions
- error recovery/restart procedures
- program function documentation
The emphasis of the course is on the proper design of a software system from initial
conception to final production implementation. Many aspects of the project in addition
to strict program implementation are covered, including, but not limited to, efficiency,
cost/benefit analysis, user-friendliness, expected life span, maintenance, and ongoing
support (including revisions and enhancements). There will be at least one case study
presented in depth, leading to the design and implementation of a large project by groups
within the class. Extensive laboratory work and group discussion time outside of
class are expected and required.
All programs must conform to departmental guidelines for program
design and implementation, and all lab reports must conform to guidelines announced in class.
Regardless of numeric average, a student will not be eligible for a passing grade
unless he or she has submitted a lab report for every programming assignment.
The course grade will be determined using the following approximate weights:
lab report(s) - 30%, final exam - 40%, other tests and/or paper(s) - 30%.
Bibliography:
* indicates the textbook currently in use
- Dennis & Wixom. Systems Analysis and Design. (John Wiley & Sons, 2000)
- Dikel, David M.; Kane, David; Wilson, James R. Software Architecture:
Organizational Principles and Patterns. (Prentice-Hall, 2001)
- Fowler, Martin, with Kenneth Scott. UML Distilled: A Brief Guide to the
Standard Object Modeling Language. Second Edition. (Addison-Wesley, 2000)
- * Hoffer, et. al. Modern Systems Analysis & Design. Second Edition. (Addison-Wesley, 1999)
- Peters & Pedrycz. Software Engineering: An Engineering Approach. (John Wiley & Sons, 2000)
- Pfleeger, Shari Lawrence. Software Engineering: Theory and Practice.
Second Edition. (Prentice-Hall, 2001)
- Schach, Stephen R. Classical and Object-Oriented Software Engineering with UML
and Java Fourth Edition. (McGraw-Hill, 1999)
Salem State Home •
Computer Science Home •
Faculty •
Computer Studies Major •
Flow Sheet
Computer Studies Minor •
Courses •
Course Sequence Diagram •
Computer Laboratories
|