icist 2011 mar 26-28 2011, nanjing, china visualization in software architecture helen wu 1 let’s...
Post on 06-Jan-2018
213 Views
Preview:
DESCRIPTION
TRANSCRIPT
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.
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
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.
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.
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
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.
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
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.
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.
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.
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.
ICIST 2011Mar 26-28 2011, Nanjing, China
Visualization in Software Architecture Helen Wu
12
Q & A
top related