CSE784 – Software Studio Jim Fawcett Fall 2002
Course Scope Software Development process with emphasis on principles of good design and implementation. Techniques needed for large scale software development.
Part I Analysis, Design, implementation Specifying software systems what, not how Attributes of a good design simplicity Attributes of a good implementation robustness Characteristics which weaken your designs and implementations
Part II Software Development Process Process models and products Roles and activities for each phase of development
Part III - Case Study One major project that the class develops together. SW Project Manager, Architect, Team Leader, and Team Member roles are assigned (usually 5-6 teams). SW product is documented, developed, and qualified with the customer.
One Individual Project Requirements Document Design Document Code Revised Requirements Document
Midterm Examination Take-home examination Detailed Analysis of your first project Requirments Design Implementation Test
Topics Requirements Analysis Design Implementation Test Qualification Maintenance
Requirements Analysis A Specification Architecture Partitioning Organizing principles Critical Issues B Specification (Software Requirements Spec) define top-level modules define abstraction Data Flow Diagrams Pspecs (HIPO format) Data Dictionary Requirments Traceability Matrix
Design abstraction modularity and encapsulation coupling and cohesion object oriented design C Specification (Product Spec, Design Document) elaborate architecture define structure and processing of each module Mspecs class hierarchy charts event trace diagrams structure charts state transition diagrams data dictionary
Implementation Abstraction modularity and encapsulation manual and maintenance pages modularity and encapsulation modules, classes, and functions coupling and cohesion HIPOs object implementation building self-sufficient servers
Testing Phases test plan unit and qualification test drivers construction, unit, integration, validation, qualification, and regression testing test plan test structure required resources Schedule procedures unit and qualification test drivers
Qualification test structure legal aspects demonstration, test, analysis, inspection legal aspects
Basis for Grades Individual Project – 30% Midterm – 30% B-Spec, C-Spec, and code count equally Midterm – 30% Demonstrates you know how to evaluate a software project. Documentation must be convincing. Final Project – 40%