330 likes | 350 Views
Software Engineering. Lecture 1 ASPI8-4 Anders P. Ravn, Feb 4, 2004. Overview. The development process Documents OAD in Requirements Analysis. Problem Domain Analysis System Definition Class, Association, Dependency Behaviour, Event. The project mainstays.
E N D
Software Engineering Lecture 1 ASPI8-4 Anders P. Ravn, Feb 4, 2004
Overview • The development process • Documents • OAD in Requirements Analysis • Problem Domain Analysis • System Definition • Class, Association, Dependency • Behaviour, Event
The project mainstays • Journal – Agendas, Minutes, Notes • Report – Work Items • Schedule – Milestones, Activities
Organization - Players • Customer – has the problem and has to be satisfied with the solution • Project Team – works to find a solution • Boss – defines the resources and monitors progress • Consultant – contributes ideas and expertise
Team - roles • Designer – develops solutions • Developer – develops components • Integrator (tester) – ensures consistent releases • Documenter – ensures documentation • Organizer (planner) – keeps orderly progress
Planning – why bother? The solution space Project progress Customer expectations
Planning – why! • To be able to act rationally when – forseeable - events happen. Livet forstås baglæns, men må leves forlæns Søren Kierkegaard
Planning – how? Deadline Activity Time Milestone
Gant Chart Activity A B C …
Pert Diagram C 10 G 5 A 14 D 13 H 6 E 14 I 24 B 7 F 7
Literature (incomplete) • Fred. P. Brooks: The Mythical Man-month • G. Weinberg: The Psychology of Programming • N.E. Andersen, et al.: Professionel Systemudvikling • H. Mills: Chief Programmer Teams • D. Gibbs: Extreme Programming
A Development Process (V-model) Requirements Spec --------------------------- Accpt. Test Report Acceptance Test Spec Architectural Spec ------------------------ Integr. Test Report Integration Test Spec Module Interface Spec Module Spec ------------------- Module Test Report Module Test Spec Program Source text A rational Design Process – or how to fake it Heninger & Parnas, 1979
Your Report! • Requirements Specification • 1.1 System Definition • 1.2 Problem Domain Structure • 1.3 Application Domain Structure • 1.4 Acceptance Test Specification • Architecture • Modules • Implementation • 5. Test
Example: Computer Vison based implement guidance in row crops A rich picture
System Definition A concise description of a computerized system expressed in natural language Example: A computer system which guides an implement through crops in rows. The system must not be slower than the traditional guidance methods, and must relieve human operators of local monitoring and control tasks.
FACTOR A concise description of a computerized system expressed in natural language • FACTOR: • Functionality for end use • Application Domain of end use • Conditions for success • Technology to be used • Object System • Realization conditions
Example: FACTOR A computer system which guides an implement through crops in rows. (Application Domain). The system must not be slower than traditional guidance methods (Conditions), and must relieve human operators of local monitoring and control tasks (Functionality). The final system must be implemented on a TriMedia TRS8XX with a simple display and button user interface (Technology and Object System) The system shall be very dependable and inexpensive to produce (Realization Constraints).
Problem Domain Description • Class Diagrams (things and their relations) • Selected Behaviours (events and their sequence) • Notes - text (interpretation of concepts)
Example: Tractor Behaviour In row Outside row Manual Auto start stop
lower Example: Interaction of Tractor and Row Weeder :Tractor :RowWeeder engage no_row
Summary: Problem Domain Analysis • Rich Picture • System definition - FACTOR • Structure - Class Diagrams • Behaviour - Statechart Diagrams • Interaction - Sequence Diagrams • Notes
Your Report - 1! • Requirements Specification • 1.1 System Definition • 1.2 Problem Domain Structure • 1.3 Application Domain Structure • 1.4 Acceptance Test Specification • Architecture • Modules • Implementation • 5. Test
UML Notation • Class • Object • Association • Dependency • Package
Class and Object Class name Object: Class name attributes Association methods 1 *
Generalization Superclass Subclass
Aggregation the whole [arity] the part
Association [arity] [arity] [name]
Dependency ”uses”
Package (cluster) <<cluster>> name related classes
Summary: Diagrams • Class and Object • Generalization • Aggregation • Association • Dependency • Package • Statechart Diagram • Sequence Diagram