1 CSE784 – Software Studio Jim Fawcett Fall 2002
2 Course Scope Software Development process with emphasis on principles of good design and implementation. Techniques needed for large scale software development.
3 Part I Analysis, Design, implementationSpecifying software systems what, not how Attributes of a good design simplicity Attributes of a good implementation robustness Characteristics which weaken your designs and implementations
4 Part II Software Development ProcessProcess models and products Roles and activities for each phase of development
5 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.
6 One Individual ProjectRequirements Document Design Document Code Revised Requirements Document
7 Midterm Examination Take-home examinationDetailed Analysis of your first project Requirments Design Implementation Test
8 Topics Requirements Analysis Design Implementation Test QualificationMaintenance
9 Requirements AnalysisA 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
10 Design abstraction modularity and encapsulation coupling and cohesionobject 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
11 Implementation Abstraction modularity and encapsulationmanual and maintenance pages modularity and encapsulation modules, classes, and functions coupling and cohesion HIPOs object implementation building self-sufficient servers
12 Testing Phases test plan unit and qualification test driversconstruction, unit, integration, validation, qualification, and regression testing test plan test structure required resources Schedule procedures unit and qualification test drivers
13 Qualification test structure legal aspectsdemonstration, test, analysis, inspection legal aspects
14 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%