UCLV, Santa Clara, March 2003 - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

UCLV, Santa Clara, March 2003

Description:

including incrementing and decrementing. ... a decrement button and I see a reset button. Best regards. Your customer. Slide 10 ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 35
Provided by: andreassch
Category:
Tags: uclv | clara | decrement | march | santa

less

Transcript and Presenter's Notes

Title: UCLV, Santa Clara, March 2003


1
Modern Aspects in Software Engineering4.
Object-Oriented SEProf. Dr.-Ing. habil. Reiner
DumkeOtto-von-Guericke-Universität
MagdeburgFakultät für Informatik, Institut für
Verteilte SystemeAG Softwaretechnikhttp//ivs.cs
.uni-magdeburg.de/sw-eng/agruppe/
2
OOSE - Introduction
  • Interfaces between the system components,
  • Functions or functional structures,
  • Data basis and/or data structures,
  • Problem related objects.

Changing
3
OOSE - Introduction
  • Effectiveness of Programming
  • Simula 67
  • Smalltalk
  • C
  • Eiffel
  • etc.

4
OOSE - Introduction
Abstract data types type Bit is Boolean
opns 0,1 ? Bit
Bit, Bit ? Bit eq Bit,Bit ?
Boolean eqns 0 1 1 0 1
1 1 0 0 0 0 eq 0 1 eq 1
true 1 eq 0 0 eq 1 false
endtype
5
OOSE - Introduction
  • Basic notions
  • Object abstraction of the problem area with
    states
  • (attributes) and behavior
    (services/methods)
  • Message a call of a service of an object in the
    form
  • method(par1, , parn)
  • Role the possible behavior of an object in a
    special
  • context
  • Scenario a sequence of messages which explain
  • the operationality

6
OOSE - Introduction
  • Basic notions
  • Class a summarizing of objects with semantical
  • equivalency
  • Class hierarchy inheritance structure (mostly
    tree)
  • Class library an implemented set of classes
  • Polymorphism the possibility of two or more
    methods
  • with the same name

7
OOSE - Introduction
Class diagram Book title
author Cover keywords
displayContents SEBook
TextBook pages
8
OOSE Development Methodologies


9
OOSE Analysis Specification
Dear Developer, I like to count. I want to have
a software system for counting including
incrementing and decrementing. I want to count a
lot of things in different number systems. Just I
have a red plastic counter with an increment
button, a decrement button and I see a reset
button. Best regards Your customer
10
OOSE Analysis Specification
Number countValue resetValue reset increment dec
rement presenting
Not counter!
11
OOSE Analysis Specification
  • Analysis pattern
  • Party
  • Portfolio
  • Post
  • Contract
  • Scenario
  • etc.

12
OOSE - Design
Number countValue resetValue reset increment d
ecrement presenting
MyCounter -
R display
13
OOSE - Design
14
OOSE Design Pattern
15
OOSE Implementation (Java)
16
OOSE Implementation (Forte4J)
17
OOSE Implementation (Forte4J)
18
OOSE - Implementation
19
OOSE - Testing
Classical test example Java-Code for (int
i0 i lt n i) if (a.get(i)
b.get(i)) xi xi 100
else xi xi/2
All Ci cases and all numbers Billion of years
test time
20
OOSE - Testing
Test example 2 Proof if a, b, c builds a
triangle
21
OOSE - Testing
  • Added test cases
  • missing constructor
  • overwritten methods
  • overloaded attributes
  • incorrect inheritance
  • inheritance cycle
  • missing class variables
  • etc.

22
OOSE Test Pattern
  • Test Pattern Description
  • Intent
  • Context
  • Fault Model
  • Strategy
  • Entry/Exit Criteria
  • Consequences
  • Known uses

23
OOSE Test Pattern
Test Design Pattern - Examples Test area
Identification Content
Class methods Category-Partition
Test case for I/O Combinational Function
Logical based test sequences Recursive
Function Test cases for recursive
funktions Polymorphic Message Test
cases for a client to a pol. server Classes
Invariant Boundaries Identification
of test vectors Nonmodal Class
Class test cases without constraints Quasi-moda
l Class Class test cases with
constraints Transitive Operation
Test cases for transitive methods Class
integration Components System
Application
24
OOSE Unified Modeling Language
25
OOSE Rational Unified Process
26
OOSE UML - OCL
Object Constraint Language (OCL) Typ1operatio
n(arg Typ2) ReturnTyp pre arg.attribut1
true post result arg.attribut1 xor
arg.attribut2 Customer sex female implies
callingSenior
27
OOSE UML - CASE
28
OOSE UML - CASE
29
OOSE UML - CASE
30
OOSE UML - Example
Housekeeping Book
31
OOSE UML - Example
Housekeeping Book Behavior modelling
32
OOSE UML - Example
Housekeeping Book Component design
33
OOSE UML - Example
  • Housekeeping Book Implementation
    characteristics
  • Number of Requirements 20 verbal description,
  • Test cases 28 ,
  • Diagrams 1 Use Case diagram, 8 State diagrams,
  • 4 Sequence diagrams, 4
    Collaboration diagrams,
  • 3 Class diagrams, 1 Component
    diagram,
  • Algorithm description ca. 150 Lines of
    pseudocode,
  • Classes 21 implemented Java Classes,
  • Program lines ca. 4600 Java LOC,
  • Dokumentation Web-based hypertext description
  • Effort ca. 3 Person month

34
Questions, Remarks !!!
Write a Comment
User Comments (0)
About PowerShow.com