Introduction to Software Engineering - PowerPoint PPT Presentation

1 / 114
About This Presentation
Title:

Introduction to Software Engineering

Description:

CoffeeMachine make a cup of coffee and return it. MakeTea. Put 5 ... Select Tea. CoffeeMachine make a cup of tea and return it. 2005-07-21. KAIST SELAB. 35 /271 ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 115
Provided by: Mar784
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Software Engineering


1
Introduction to Software Engineering Embedded
System Modeling
  • Software Engineering Laboratory
  • 2008.03

2
Overview
Well cover these stages
Requirements Analysis
System Analysis
Requirements
System Design
System Integration Application Generation
Well show simulation and code generation
Verifiable Application
3
Telelogic
  • Software development tool company
  • Top 10s company in computer industry
  • Products
  • Doors Requirement engineering tool
  • Tau Modeling tool
  • Synergy Configuration management tool
  • Doc Expression Documentation tool

4
Telelogic TAU
  • UML development tool
  • Model Editing
  • Simulation / Verification
  • Code generator
  • Based on UML 2.0

5
Basics of TAU (1/10)
  • Project creation

6
Basics of TAU (2/10)
  • Project creation

7
Basics of TAU (3/10)
  • Project creation

8
Basics of TAU (4/10)
  • Project creation

9
Basics of TAU (5/10)
  • Project creation

10
Basics of TAU (6/10)
  • Whole view of TAU

Menu Bar
Tool Bar
Model Window
View Window
Message Window
11
Basics of TAU (7/10)
  • Exploring TAU

12
Basics of TAU (8/10)
  • Exploring TAU

13
Basics of TAU (9/10)
  • Exploring TAU

14
Basics of TAU (10/10)
  • Exploring TAU

15
Coffee Machine
  • Requirements
  • Coffee Machine sell coffee and tea
  • Coffee is sold by 10 coin
  • Tea is sold by 5 coin
  • Coffee Machine accept only 10 coin and 5 coin
  • After putting coin into vending machine, Customer
    can choose coffee or tea
  • If tea is ordered, Hot water is given to
    Customer.
  • If coffee is ordered, a customer can choose
    whether milk or no milk, and quantity of sugar

16
Requirement analysis
Use Case Diagram
What is the functions of the system?
Sequence Diagram
What is the scenarios of the system?
Requirements
17
Workspace Loading
18
Use Case Diagram (1/16)
  • Creating Collaboration

19
Use Case Diagram (2/16)
  • Creating Collaboration

20
Use Case Diagram (3/16)
  • Renaming Collaboration

21
Use Case Diagram (4/16)
  • Creating Use Case Diagram

22
Use Case Diagram (5/16)
  • Creating Use Case Diagram

Press the button to maximize window
23
Use Case Diagram (6/16)
  • Creating Use Case Diagram

24
Use Case Diagram (7/16)
  • Creating Actor

25
Use Case Diagram (8/16)
  • Renaming Actor

26
Use Case Diagram (9/16)
  • Creating Actor

27
Use Case Diagram (10/16)
  • Creating Use Case

28
Use Case Diagram (11/16)
  • Creating Use Case

29
Use Case Diagram (12/16)
  • Creating association between MakeCoffee and
    Customer

Dependancy
Association
Generalization
30
Use Case Diagram (13/16)
  • Creating association between MakeCoffee and
    Customer

Click
Move to actor
Click
31
Use Case Diagram (14/16)
  • Creating Subject

Drag and Drop
Click
32
Use Case Diagram (15/16)
  • Renaming Subject

33
Use Case Diagram (16/16)
  • Exercise
  • Create remained use case and its association
  • Hint
  • We created MakeCoffee use case
  • Create use case related making tea and its
    association

34
Sequence Diagram (1/10)
  • What is the scenarios of this system?
  • Generally, we draw sequence diagram on each use
    case
  • MakeCoffee
  • Put 10 coin into CoffeeMachine
  • Select Coffee and some additives
  • CoffeeMachine make a cup of coffee and return it
  • MakeTea
  • Put 5 coin into CoffeeMachine
  • Select Tea
  • CoffeeMachine make a cup of tea and return it

35
Sequence Diagram (2/10)
  • Creating Interaction Implementation

36
Sequence Diagram (3/10)
  • Creating Sequence Diagram

37
Sequence Diagram (4/10)
  • Draw the entities in sequence diagram

We can draw additional entity
We already have entities of the model
38
Sequence Diagram (5/10)
  • Drag and drop Customer to sequence diagram

39
Sequence Diagram (6/10)
  • Drag and drop CoffeeMachine to sequence diagram

40
Sequence Diagram (7/10)
  • Draw message from Customer to CoffeeMachine

Message Type
41
Sequence Diagram (8/10)
  • Draw message from Customer to CoffeeMachine

Click
Click
Click and type a name of the message
42
Sequence Diagram (9/10)
  • Created coin message

43
Sequence Diagram (10/10)
  • Exercise
  • Create remained messages
  • between Customer and CoffeeMachine
  • Hint
  • In MakeCoffee scenario,
  • After putting coin, we must select coffee and
    additives.
  • Then CoffeeMachine return a cup of coffee

44
System Analysis
What are the classes that the system consist of ?
Use Case Diagram
What is the relationship between classes?
Class Diagram (Domain Model)
What are attributes and operations of each class?
What is detailed scenarios?
Sequence Diagram
Detailed Sequence Diagram
45
Class Diagram (1/26)
  • What is the entities in this system?

46
Class Diagram (2/26)
  • Creating class diagram

47
Class Diagram (3/26)
  • Drawing a class

48
Class Diagram (4/26)
  • Drawing a class

49
Class Diagram (5/26)
  • Renaming the class

50
Class Diagram (6/26)
  • Renaming class and set to external class

Type Customer
Check
51
Class Diagram (7/26)
  • Exercise
  • Create remained classes
  • Hint
  • We found out CoffeeMachine, Controller and
  • Hardware in previous slide

52
Class Diagram (8/26)
  • Making relationship between classes
  • CoffeeMachine is composite with Controller and
    Hardware

Move to class and click
Click
53
Class Diagram (9/26)
  • Making relationship between classes

Drag and Drop to move connection point
54
Class Diagram (10/26)
  • Making composite relationship

55
Class Diagram (11/26)
  • Making composite relationship with Hardware

56
Class Diagram (12/26)
  • Identifying Active Class
  • Customer and CoffeeMachine can simultaneously
    act.
  • Controller and Hardware can simultaneosly act.
  • Controller and Hardware is parts of CoffeeMachine
  • Customer, CoffeeMachine, Controller, Hardware are
    active classes
  • In the embedded system, many classes can be
    identified to active class

57
Class Diagram (13/26)
  • Making Active Class

Check
Click a class
58
Class Diagram (14/26)
  • Completed identifying active class

59
Class Diagram (15/26)
  • We can define interfaces
  • Between external and internal
  • Between Customer and CoffeeMachine
  • In embedded system, Interfaces frequently come
    out
  • Between external system and internal system
  • Between sub systems
  • We define interfaces between Customer and
    CoffeeMachine

60
Class Diagram (16/26)
  • Defining interfaces

61
Class Diagram (17/26)
  • Defining interfaces

Type ToUser
Click to create Interface
62
Class Diagram (18/26)
  • Defining interfaces

Click
Click
63
Class Diagram (19/26)
  • Defining interfaces

64
Class Diagram (20/26)
  • Creating Port

65
Class Diagram (21/26)
  • Creating Port

66
Class Diagram (22/26)
  • Creating Provided Interface

67
Class Diagram (23/26)
  • Creating Provided Interface

68
Class Diagram (24/26)
  • Creating Required Interface

69
Class Diagram (25/26)
  • Creating Required Interface

70
Class Diagram (26/26)
  • Domain Model

71
Workspace Loading
72
System Internal Behavior
  • In a case of Making Coffee
  • Fill water
  • Fill coffee
  • Heat water
  • In a case of Making Tea
  • Fill water
  • Heat water

73
Sequence Diagram (1/2)
  • Draw detailed sequence diagram

Double Click
74
Sequence Diagram (2/2)
  • Drawing detailed sequence diagram

75
System Design (1/3)
What is the behavior of each class?
Detailed Sequence Diagram
State Chart Diagram
What is specific message and its type?
Class Diagram (Domain Model)
Refined Class Diagram
Class Diagram (Signal Model)
76
System Design (2/3)
  • Messages between Controller and Hardware
  • FillWater, FillCoffee
  • HeatWater
  • WaterOK, CoffeeOK
  • Warm
  • Messages between Controller and Customer
  • Coin
  • ReturnChange
  • Tea, Coffee
  • CupOfWater, CupOfCoffee

77
System Design (3/3)
  • Every class of this system is active class.
  • Between active classes, types of messages are
    generally asynchronous message or signal.
  • We will design messages to be signal.

78
Class Diagram of Signal Model (1/7)
  • Open Signals class diagram

79
Class Diagram of Signal Model (2/7)
  • Defined signals as classes

80
Class Diagram of Signal Model (3/7)
  • Adding Tea signal

81
Class Diagram of Signal Model (4/7)
  • Adding Tea signal

Type Tea
82
Class Diagram of Signal Model (5/7)
  • Adding Tea signal

83
Class Diagram of Signal Model (6/7)
  • Adding Tea signal

Drag and Drop
84
Class Diagram of Signal Model (7/7)
  • Completed Signal Model

85
Refined Class Diagram (1/3)
  • Review Domain Model

86
Refined Class Diagram (2/3)
  • Review Internal Communication on CoffeeMachine

Double Click
87
Refined Class Diagram (3/3)
  • Review Internal Communication on CoffeeMachine

88
State chart diagram (1/3)
  • Review state charts of Controller

Double Click
89
State chart diagram (2/3)
  • Review state charts of Controller ( NewOrder )

90
State chart diagram (3/3)
  • Review state charts of Controller (
    MakingBeverage )

91
System Integration Application Generation
Check Model
Model Simulation
Class Diagram
Simulation Result
Composite Diagram
Generated Code
State Chart Diagram
Code Generation
92
Workspace Loading
93
Model Check
  • Verifying Model

94
Simulation (1/10)
  • Simulation Launch

95
Simulation (2/10)
  • Launch simulation

96
Simulation (3/10)
  • Expand Message Window from Environment

At the bottom of TAU window, there is message
window
Click to expand
97
Simulation (4/10)
  • Running the simulation

Step over
Turn on trace function
98
Simulation (5/10)
  • Running the simulation

99
Simulation (6/10)
  • Send coin signal to simulator

And keep going by step over
100
Simulation (7/10)
  • Send coffee signal to simulator

And keep going by step over
101
Simulation (8/10)
  • Jump to next transition

102
Simulation (9/10)
  • Check trace

103
Simulation (10/10)
  • Stop the simulation

104
Code Generation (1/9)
  • Setting for code generation

105
Code Generation (2/9)
  • Setting for code generation

Select add-ins tab
Check
106
Code Generation (3/9)
  • Setting for code generation

107
Code Generation (4/9)
  • Setting for code generation

108
Code Generation (5/9)
  • Setting for code generation

109
Code Generation (6/9)
  • Generating a code

110
Code Generation (7/9)
  • Generating a code

111
Code Generation (8/9)
  • Generating a code

112
Code Generation (9/9)
  • Generated code

113
QA
114
Thank you for listening !
Write a Comment
User Comments (0)
About PowerShow.com