Architecture | Methodology | Tools

Slides:



Advertisements
Similar presentations
Application of Pedagogic Patterns to the Design of Distance Learning Materials Steve Wade University of Huddersfield.
Advertisements

Article Summary of The Structural Complexity of Software: An Experimental Test By Darcy, Kemerer, Slaughter and Tomayko In IEEE Transactions of Software.
The Last Lecture CS 5010 Program Design Paradigms "Bootcamp" Lesson © Mitchell Wand, This work is licensed under a Creative Commons Attribution-NonCommercial.
Is This a Pattern by Tiffany Winn Paul Calder Flinders University of South Australia.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
LB160 (Professional Communication Skills For Business Studies)
Listening & Note Taking University of Louisville Disability Resource Center.
HOW TO MAKE AN EFFECTIVE PRESENTATION. This is the basic structure of a talk: 1. Introduction 2. Main part (body) 3. Conclusion 4. Question & Answer session.
UML for design: Class Diagrams ENGR 110 #
Reading – Approaching the Questions
AP CSP: Creating Functions & Top-Down Design
Welcome to Computer Science
GRASP – Designing Objects with Responsibilities
Vocabulary Module 2 Activity 5.
HTTP AND ABSTRACTION ON THE INTERNET
‘Asset Management – It’s not just Renewal’
Feeling Welcome – your experience
Interpersonal Communication
Functions and Top-Down Design
Design Patterns Introduction
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
UNIT 3 – LESSON 5 Creating Functions.
CS 5010 Program Design Paradigms "Bootcamp" Lesson 12.1
Advance Software Engineering
Presented by: Angela J. Williams
The Need for Programming Languages
What does learning a language say about me?
21st Century Skills In a Flat World.
First Grade Homework & Classroom News:
Objects, Patterns, Idioms, and Architecture
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Get out any notes you have on the Constitution
Chapter 16 – Software Reuse
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Explain to the group of pupils that they have been given an important opportunity to lead this intervention in their schools. They are communication role.
Reading Comprehension Questions
Extraversion Introversion
Reading Comprehension Questions
‘Asset Management – It’s not just Renewal’
Welcome to Computer Science
Software Defined Networking (SDN)
Managing Your Time.
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Object oriented analysis and design
Software engineering -1
Need for the subject.
DESIGNING YOUR SYSTEM.
Developing Confidence in Mathematical Reasoning
Big Ideas and Problem Solving
For University Use Only
"We cannot waste our precious children
DESIGN PATTERNS : Introduction
Software Engineering Practice: A Generic View
Disciplines Of A Superior Programmer
INDIVIDUAL AND ORGANIZATIONAL CHANGE
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Computational Thinking
Feeling Welcome – your experience
MGT601 SME MANAGEMENT.
Strategic Thinking There are two concepts that all chess players must understand from the start; strategy and tactics. Beginners often confuse the two.
Some Important Skills Every Software Testers Should Have
HFOOAD Chapter 5 Interlude
‘Understanding and Preparing for National Tests’
mastery Maths with Greater Depth at Rosehill Infant SCHOOL
Learning Theory.
From Use Cases to Implementation
Presentation transcript:

Architecture | Methodology | Tools Why is this on the IST-DS Architecture & Design group’s agenda? 31 Aug 2010 Steve Masover & Richard Millet I’m going to set some context for this general set of discussions that we’re going to have going forward Richard will lead some, and I’ll lead some Today, Richard will talk about Dev Infrastructure, Environment and Standards; then I’ll talk about stages of realizing services

Architecture | Methodology | Tools Why talk about this? So, what’s the value of having these kinds of discussion? I’m going to chatter a bit, and while I talk you’re welcome to browse nuggets of wisdom extracted from the introductory materials of Christopher Alexander’s _A Pattern Language_. I won’t read the quotes. Are we all on that page, understanding who CA is, and how his ideas have informed software engineering?

Common Language “[...] towns and buildings will not be able to become alive, unless they are made by all the people in society, and unless these people share a common pattern language, within which to make these buildings, and unless this common pattern language is alive itself.” - Christopher Alexander, A Pattern Language, x How we do our work as software designers and developers: speaking the same language lower communication-impedance easier transitions between projects

Design pattern concept “In short, no pattern is an isolated entity. Each pattern can exist in the world, only to the extent that is supported by other patterns: the larger patterns in which it is embedded, the patterns of the same size that surround it, and the smaller patterns which are embedded in it. This is a fundamental view of the world. It says that when you build a thing you cannot merely build that thing in isolation, but must also repair the world around it, and within it, so that the larger world at that one place becomes more coherent, and more whole; and the thing which you make takes its place in the web of nature, as you make it.” - Christopher Alexander, A Pattern Language, xiii Software engineers have recognized for a while that common problems have solid solutions. Best to leverage these. applies at architectural and methodological levels as it does to OO solution design getting the details right and the big picture wrong is ... sub-optimal

Application of lessons learned “Each solution is stated in such a way that it gives the essential field of relationships needed to solve the problem, but in a very general and abstract way -- so that you can solve the problem for yourself, in your own way, by adapting it to your preferences, and the local conditions at the place where you are making it.” Christopher Alexander, A Pattern Language, xiii “We hope, of course, that many of the people who read, and use this language, will try to improve these patterns – will put their energy to work, in this task of finding more true, more profound invariants – and we hope that gradually these more true patterns, which are slowly discovered, as time goes on, will enter a common language, which all of us can share. You see then that the patterns are very much alive and evolving.” Christopher Alexander, A Pattern Language, xv SOA Kool-Aid -- canonical texts (e.g., Thomas Erl, IBM's SOAM) In KSS, CSpace, and other consortial "SOA projects," review led to assessment: what works for hierarchically governed corporate organizations doesn't map well to single universities, let alone higher ed consortia. Projects that have gone before start out down a "best guess" path, and learn what works and what doesn't Continuing and future projects that learn from past experience are better equipped to work more effectively going forward. This is the ground from which the referred wiki pages grew

Bang for buck “We begin with that part of the language which defines a town or community. These patterns can never be 'designed' or 'built' in one fell swoop – but patient piece-meal growth, designed in such a way that every individual act is always helping to create or generate these larger global patterns, will, slowly and surely, over the years, make a community that has these global patterns in it.” - Christopher Alexander, A Pattern Language, xix ROI: UCB – & other universities, museums, and Mellon – making heavy investments in service oriented projects, and needs to see return Reuse of something: Common among (consortial) projects: the promise that something (code, service contracts, skills, deployment infrastructures) is going to be shared rather than invented/assembled in specialized ways for each set of needs Code sharing is the big ROI that never seems to materialize Achievable ROI: Incumbent on us to find achievable ways to realize a return on investments for which we are responsible And that’s the point: service development principles for architecture and method are an attempt to lay out a path in this direction.

Fini Again: Today, Richard will talk about Dev Infrastructure, Environment and Standards; then I’ll talk about stages of realizing services