|
Systems Development - Analysis, Design, and Engineering I, II, IIII
|
DCS821, DCS822 and DCS823 |
Fall, Spring, Summer
2 credits each |
These courses are project based. Students will develop a substantial project working in small teams coordinated with the DCS801, 802 and 803 courses. The project development will explore cutting-edge software systems development methodologies. These courses are concerned with practice-oriented software engineering and information systems concepts, and are representative of the real-world environment with which practicing computer professionals have to deal - tool-rich working environments, team development efforts, cost performance trade-offs in business contexts, and expenditure of considerable effort on tasks other than source-code development.
- Software systems that are very large, having hundreds of thousands or even millions of lines of code.
- Tool-rich working environments.
- Development efforts that are undertaken by teams.
- The reality of cost performance trade-offs in business contexts.
- System development according to mandated processes and standards with accountability.
- Expenditure of considerable effort on tasks other than source-code development.
Cutting across the curricula for these courses are four themes:
- Analysis, design and system architecture: software architecture, design trade-offs, tools and environments, exploiting domain knowledge.
- Technical management and evolution of large, long-lived software: design for reuse, risk analysis, configuration management, software process improvement, product validation.
- Modeling, patterns, abstraction and reasoning: formal methods, software process, testing.
- Human resource management: project management and planning, risk assessment, cost estimation, process improvements.
Problem solving paradigms; the software engineering problems of scale, cost, schedule, quality and consistency; software development process; organizational patterns; systems analysis - process model, data flow diagrams, analysis patterns; systems design - coupling, cohesion, design patterns, structure charts, transform and transaction strategies; object-oriented architectures; software process - processes, projects, process improvement; software process assessment - capability maturity model (CMM), ISO 9001; software quality assurance; project management; risk management; user-interface design issues; GUI design; software maintenance; software reuse.
Back to top
Back to Course Descriptions
Back to homepage
|