on a “buzzword” hierarchical structure. cs-575 software design, team 12 team 1 cs575 –...

20
On a “Buzzword” Hierarchical Structure

Upload: noel-scott

Post on 27-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

On a “Buzzword”

Hierarchical Structure

Page 2: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

2

Team 1

CS575 – Software DesignBob Hazen, Mike Mangos, Tim

Santucci, Chris Dahn

Page 3: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

3

Historical Context

1974 No GUIsNo IDEsOnly thing available is code and imagination.

Page 4: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

4

Buzzwords

Parnas uses “hierarchical structures” as his exampleAlone, buzzwords do not convey information Remove definition from a technical

explanation

How do buzzwords occur? Ambiguity – Can mean different things to

different people

Page 5: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

5

Structures

T.H.E. system Program hierarchy, abstract machines Haberman hierarchy, work relationship

RC4000 Resource hierarchy

Multics Access hierarchy, protection hierarchy

Page 6: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

6

Structure Happens

IntentionalAnalytical 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

Page 7: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

7

Object Oriented Programming

SmalltalkC++JavaC?

Page 8: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

8

Smalltalk

“Pure” OOP

Page 9: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

9

C++

EncapsulationPolymorphismInheritanceFriends

Page 10: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

10

Java

EncapsulationPolymorphismInheritance

Page 11: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

11

C

Supposedly not OOPGTK library button struct used as argument to

generic click() function

Page 12: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

12

Commercial Off The Shelf Software

Types of COTS Software End user applications System components Libraries

Beliefs Management Developer End User

Page 13: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

13

Beliefs: Management

Cheap Economies of scale Outsourcing the programming

Reliable

Page 14: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

14

Beliefs: Developer

More expensive Learning to work with it Verify versions of COTS Software

Not always flexible Buggy binary libraries Poor documentation

Page 15: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

15

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

Page 16: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

16

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 architectureQuestioning popular modes of thinking eliminates stale ideas

Page 17: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

17

“Artificial Intelligence”

Turing TestSearch AlgorithmsMachine Vision

Page 18: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

18

Turing Test

What is it? Communication using natural

language

Implementation is variableMimics human behavior

Page 19: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

19

Search Algorithms

Deep Blue vs. KasparovFocuses on single best answer/moveImplementation is specificMimics human decision making

Page 20: On a “Buzzword” Hierarchical Structure. CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn

CS-575 Software Design, Team 1

20

Machine Vision

Face recognitionFocused on pattern recognitionMimics human visual recognition