Computer Aided Software Computer Aided Software Architecture Design Architecture Design
Genevieve Queen of Table Manipulation Bartlett
Abigail Princess of GUI Gray
(Insram Nice Guy Shah)
Project MotivationProject Motivation
The problem is that Software Design tends to evolve -- even as you are designing. – incorporating changes becomes quite tedious
when designing on a paper or black-board.
Make some things automated and easier to manipulate
Automated suggestions
Motivation (cont.)Motivation (cont.)
From class:– “I don’t remember why I said that was a
dependency”– “I’ll just squeeze [the column] in here”– “This really should be done with a
computer” (said while adding a column)
IdeaIdea
Write a program with input of “design rules” and output annotated DSM and graph.
Automated suggestions Easy undo/redo Tool to help “experts” play with ideas Tool to help “beginners” learn about
design
DescriptionDescription
User Friendly GUI tool for defining data within the DSM.
Menu driven functionality that automates the practices and features of the DSM.
The ease of creating and editing Design Parameters enables the freedom to make changes in the design– w/o erasing and re-writing the matrix
FOR MORE INFO...
http://www-cse.ucsd.edu/classes/fa02/cse218/218chicks/
TechnologyTechnology
Design Structure Matrices– Well known technique to help define design
decisions, elements, interfaces and component relationships
– Ability to Modularize Java programming language– Good tool for building applications with an
emphasis on GUIs / presentation, where performance is not an issue DYA: define your acronyms!
Sample Design Structure MatrixSample Design Structure Matrix
Design params 1 2 3 4 5 6 7 8
1. unique wds
. x x
2. count wds
x . x
3. word parse
. x
4. input . x
5. top words
x x .
6. result format
x x . x
7. output x x .
8. files .
ScreenShotScreenShot
Future WorkFuture Work
Convert Table to a Flow Chart Apply Design Rules to Table– Start with Splitting and Substitution– Later add Inversion, Augmentation and
Porting.– User Interactive Process
Create a Modularized DSM Create an Extension Hierarchy Flow Chart
Lessons LearnedLessons Learned
Tool using– UI need s work – swapping columns important,
and *hard* to do automated educated guesses about.
Tool building– Don’t try to incorporate all cool features at once (it
actually is hard to think of the simplest first prototype).
– Final projects should be done in language all team members are familiar with!
– Many 3rd party java tools written for windows are buggy on Unix!
Top Related