Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail...

11
Computer Aided Computer Aided Software Architecture Software Architecture Design Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

Transcript of Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail...

Page 1: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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)

Page 2: Computer Aided Software 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

Page 3: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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)

Page 4: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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

Page 5: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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/

Page 6: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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!

Page 7: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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 .

Page 8: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

ScreenShotScreenShot

Page 9: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)
Page 10: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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

Page 11: Computer Aided Software Architecture Design Genevieve Queen of Table Manipulation Bartlett Abigail Princess of GUI Gray (Insram Nice Guy Shah)

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!