|
|
|
---|---|---|
Sep 22 |
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. |
Sep 27 |
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 |
Sep 29 |
|
Part two: Class diagrams |
Oct 4 |
|
Part three: Dynamic Diagrams |
Oct 6 |
|
Taks/workflows and different methodologies (waterfall, spiral, etc.). |
Oct 11 |
|
UML Part four: Processes for UML, Rational Unified Process, use-case driven development, risk-driven iterative development |
Oct 13 |
(Wayne Lim) |
Abstract |
Oct 18 |
|
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. |
Oct 20 |
slides |
|
Oct 25 |
|
|
Oct 27 |
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. |
Nov 1 |
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. |
Nov 3 |
Avron Barr publications especially:
the Software Talent Shortage? |
abstract |
Nov 8 |
slides |
|
Nov 10 |
slides |
|
Nov 15 |
what they are used for (David Luckham) |
|
Nov 17 |
|
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. |
Nov 22 |
|
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. |
Nov 24 |
|
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. |
Nov 29 |
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 |
Dec 1 |
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. |