icist 2011 mar 26-28 2011, nanjing, china visualization in software architecture helen wu 1 let’s...

12
ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen Wu FS Consulting Highlights It’s about Software Development. It’s about Modeling. It’s about Visualization. It’s about making good software.

Upload: ethelbert-nichols

Post on 06-Jan-2018

213 views

Category:

Documents


1 download

DESCRIPTION

ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 3 Modeling in Software Development Models according to Booch et al. Visualization of a system Specification of the system’s structure and behavior Template to guide us in the system construction Documentation of the decisions about the system My View: Model is the Source Code Model is the best approximation of software solution to the problem at hand. Model is an example with which we communicate about the system.

TRANSCRIPT

Page 1: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

1

Let’s Enforce a Simple Rulein Software Architecture

Helen WuFS Consulting

Highlights

It’s about Software Development.

It’s about Modeling.

It’s about Visualization.

It’s about making good software.

Page 2: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

2

Software Development

• Electrical Engineering and Computer Science

• Machine (von Neumann) and Program (stored)

• Hardware and Software (Computing)

• Cloud and Swarm

Page 3: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

3

Modeling in Software Development

Models according to Booch et al.• Visualization of a system• Specification of the system’s structure and behavior • Template to guide us in the system construction• Documentation of the decisions about the system

My View: Model is the Source Code • Model is the best approximation of software

solution to the problem at hand.• Model is an example with which we communicate

about the system.

Page 4: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

4

Visualization

• Visualization is not new but rather, a common sense and UML is a visual modeling language.

• Why OOD with UML is popular? UML is a visual tool using boxes and lines.

• Our creativity is rooted with visual imagery.

Page 5: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

5

Source Code is the model

Source Code is the model. However • Source code is difficult to read.• Expert programmers need years of practices to produce high quality

source code.It’s more often then not that the better the source code the harder to

understand (I.e., source can be highly efficient and highly condensed)I paraphrase Linus Torvalds in his oral presentation on git:

I comment a lot because my code is hard to understand. --Linus Torvalds

Page 6: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

6

My Rational behind this research paper

• It is necessary for an array of stakeholders to understand the system design.

• Different stakeholders have a different level of understanding of the system design.

• A simple visualization rule is necessary in order to get the design across among stakeholders.

• Nothing’s new in the rule itself except for the rationale behind the rule.

Page 7: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

7

What’s Wrong with Booch’s definition of Model for SW Dev

According to Booch, model is1. A Visualization of a system2. A Specification of the system’s structure and behavior3. A Template to guide the system construction 4. A form of Documentation of the decisions about the

system

Page 8: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

8

My Analysis (1)

Question: Do UML or other visual modeling tools generate code?

If not, it could be wasteful rather than helpful. After all, model evolves at source code level. Visualization is only helpful in communicating among stakeholders.

Page 9: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

9

My Analysis (2&3)

Specification of design should be an artifact of the model. I.e., specification is complete only after the model is complete and is deliverable.

Model grows and evolves! Model is rather domain specific artifact to the system. It may be reused as a component in a larger system. However, it would be misleading as a template. It might be harder tweaking it to fit a new domain specific situation.

Page 10: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

10

My Analysis (4)

Documentation of a model should be accompanied with the model so that it can be most comprehensive. UML can be complex in describing code if it does not have one to one relation with the code, i.e., generating code automatically. It can be wasteful used by programmers if as a handoff of the system design.

Page 11: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

11

Conclusions

• It’s a software development methodology.• It’s for team work developing large

software systems.• It’s AGILE.• It’s about making good software.

Page 12: ICIST 2011 Mar 26-28 2011, Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen

ICIST 2011Mar 26-28 2011, Nanjing, China

Visualization in Software Architecture Helen Wu

12

Q & A