Download presentation
Presentation is loading. Please wait.
Published byNoel Scott Modified over 9 years ago
1
On a “Buzzword” Hierarchical Structure
2
CS-575 Software Design, Team 12 Team 1 CS575 – Software Design Bob Hazen, Mike Mangos, Tim Santucci, Chris Dahn
3
CS-575 Software Design, Team 13 Historical Context 1974 No GUIs No IDEs Only thing available is code and imagination.
4
CS-575 Software Design, Team 14 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
5
CS-575 Software Design, Team 15 Structures T.H.E. system Program hierarchy, abstract machines Haberman hierarchy, work relationship RC4000 Resource hierarchy Multics Access hierarchy, protection hierarchy
6
CS-575 Software Design, Team 16 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
7
CS-575 Software Design, Team 17 Object Oriented Programming Smalltalk C++ Java C?
8
CS-575 Software Design, Team 18 Smalltalk “Pure” OOP
9
CS-575 Software Design, Team 19 C++ Encapsulation Polymorphism Inheritance Friends
10
CS-575 Software Design, Team 110 Java Encapsulation Polymorphism Inheritance
11
CS-575 Software Design, Team 111 C Supposedly not OOP GTK library button struct used as argument to generic click() function
12
CS-575 Software Design, Team 112 Commercial Off The Shelf Software Types of COTS Software End user applications System components Libraries Beliefs Management Developer End User
13
CS-575 Software Design, Team 113 Beliefs: Management Cheap Economies of scale Outsourcing the programming Reliable
14
CS-575 Software Design, Team 114 Beliefs: Developer More expensive Learning to work with it Verify versions of COTS Software Not always flexible Buggy binary libraries Poor documentation
15
CS-575 Software Design, Team 115 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
16
CS-575 Software Design, Team 116 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
17
CS-575 Software Design, Team 117 “Artificial Intelligence” Turing Test Search Algorithms Machine Vision
18
CS-575 Software Design, Team 118 Turing Test What is it? Communication using natural language Implementation is variable Mimics human behavior
19
CS-575 Software Design, Team 119 Search Algorithms Deep Blue vs. Kasparov Focuses on single best answer/move Implementation is specific Mimics human decision making
20
CS-575 Software Design, Team 120 Machine Vision Face recognition Focused on pattern recognition Mimics human visual recognition
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.