close

Se connecter

Se connecter avec OpenID

An Architecture for Distributing the Computation of

IntégréTéléchargement
On a “Buzzword”
Hierarchical Structure
Team 1
CS575 – Software Design
Bob Hazen, Mike Mangos, Tim Santucci,
Chris Dahn
CS-575 Software Design, Team 1
2
Historical Context
1974
No GUIs
No IDEs
Only thing available is code and
imagination.
CS-575 Software Design, Team 1
3
Buzzwords
Parnas uses “hierarchical structures” as his
example
Alone, buzzwords do not convey information

Remove definition from a technical explanation
How do buzzwords occur?

Ambiguity – Can mean different things to different
people
CS-575 Software Design, Team 1
4
Structures
T.H.E. system


Program hierarchy, abstract machines
Haberman hierarchy, work relationship
RC4000

Resource hierarchy
Multics

Access hierarchy, protection hierarchy
CS-575 Software Design, Team 1
5
Structure Happens
Intentional
Analytical heuristic

After the fact
How are they useful?


(T.H.E.) Structure is irrelevant to the machine,
only useful to the developers
(RC4000) Structure is relevant to the operation of
the machine, not necessarily useful to the
developers
CS-575 Software Design, Team 1
6
Object Oriented Programming
Smalltalk
C++
Java
C?
CS-575 Software Design, Team 1
7
Smalltalk
“Pure” OOP
CS-575 Software Design, Team 1
8
C++
Encapsulation
Polymorphism
Inheritance
Friends
CS-575 Software Design, Team 1
9
Java
Encapsulation
Polymorphism
Inheritance
CS-575 Software Design, Team 1
10
C
Supposedly not OOP
GTK library

button struct used as argument to generic
click() function
CS-575 Software Design, Team 1
11
Commercial Off The Shelf Software
Types of COTS Software



End user applications
System components
Libraries
Beliefs



Management
Developer
End User
CS-575 Software Design, Team 1
12
Beliefs: Management
Cheap


Economies of scale
Outsourcing the programming
Reliable
CS-575 Software Design, Team 1
13
Beliefs: Developer
More expensive


Learning to work with it
Verify versions of COTS Software
Not always flexible


Buggy binary libraries
Poor documentation
CS-575 Software Design, Team 1
14
Beliefs: End User
Expects it to work “off the shelf”

Compounded SE problems
User may need to provide COTS
Software


Compatibility issues
Web of dependencies
 Redhat Linux RPMs
CS-575 Software Design, Team 1
15
Moral
Must be clear, concise and intelligent

Buzzwords are inevitable
 Okay, in the proper context
 Don’t take things for granted
“Hierarchical structures” was holding
back software architecture
Questioning popular modes of thinking
eliminates stale ideas
CS-575 Software Design, Team 1
16
“Artificial Intelligence”
Turing Test
Search Algorithms
Machine Vision
CS-575 Software Design, Team 1
17
Turing Test
What is it?

Communication using natural language
Implementation is variable
Mimics human behavior
CS-575 Software Design, Team 1
18
Search Algorithms
Deep Blue vs. Kasparov
Focuses on single best answer/move
Implementation is specific
Mimics human decision making
CS-575 Software Design, Team 1
19
Machine Vision
Face recognition
Focused on pattern recognition
Mimics human visual recognition
CS-575 Software Design, Team 1
20
Auteur
Document
Catégorie
Uncategorized
Affichages
5
Taille du fichier
79 KB
Étiquettes
1/--Pages
signaler