Schedule of CS446

(this schedule is subject to changes)


Date 
Topic 
Abstract 
week 1:
Sep 22
Introduction to CS446 (gw)  and Overview (db)
slides
The software development process can be looked at from various angles. Though the starting points may be different (assuring high product quality - managing a project - addressing software development as an engineering discipline), the same issues come come up in the various viewpoints. In this talk I will give an overview of the various subtopics embraced by the term software engineering and will show how these topics relate to each other. 
week 2:
Sep 27 
UML (db)
slides: part1, part2
(for printing disable "black&white")
UML (Unified Modeling Language) is the object-oriented modeling technique that evolved from modeling languages used in methods like Booch, OMT (Rumbaugh) and OOSE (Jacobson). It has been adopted by OMG, is now widely used in many companies, and is an integral part of many software development methods. This series of  lectures will give an in depth introduction into UML, covering most yet not all of its elements. Prior knowledge about object-oriented concepts (classes, objects, inheritance) is assumed, and knowing basic entity-relationship modeling is helpful.
Part one: Introduction into semi-formal modelling, Actors, Use Cases
week 2:
Sep 29
UML (db)
Part two: Class diagrams
week 3: 
Oct 4
UML (db)
Part three: Dynamic Diagrams
week 3: 
Oct 6
Software development processes (Ron Burback)

Taks/workflows and different methodologies (waterfall, spiral, etc.).
week 4: 
Oct 11
Processes for UML (db)
UML Part four: Processes for UML, Rational Unified Process, use-case driven development,  risk-driven iterative development
week 4:
Oct 13
Managing Software Reuse: A Case-Based Approach 
(Wayne Lim)
Abstract
week 5: 
Oct 18
Software Risk Management (ajs)
Risk management is a relatively new topic in software engineering. The talk gives an overview of the subtopics embraced by risk management: basic concepts, a taxonomy of risks, risk-driven software development, software risk management steps, and risk management techniques.
week 5: 
Oct 20
Design Patterns (db)
slides
week 6: 
Oct 25
Architecting and Modeling for Reuse (Martin Griss, HP)
week 6: 
Oct 27
Architectures for large systems, 
Architecture Patterns 
(Ron Burback)
By architecture, I mean the components of a large distributed software system and their interfaces, methods of communication, and behavior. This talk  will give an overview of typical architecture patterns, and will survey several architecture examples with a more detailed discussion of DADL.
week 7: 
Nov 1
Design Patterns, part 2
Frameworks (slides)
(db)
We will look at yet some more design patterns, and we will also discuss how to design with design patterns.
Then we will look at frameworks, and I will present EJB (Enterprise Java Beans) as an example for a framework.
week 7: 
Nov 3
SCIP Software Industry Study
Avron Barr
publications
especially:
  • A Pilot Survey of Software Product Management 
  • Slides from the talk at the Software Engineering Process Group '97 Conference
  • Will Componentware Save Us from

  • the Software Talent Shortage?
abstract
week 8: 
Nov 8
 Testing (gw) 
slides
 week 8: 
Nov 10
Maintenance (gw)
slides
week 9: 
Nov 15
Architecture Description Languages: what they are and 
what they are used for
(David Luckham)
 week 9:
Nov 17
 Model Systems (ajs)
Model systems are frameworks recently developed in order to integrate models associated to different facets of the software development. Examples are: MBASE, MBSE, SEI-MBSE, Honeywell-MBSD, USDP. A model system as a collection of models and all their associated relations and constraints. Model systems define a notational and a semantical integration and are closely related to decision making. The talk: i) shows how facets of the software development are related in different approaches; ii) presents an enhancement of the MBASE model system.
week10:
Nov 22
Software Cost Modeling and Estimation, Part 1 (ajs)
Major cost and schedule techniques currently used or being researched. Modeling and estimation concepts. SCE algorithm and algorithmic models. Sensitivity analysis. Software trends and new modeling capabilities. Master equations.
week 10: 
Nov 24 
Software Cost Modeling and Estimation, Part 2 (ajs)
Software sizing metrics. Estimating the effort of adapting   existing software. Software reuse estimation. Software  maintenance estimation. Model calibration. Practicalities: the process of software cost estimation. Project planning and control.
 week 11:
Nov 29
 Prototyping (db), Requirements Engineering,
QA, Reviews
slides
Requirements engineering: content of a requirements document, activities to determine requirements (requirements analysis, validation, evolution), taking into account multiple viewpoints in the requirements engineering process.
When, how, why and what for to use prototyping. Various kinds of prototyping.
Quality Assurance Systems, Reviews
 week 11:
Dec 1
 CHAIMS (gw)
slides
How could automated composition of large, distributed, heterogenous (also concerning the protocol like CORBA, RMI, DCE, DCOM) and automonous software modules look like? The CHAIMS project has the goal to investigate and develop a language and a system for the high-level composition of such modules.