Вы находитесь на странице: 1из 20

On a Buzzword

Hierarchical Structure

Team 1
CS575 Software Design
Bob Hazen, Mike Mangos, Tim
Santucci, Chris Dahn

CS-575 Software Des

Historical Context
1974
No GUIs
No IDEs
Only thing available is code and
imagination.

CS-575 Software Des

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 Des

Structures
T.H.E. system

Program hierarchy, abstract machines


Haberman hierarchy, work relationship

RC4000

Resource hierarchy

Multics

Access hierarchy, protection hierarchy


CS-575 Software Des

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 Des

Object Oriented Programming


Smalltalk
C++
Java
C?

CS-575 Software Des

Smalltalk
Pure OOP

CS-575 Software Des

C++
Encapsulation
Polymorphism
Inheritance
Friends

CS-575 Software Des

Java
Encapsulation
Polymorphism
Inheritance

CS-575 Software Des

10

C
Supposedly not OOP
GTK library

button struct used as argument to


generic click() function

CS-575 Software Des

11

Commercial Off The Shelf


Software
Types of COTS Software

End user applications


System components
Libraries

Beliefs

Management
Developer
End User
CS-575 Software Des

12

Beliefs: Management
Cheap

Economies of scale
Outsourcing the programming

Reliable

CS-575 Software Des

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 Des

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 Des

15

Moral
Must be clear, concise and intelligent

Buzzwords are inevitable


Okay, in the proper context
Dont take things for granted

Hierarchical structures was holding


back software architecture
Questioning popular modes of
thinking eliminates stale ideas
CS-575 Software Des

16

Artificial Intelligence
Turing Test
Search Algorithms
Machine Vision

CS-575 Software Des

17

Turing Test
What is it?

Communication using natural


language

Implementation is variable
Mimics human behavior

CS-575 Software Des

18

Search Algorithms
Deep Blue vs. Kasparov
Focuses on single best
answer/move
Implementation is specific
Mimics human decision making

CS-575 Software Des

19

Machine Vision
Face recognition
Focused on pattern recognition
Mimics human visual recognition

CS-575 Software Des

20

Вам также может понравиться