PATTERNS. A Short Course. Juha Pärssinen, Senior Research Scientist VTT Technical Research Centre of Finland
|
|
- Maud Jones
- 7 years ago
- Views:
Transcription
1 PATTERNS A Short Course Juha Pärssinen, Senior Research Scientist Juha.Parssinen@vtt.fi VTT Technical Research Centre of Finland 1 (43)
2 Presentation outline What is a pattern? - What are benefits of patterns? - What is a good pattern? - What is not a pattern? What is a pattern language? What kind of pattern forms there are? What is an essential pattern form? How to find patterns? How to read a pattern? How to write a pattern? How to improve a pattern? References Appendix: Pattern Example Appendix: Exercise for reader 2 (43)
3 What is a pattern? Some well-known quotes from original founder of patterns: Each pattern is a three-part rule, which express a relation between a certain context, a problem, and a solution. Christopher Alexander, Timeless Way of Building, The pattern is, in short, at the same time a thing, which happens in the world, and the rule which tells us how to create that thing, and when we must create it. It is both a process and a thing; both a description of a thing which is alive, and a description of the process which will generate that thing. Christopher Alexander, Timeless Way of Building, Each pattern describes a problem which occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use this solution a million times over, without doing it the same way twice. Christopher Alexander, Sara Ishikawa, and Murray Silverstein, A Pattern Language: Towns, Buildings, Construction, (43)
4 What is a pattern (cont.)? Patterns are more like recipes than plans: I like to make the distinction between a plan and a recipe. A plan can be reverse engineered from a building but a recipe can t (easily) be reverse engineered from a cake. Our genome is a recipe, not a plan. Recipes seem to serve better as a schema of complex adaptive systems. Ward Cunningham, 20 February One of the first definitions of patterns in the area of computer science: A design pattern names, abstracts, and identifies the key aspects of a common design structure that make it useful for creating a reusable object-oriented design. The design pattern identifies the participating classes and instances, their roles and collaborations, and the distribution of responsibilities. Each design pattern focuses on a particular object-oriented design problem or issue. It describes when it applies, whether it can be applied in view of other design constrains, and the consequences and trade-offs its use. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides Design Patterns - Elements of Reusable Object-Oriented Software, (43)
5 What is a pattern? An example. Each pattern is a three-part rule, which express a relation between a certain context, a problem, and a solution. Christopher Alexander, Timeless Way of Building, Simple pattern example to clarify this rule [8]: Lecture s life Context Problem Solution A class of water, a cup of coffee, or a bottle of beer. 5 (43)
6 What is a pattern? An example (cont.). Lecture s life Context Problem Lecturer is thirsty. Solution A class of water, a cup of coffee, or a bottle of beer. 6 (43)
7 Context What is a pattern? An example (cont.). In a lecture hall at 10 a.m. In a cafe room at 2 p.m. After work on Friday at 6 p.m. Problem Lecturer is thirsty. Solution Lecture s life A class of water in a lecture hall, a cup of coffee in a cafe room, or a bottle of beer after work on Friday. 7 (43)
8 What is a pattern? An example (cont.). Actually this is a pattern language (or system) of three patterns: - on duty, at break and off duty. - Pattern languages are discussed in section "What is a pattern language?". Context In a lecture hall at 10 a.m. Problem Lecturer is thirsty. Solution Drink a class of water. Lecture s life: on duty 8 (43)
9 What is a pattern? Lecture s life: at break Context In a cafe room at 2 p.m. Problem Lecturer is thirsty. Solution Drink a cup of coffee. An example (cont.). Lecture s life: off duty Context After work on Friday at 6 p.m. Problem Lecturer is thirsty. Solution Drink a bottle of beer. 9 (43)
10 What are benefits of patterns? Some well-known benefits of patterns [1]: forms a common vocabulary in an application domain; make design-level reuse possible; provide a road map to the structure of existing system; helps designer to avoid wrong design decisions; can be used as a teaching aid for newcomers. 10 (43)
11 A good pattern [1]: What is a good pattern? must be a proven solution to a problem in a context; - Must be mature (rule of three). - Unproven patterns are sometimes called as proto-patterns or patlets. must be able to tell the problem solver what to do to solve the problem; should have a dense set of interacting forces that are independent of the forces in other patterns; tend to have geometric overtones; must contribute to human comfort or quality of life: - this is possible even in software, the quality without name [7]. 11 (43)
12 What is a good pattern (cont)? Any good pattern has the quality without name [7]. Words to describe this quality (and to ultimately confuse): alive, whole, comfortable, free, exact, egoless, and eternal. Some things about software that possesses this quality [3]: - It is not written to an unrealistic deadline. - Its modules and abstractions are not too big. - Any bad parts were repaired during maintenance, or are being repaired now. - If I look at any small part of it, I can se what is going on. I don t need to look other parts to understand. - If I look at any large part in overview, I can see what is going on. I don t need to know details. - Everything about it seems familiar. - I can imagine changing it, adding some functionality. 12 (43)
13 A pattern is not [1]: What is not a pattern? a simple rule; - Obvious problem/solution pair is usually just a rule of thumb. a prescriptive example; an algorithm; a data structure; an isolated solution to a problem in a context. 13 (43)
14 What is not a pattern? (cont.) One possible test for "pattern-ness": - However, this is not a definitive test. A pattern-like entity that exhibits these characteristics is not definitely a pattern [9]. Nine essential characteristics of a pattern [9]: - a pattern implies an artifact; - a pattern bridges many levels of abstraction; - a pattern is both functional and nonfunctional; - a pattern is manifest in a solution; - a pattern captures system hot spots; - a pattern is part of a language; - a pattern is validated by use; - a pattern is grounded in a domain; - a pattern captures a big idea. Any entity that does not exhibit any one or more of the essential characteristics is not a pattern [9]. 14 (43)
15 What is a pattern language? No pattern is an isolated entity. Each pattern can exist in the world, only to the extent that it 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. Christopher Alexander, Sara Ishikawa, and Murray Silverstein, A Pattern Language: Towns, Buildings, Construction, A pattern language is a collection of patterns that build on each other to generate a system. A pattern in isolation solves an isolated design problem: a pattern language builds a system. A pattern language has structure, but not the same level of formal structure that one finds in programming languages. A pattern language is typically designed for well-constrained application domain. 15 (43)
16 What kind of pattern forms there are? The form of an individual pattern is typically based at least one of these: Alexandrian Form [6] - No separate sections. - Only syntactic structure: Therefore GOF Form [10] - Contains 13 separated sections, pattern description tend to be very long. - Object-oriented software. The Portland Form - Ward Cunningham s on-line repository: the Portland Pattern Repository. The Coplien Form [1] - This is close to essential form presented next. 16 (43)
17 What is an essential pattern form? Name Context Problem Forces Solution Resulting Context 17 (43)
18 What is an essential pattern form (cont.)? Name Name a pattern with the same care as for a firstborn child. Names are often noun phrases. Pattern names tend to be based on the solution or problem. Short, concise, semantically rich, revealing or suggestive. Clever names are memorable - but don t get too clever. The pattern names should become part of the domain vocabulary. 18 (43)
19 What is an essential pattern form (cont.)? Context Defines when a pattern is applicable. Location of the pattern in the pattern language. Context includes a history of patterns that have been applied before the current pattern was considered. A good context is typically difficult to define. 19 (43)
20 What is an essential pattern form (cont.)? Problem Usually stated as a question, or as a problem statement. Usually the first thing a solution-seeker looks at. An understanding of the problem comes from an analysis of the forces. Some pattern forms reduce the problem to a single question or a summary formulation of the problem. In other forms, the problem statement is a small essay that motivates or illustrates a need. 20 (43)
21 What is an essential pattern form (cont.)? Forces The heart of a pattern. A whole is field of forces, or trade-offs. Individual patterns encapsulated related forces. Forces answer questions: What makes this a hard problem? What factors make the obvious solution the wrong one? Contradiction is O.K - conflict is great! 21 (43)
22 What is an essential pattern form (cont.)? Solution... Ken Auer writes that the solution statement should have the feeling that the reader has just been hit in the face, "Boom!"... Norm Kerth [5] The solution should solve the problem stated in the problem section. Solution balance forces. Some patterns provide only partial solutions but open a path to other patterns that balance unresolved forces. A good solution has enough detail so the designer knows what to do, but it is general enough to address a broad context. 22 (43)
23 What is an essential pattern form (cont.)? Sketch: Solution (cont.) If you can t draw a diagram of it, it isn t a pattern. The sketch usually conveys structure. Christopher Alexander, Timeless Way of Building, Class and object diagrams are typically used to present example solution structures in object-oriented design. Interaction diagrams that illustrate event ordering or other dynamics are equally useful. 23 (43)
24 What is an essential pattern form (cont.)? Resulting Context The resulting context is the wrap-up of the pattern. It tells: which forces were solved; which new problems may arise because of this pattern; what related patterns may come next. Ties patterns together into a pattern language. 24 (43)
25 Books: Pattern Almanac [17]; How to find patterns? PLoPD 1-4 [13][14][15][16]; GOF [10], POSA [11], and POSA2 [12]. On-line resources: URL: - On-line pattern catalog; - PLoP conferences on-line proceedings; - Pattern mailing lists. News groups: - comp.software.patterns (started at 11th October 2001) - comp.object 25 (43)
26 How to read a pattern? Abstract/Context oriented approach Browse patterns reading their name and abstract (if there is one), or read context, if there is no abstract. Read problem and solution together. Read other parts. Problem oriented approach Browse patterns reading their name and problem briefly. Read context, and then problem and solution together. Read other parts. 26 (43)
27 Approach vary with forms. How to write a pattern? Linear approach is rarely successful. Often good to start with forces, or maybe with solution. Name and problem can become later. Next five slides from page 28 to page 32 present a set of questions which can be used to find sections of patterns descriptions. 27 (43)
28 How to write a pattern (cont.)[4]? During writing process of your pattern, answer following questions: When is the reader ready to consider this piece of wisdom? What decisions have they had to make, in order for this pattern to be useful to them? What other conditions must be present for this to be a valid pattern for the reader to consider? This leads to the CONTEXT. - When is this pattern applicable. 28 (43)
29 How to write a pattern (cont.)[4]? During writing process of your pattern, answer following questions: To wisely decide on a particular design decision, what are all the elements that need to be considered? What are the various problems that all need to be considered in order for your reader to choose wisely? This leads to the FORCES. - What to consider when focusing one s attention to this design decision, i.e., discuss all the facets of the design decision from the perspective of understanding the problem. 29 (43)
30 How to write a pattern (cont.)[4]? During writing process of your pattern, answer following questions: What solution do you recommend? What are the various facets? What are the variations? What are the tests your reader can use to affirm they have chosen a wise design? This leads to the SOLUTION. - Discuss the solution and solution options given the problem highlighted in the FORCES section. - Refer to the items in the FORCES section as needed. - Make sure that you have addressed each of the forces in your SOLUTION section. 30 (43)
31 How to write a pattern (cont.)[4]? During writing process of your pattern, answer following questions: Given the answers to the questions 1, 2, and 3, ask: How do we name this information in such a way that our wisdom will be memorable, in the sea of all the other wisdom out there? This leads to the NAME. 31 (43)
32 How to write a pattern (cont.)[4]? During writing process of your pattern, answer following questions: With these design issues resolved, what are the next important design issues to consider? This gives the place of your pattern in the pattern language. 32 (43)
33 How to improve a pattern? Shepherding process of PLoP conferences Goals [18]: - Obvious: Improve the work. - Not Obvious: Instill the patterns culture. - Giving to the community - Protecting the dignity of the author Three Facets of Shepherding [18]: the logistics of shepherding; - Three Iterations pattern interpersonal relationships; - The Shepherd Knows the Sheep pattern the content of the patterns. - Big Picture pattern 33 (43)
34 How to improve a pattern (cont.)? This is an example pattern from The Language of the Shepherds by Neil Harrison [18]. Three Iterations The amount of work required to shepherd any work is an unknown quantity a prior. Therefore: Get started early, and plan on about three iterations. Pace yourself to be able to complete three iterations. 34 (43)
35 How to improve a pattern (cont.)? This is an example pattern from The Language of the Shepherds by Neil Harrison [18]. The Shepherd Knows the Sheep There is a danger that the author will not accept - or understand - your comments. Therefore: Establish a personal rapport with the author up front; get to know the author, and tell the author about yourself. Give both positive reinforcement and suggestions for improvement. 35 (43)
36 How to improve a pattern (cont.)? This is an example pattern from The Language of the Shepherds by Neil Harrison [18]. BigPicture It s hard to know where to start with a pattern. Therefore: Get the big picture by reading the problem and solution together first. They should pretty much stand on their own. 36 (43)
37 How to improve a pattern (cont.)? Pattern writers workshops The pattern is discussed by a group of people including its author, a moderator, and a group of reviewers - who are familiar with paper. All participants are authors by themselves. Circle organization. Structure of a workshop (one paper / ,5 hours) [19]: - Welcome the Author - Author reads selection - Summarization - Positive feedback first - Suggestion for improvement - Author asks for clarification - Thank the author 37 (43)
38 References [1] J. Coplien, Software Patterns, Lucent Technologies, [2] J. Coplien, N. Gaerther, Mastery of Pattern Concept thought Pattern Writing, course material, Lucent Technologies, [3] R. Gabriel, Patterns of Software, Oxford University Press, [4] N. Kerth, personal communication, 17th April [5] N. Kerth, personal communication, 7th May [6] C. Alexander, et al. A Pattern Language, Oxford University Press, [7] C. Alexander, The Timeless Way of Building, Oxford University Press, [8] D. Deugo, an example in the workshop at PLoP2001, Monticello, 13th September (43)
39 References (cont.) [9] T. Winn, P. Calder, Is This a Pattern?, IEEE Software, January/ February [10]E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, [11]F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture: A System of Patterns, Wiley, 1996 [12]D. Schmidt, M. Stal, H. Rohnert, M. Stal, F. Buschmann, Pattern- Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects, Wiley, 2000 [13]J. Coplien, D. C. Schmidt (eds), Pattern Languages of Program Design, Addison-Wesley, (43)
40 References (cont.) [14]J. Vlissides, J. Coplien, N. Kerth (eds), Pattern Languages of Program Design 2, Addison-Wesley, [15]R. Martin, D. Riehle, F. Buschmann (eds), Pattern Languages of Program Design 3, Addison-Wesley Longman, [16]N. Harrison, B. Foote, H. Rohnert (eds), Pattern Languages of Program Design 4, Addison-Wesley Longman, [17]L. Rising, The Pattern Almanac 2000, Addison-Wesley, [18]N. Harrison, The Language of the Shepherds, PLoP 99 proceedings, [19]J. Coplien, B. Woolf, A Pattern Language for Writer s Workshops, Pattern Languages of Program Design 4, pp , Addison-Wesley Longman, (43)
41 Name. Hands In View [1] Appendix: Pattern Example Problem. The skier fails to commit downhill on steeps and bumps, resulting in slides, backward falls,andyardsales. Context. In order to explore the entire mountain environment, a skier must be comfortable and adaptable to any terrain and rapid terrain change.to take advantage of this pattern the skier should be skiing at a level at which parallel turns can be linked consistently. Forces. Fear of falling is the most basic of all responses. Reliance on equipment is essential. Continuous movement is essential. Fatigue can be a factor in long descents. Commitment downhill over skis is essential for skis to function as designed Solution. Concentrate on keeping the hands in view. Bring then into sight immediately after each pole plant and turn. Resulting Context. Keeping the hands in view changes the alignment of the body from sitting timidly back and allowing the edges to skid out from under the skier. Thus, keeping the hands in view pulls the body forward and thus downhill, bringing the skier s weight over the downhill ski, forcing the edge to bite and turn. 41 (43)
42 Appendix: Pattern Example (cont.) Rationale. As steepness increases, the natural tendency of any sane person is to sit back against the hill and retain the perpendicularity the inner ear prefers. Unfortunately, skis must be weighted to perform as designed, the weight causing flex, which in turn pushes the edges into the snow in an arc, making a turn. Therefore it is essential to throw oneself down the mountain and over the skis, depending on them to catch the fall as they bite into the snow to turn underneath the perpetually falling skier. Intellectually this can be clearly understood but fear prevents execution. Concentrating on something as simple and indirect as look an your hands causes the desired behavior without directly confronting the fear. This is directly analogous to what occurs when an individual walks: the weight is thrown forward in a fall, with the consequent forward thrust of the leg to catch this fall, repeated for left and right sides in a continuous tension and release of yielding to gravity in order to defy it. Author. Don Olson 95/07/07 Originator. Anonymous ski instructor somewhere in Utah. Wherever you are, thanks for providing the breakthrough to better skiing for the author. 42 (43)
43 Appendix: Exercise for reader Write one or more patterns about something you know well (1 hour). Subject can be practically anything. You are free to use any pattern format you like. - However, Coplien or Alexandrian are recommend... Use questions from How to write a pattern? on page 27 [4]. Present your pattern briefly ( min.), or if possible, organize a patterns writer s workshop [19]. 43 (43)
Patterns in a Nutshell
Patterns in a Nutshell http://www.enteract.com/~bradapp/ January 27, 1998 Patterns in a Nutshell Page 2 of 12 Trendy: Literary: 1.0 What are Patterns? Recent hot topic, OOD buzzword, lots of hype! Form
More informationCHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE
CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE SESSION I: OVERVIEW AND HISTORY OF STYLES AND PATTERNS Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012
More informationIntroduction. Observation Patterns. Accounting Patterns. How to use Patterns
Analysis Martin Fowler fowler@acm acm.org http://ourworld ourworld.compuserve.com/homepages/martin_fowler Page Martin Fowler 9//99 What we will cover Introduction Observation Accounting How to use Page
More informationHow to write a pattern? A rough guide for first-time pattern authors
How to write a pattern? A rough guide for first-time pattern authors TIM WELLHAUSEN, kontakt@tim-wellhausen.de, http://www.tim-wellhausen.de ANDREAS FIESSER, patterns@fiesser.de, http://patterns.fiesser.de
More informationThe Oregon Software Development Process
The Oregon Software Development Process Till Schümmer 1 and Robert Slagter 2 1 Computer Science Department, FernUniversität in Hagen, Universitätsstrasse 1, 58084 Hagen, Germany Till.Schuemmer@fernuni-hagen.de
More informationPatterns as Topics in Computer Science Courses
Patterns as Topics in Computer Science Courses Introduction Dwight Deugo deugo@scs.carleton.ca, 103163.2657@compuserve.com http://www.scs.carleon.ca/~deugo School of Computer Science, Carleton University
More informationAPLRAC: A PATTERN LANGUAGE FOR DESIGNING AND IMPLEMENTING ROLE-BASED ACCESS CONTROL
APLRAC: A PATTERN LANGUAGE FOR DESIGNING AND IMPLEMENTING ROLE-BASED ACCESS CONTROL Saluka R. Kodituwakku 1, Peter Bertok 1, and Liping Zhao 2 1 Department of Computer Science RMIT University, Australia
More informationEncapsulating Crosscutting Concerns in System Software
Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com
More informationSoftware Refactoring using New Architecture of Java Design Patterns
Software Refactoring using New Architecture of Java Design Patterns Norddin Habti, Prashant 1, 1 Departement d informatique et de recherche operationnelle, Universite de Montreal, Quebec, Canada (Dated:
More informationSki on specific terrain (green, blue, black diamond, double black diamond) B Balancing Maintaining balance while in motion
Developing Skills A ski lesson should focus on a skier s skill development through the use of various encouraging tactics which include using exercises to help a student: Reinforce key movement Ski in
More informationAerospace Software Engineering
16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle
More informationChap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
More informationDetection of Problems in the Application of Software Process Patterns
Detection of Problems in the Application of Software Process Patterns Chintan Amrit & Jos van Hillegersberg Department of IS & CM, BBT, University of Twente, P.O. Box 217,7500 AE Enschede c.amrit, J.vanHillegersberg@utwente.nl
More informationChain of Responsibility
Chain of Responsibility Comp-303 : Programming Techniques Lecture 21 Alexandre Denault Computer Science McGill University Winter 2004 April 1, 2004 Lecture 21 Comp 303 : Chain of Responsibility Page 1
More informationUsing Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting
Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes
More informationName of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6
The Researches on Unified Pattern of Information System Deng Zhonghua,Guo Liang,Xia Yanping School of Information Management, Wuhan University Wuhan, Hubei, China 430072 Abstract: This paper discusses
More informationA Componentware Methodology based on Process Patterns Klaus Bergner, Andreas Rausch Marc Sihling, Alexander Vilbig Institut fur Informatik Technische Universitat Munchen D-80290 Munchen http://www4.informatik.tu-muenchen.de
More informationCommunication Process
Welcome and Introductions Lesson 7 Communication Process Overview: This lesson teaches learners to define the elements of effective communication and its process. It will focus on communication as the
More informationIC-AI 99 502SA Patterns as a Means for Intelligent Software Engineering
IC-AI 99 502SA Patterns as a Means for Intelligent Software Engineering Patterns as a Means for Intelligent Software Engineering D. Deugo, F. Oppacher, J. Kuester *, I. Von Otte * School of Computer Science,
More informationWriting an essay. This seems obvious - but it is surprising how many people don't really do this.
Writing an essay Look back If this is not your first essay, take a look at your previous one. Did your tutor make any suggestions that you need to bear in mind for this essay? Did you learn anything else
More informationOnline Courses: During the Course
Online Courses: During the Course Keep up Keeping up is essential to your success in an online course. Without weekly lectures, online courses can easily be put on the back burner. It is critical to stay
More informationFive ways to reduce PowerPoint overload
Five ways to reduce PowerPoint overload by Cliff Atkinson and Richard E. Mayer Executive Summary Many people have had enough of PowerPoint. That s no surprise to many of us who have seen PowerPoint slides
More informationDesign Patterns. Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems.
Design Patterns Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems. What are the major description parts? Design Patterns Descriptions
More informationPossible examples of how the Framework For Teaching could apply to Instructional Coaches
Possible examples of how the Framework For Teaching could apply to 1b. Specific Examples 1b. Demonstrating Knowledge of Students 1a. Specific Examples 1a. Demonstrating knowledge of Content and Pedagogy
More informationArchitectural Patterns (3)
Scatter/Gather Architectural Patterns (3) Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Goal: send the same message to multiple recipients which will (or may) reply to
More informationFinding Your Gift: Three Paths to Maximizing Impact in Your Career
Finding Your Gift: Three Paths to Maximizing Impact in Your Career Do you have a job, or a career? Are you working for a paycheck, or are you working on your life s mission? Would you like to discover
More informationGrade 6: Module 1: Unit 2: Lesson 19 Peer Critique and Pronoun Mini-Lesson: Revising Draft Literary Analysis
Grade 6: Module 1: Unit 2: Lesson 19 Revising Draft Literary Analysis This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Exempt third-party content
More informationNon-fiction: Cloning Around
Non-fiction: Cloning Around Cloning Around Should people be allowed to clone themselves or others? In 1997, scientists cloned a lamb named Dolly from an adult sheep. Cloning is a process in which cells
More informationThe Westminster College Project Based MBA Program:
The Westminster College Project Based MBA Program: Preparing Executives to Lead Tell me, and I will forget. Show me, and I may remember. Involve me, and I will understand. Confucius 1 Introduction Westminster
More informationCo-creative Project Management with Project Language
September 9-12, 2014, Hokkaido University, Sapporo, Japan Co-creative Project Management with Project Language Masanari Motohashi 1, Ken-ichiro Ogawa 1, Yoshihiro Miyake 1 1 Department of Computational
More informationResearch Topics in Software Engineering
MAP-I Programa Doutoral em Informática Research Topics in Software Engineering Unidade Curricular em Paradigmas da Computação Paradigms of Computation (UCPC) UMinho, FEUP July 23, 2009 Abstract This document
More informationCAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM
CAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM Now this lecture is in a way we can say an introduction
More informationConfiguration Management Patterns
Configuration Management Patterns Steve Berczuk Optimax Systems Corporation 201 Broadway Cambridge MA 02139 berczuk@optimax.com Configuration management is an important aspect of an efficient development
More informationEngineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
More information(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
More informationA Pattern Language for Information Architecture
A Pattern Language for Information Architecture Matthew Ellison Matthew Ellison Consulting matthew@ellisonconsulting.com What we ll cover in this session What s a pattern language? How patterns have been
More informationBPM: Chess vs. Checkers
BPM: Chess vs. Checkers Jonathon Struthers Introducing the Games Business relies upon IT systems to perform many of its tasks. While many times systems don t really do what the business wants them to do,
More informationfor Early Child Care and Education
Trainer-Training Qualifications and Standards for Early Child Care and Education December 2010 Trainer-Training Qualifications and Standards for Early Child Care and Education Table of Contents How are
More information2. What type of job are you seeking? It can help to have a specific objective or use the position to craft a targeted resume.
The Purpose of a Resume A Marketing Tool: Designed to capture attention and get you to the next stage in the recruitment process. It presents the skills, accomplishments and qualifications that you bring
More informationNon-fiction: Cloning Around
Non-fiction: Cloning Around Cloning Around Should people be allowed to clone themselves or others? In 1997, scientists cloned a lamb named Dolly from an adult sheep. Cloning is a process in which cells
More informationA Process View on Architecture-Based Software Development
A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany
More informationUsing Word Walls in the Social Studies Classroom
Word Wall Rationale Using Word Walls in the Social Studies Classroom A word wall is an ongoing, organized display of key words that provides visual reference for students throughout a unit of study or
More informationMinnesota Academic Standards
A Correlation of to the Minnesota Academic Standards Grades K-6 G/M-204 Introduction This document demonstrates the high degree of success students will achieve when using Scott Foresman Addison Wesley
More informationTowards an Automated Pattern Selection Procedure in Software Models
Towards an Automated Pattern Selection Procedure in Software Models Alexander van den Berghe, Jan Van Haaren, Stefan Van Baelen, Yolande Berbers, and Wouter Joosen {firstname.lastname}@cs.kuleuven.be IBBT-DistriNet,
More informationCommunication and Problem Solving
INSTRUCTOR S GUIDE Communication and Problem Solving First Edition, 2006 California Childcare Health Program Administered by the University of California, San Francisco School of Nursing, Department of
More informationObject Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
More informationU. S. Coast Guard Auxiliary Instructor Development Course Mentor Guide Appendix C
U. S. Coast Guard Auxiliary Instructor Development Course Mentor Guide Appendix C January 2007 Appendix C - 1 Intent This section is designed for the Mentor Instructor to use during both the ten to thirty
More informationA Review of an MVC Framework based Software Development
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
More informationAgile Software Development
Agile Software Development Use case for Agile Software Development Methodology in an Oil and Gas Exploration environment. White Paper Introduction No matter what business you are in, there are critical
More informationChapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
More informationA methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 ed@cse.fau.edu 1. Introduction A good percentage of the
More informationData Discovery, Analytics, and the Enterprise Data Hub
Data Discovery, Analytics, and the Enterprise Data Hub Version: 101 Table of Contents Summary 3 Used Data and Limitations of Legacy Analytic Architecture 3 The Meaning of Data Discovery & Analytics 4 Machine
More informationrarecorvettes.com, joe@rarecorvettes.com, (831) 475-4442 Pacific Time Zone
INTRODUCTION TO WHEEL ALIGNMENT A SHORT COURSE ON WHEEL ALIGNMENT, FRONT AND REAR PREPARED FOR THE N.C.R.S. NATIONAL CONVENTION JUNE 29 TO JULY 5, 2012 by: JOE CALCAGNO, RARE CORVETTES rarecorvettes.com,
More informationQuestions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
More informationBook Review of Rosenhouse, The Monty Hall Problem. Leslie Burkholder 1
Book Review of Rosenhouse, The Monty Hall Problem Leslie Burkholder 1 The Monty Hall Problem, Jason Rosenhouse, New York, Oxford University Press, 2009, xii, 195 pp, US $24.95, ISBN 978-0-19-5#6789-8 (Source
More informationAbstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
More informationAgile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
More informationUnderstanding and Using Patterns in Software Development
Understanding and Using Patterns in Software Development Dirk Riehle and Heinz Züllighoven UBILAB, Union Bank of Switzerland. Bahnhofstrasse 45, CH-8021 Zürich, Switzerland E-mail: riehle@ubilab.ubs.ch
More informationCanadian Association of Nordic Ski Instructors. Telemark Instructor - Level I Course Workbook
Canadian Association of Nordic Ski Instructors Telemark Instructor - Level I Course Workbook Candidate Name: Course Conductor: Course Location, Date: AGENDA On time is good, early is best! ALWAYS. Carry
More informationMaturity Assessments of Service- oriented Enterprise Architectures with Iterative Pattern Refinement
Maturity Assessments of Service- oriented Enterprise Architectures with Iterative Pattern Refinement Michael Falkenthal 1, Dierk Jugel 1, Alfred Zimmermann 1, René Reiners 2, Wilfried Reimann 3, Michael
More informationLevel 3 Training Course Guide 2015-2016
CANADIAN SKI INSTRUCTORS ALLIANCE Level 3 Training Course Guide 2015-2016 Mission Statement: The Canadian Ski Instructors Alliance provides excellence in education for the profession of ski teaching, contributing
More informationHow to Plan and Guide In Class Peer Review Sessions
How to Plan and Guide In Class Peer Review Sessions Incorporating peer review into your course can help your students become better writers, readers, and collaborators. However, peer review must be planned
More informationSwedish for Immigrants
Swedish for Immigrants Purpose of the education The aim of the Swedish for Immigrants (Sfi) language instruction program is to give adults who lack basic skills in Swedish opportunities to develop an ability
More informationMonitoring for Meaning
Monitoring for Meaning Grades 3-5 eeee Wwh Monitoring comprehension is above all engagement. When readers monitor their thinking, they have an inner conversation with the text. They listen to the voice
More informationPlanning a Scientific Presentation
Planning a Scientific Presentation October 8, 2002 Department of Computer Science, Graduate Seminar Facilitator: Jason Harrison As a graduate student in Computer Science you will have
More informationWhy Listening Is So Important
Why Listening Is So Important There is a saying about listening that eloquently summarizes the nature of the process. The source of the words is unknown, but the message is universal God gave us two ears,
More informationCounting Money and Making Change Grade Two
Ohio Standards Connection Number, Number Sense and Operations Benchmark D Determine the value of a collection of coins and dollar bills. Indicator 4 Represent and write the value of money using the sign
More informationEnergy, Work, and Power
Energy, Work, and Power This worksheet and all related files are licensed under the Creative Commons Attribution License, version 1.0. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/,
More informationHow To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
More informationGrade 5: Module 3A: Unit 2: Lesson 13 Developing an Opinion Based on the Textual Evidence:
Grade 5: Module 3A: Unit 2: Lesson 13 Developing an Opinion Based on the Textual Evidence: Jackie Robinson s Role in the Civil Rights Movement This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
More informationExcerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk Physical Architecture As stated earlier, architecture can be defined at both a logical
More informationWRITING EFFECTIVE REPORTS AND ESSAYS
WRITING EFFECTIVE REPORTS AND ESSAYS A. What are Reports? Writing Effective Reports Reports are documents which both give a reader information and ask the reader to do something with that information.
More informationFive Core Principles of Successful Business Architecture
Five Core Principles of Successful Business Architecture Authors: Greg Suddreth and Whynde Melaragno Strategic Technology Architects (STA Group, LLC) Sponsored by MEGA Presents a White Paper on: Five Core
More informationIntroduction to Open Atrium s workflow
Okay welcome everybody! Thanks for attending the webinar today, my name is Mike Potter and we're going to be doing a demonstration today of some really exciting new features in open atrium 2 for handling
More informationFinding Business Rules in COBOL Systems
Finding Business Rules in COBOL Systems Use Case for evolveit Scott Hesser 6/1/2013 pg. 1 blackboxit.com Understanding the 1 st step to Modernization Large commercial organizations have been developing
More informationLecture 20: Software Evolution
Lecture 20: Software Evolution Basics of Software Evolution Laws of software evolution Requirements Growth Software Aging Basics of Change Management Baselines, Change Requests and Configuration Management
More informationA Guide for Writing a Technical Research Paper
A Guide for Writing a Technical Research Paper Libby Shoop Macalester College, Mathematics and Computer Science Department 1 Introduction This document provides you with some tips and some resources to
More informationRefining Informational Writing: Grade 5 Writing Unit 3
Unit Title: Refining Informational Writing Concepts: 1. Writers read mentor texts to study informational writing. 2. Writers generate ideas and experiment with notebook entries. 3. Writers learn strategies
More informationDirections for Compare and Contrast
for Compare and Contrast To compare is the process of identifying similarities, and to contrast is the process of identifying differences. Please complete the following tasks: 1. Identify at least four
More informationND1510 2007 LEAD TO CASH (L2C) WHITE PAPER PROPOSAL
ND1510 2007 V1.0.0 ND1510 2007 LEAD TO CASH (L2C) WHITE PAPER PROPOSAL Version no: V1.0.0 Network Interoperability Consultative Committee Ofcom Riverside House, 2a Southwark Bridge Road, London SE1 9HA
More informationUtilizing Domain-Specific Modelling for Software Testing
Utilizing Domain-Specific Modelling for Software Testing Olli-Pekka Puolitaival, Teemu Kanstrén VTT Technical Research Centre of Finland Oulu, Finland {olli-pekka.puolitaival, teemu.kanstren}@vtt.fi Abstract
More informationPattern Oriented Software Development: Moving Seamlessly from Requirements to Architecture
Pattern Oriented Software Development: Moving Seamlessly from Requirements to Architecture M S Rajasree, P Jithendra Kumar Reddy, D Janakiram Distributed & Object Systems Lab Department of Computer Science
More informationBASI. Alpine Level 2 Instructor. More About the Course BRITISH ASSOCIATION OF SNOWSPORT INSTRUCTORS
BASI Alpine Level 2 Instructor More About the Course BRITISH ASSOCIATION OF SNOWSPORT INSTRUCTORS Morlich House T 01479 861 717 17 The Square F 01479 873 657 Grantown-on-Spey E basi@basi.org.uk Morayshire
More informationWriting Essays. SAS 25 W11 Karen Kostan, Margaret Swisher
Writing Essays A GOOD ESSAY CONTAINS: 1. An introductory paragraph 2. A clear thesis statement 3. A body consisting of supporting paragraphs 4. A concluding paragraph Step 1: Review Assignment Read the
More informationFormal and informal Assessment
Formal and informal Assessment Assessment is used in various venues: in schools from birth throughout postgraduate work, in the workplace, and from agencies granting licenses. Assessments can be either
More informationOnline courses for credit recovery Promising
Online courses for credit recovery Promising Online courses for credit recovery: Promising practices for high school teachers. Practices for High School Teachers Many students who probably would have dropped
More informationFramework for Case Analysis
Framework for Case Analysis Part I Analyzing a Case What is this document? You will be asked throughout your Graduate experience to analyze cases. Because there are many ways to approach cases, the CM
More informationCritical Analysis So what does that REALLY mean?
Critical Analysis So what does that REALLY mean? 1 The words critically analyse can cause panic in students when they first turn over their examination paper or are handed their assignment questions. Why?
More informationMedical Record Documentation and Legal Aspects Appropriate to Nursing Assistants
We hope you enjoy this course. Most folks print a copy of the test and circle the answers while reading through the course. You can then log into your account (if you created one), enter your answers online,
More informationWriting Thesis Defense Papers
Writing Thesis Defense Papers The point of these papers is for you to explain and defend a thesis of your own critically analyzing the reasoning offered in support of a claim made by one of the philosophers
More informationUnderstanding the Cultural Change Impacts of PLM Deployment on Organizations. Hermann Paetzold, PLM Systems Manager, Autoneum & Founder PLM Culture
Understanding the Cultural Change Impacts of PLM Deployment on Organizations Hermann Paetzold, PLM Systems Manager, Autoneum & Founder PLM Culture 1 When deploying PLM, many organizations are unaware of
More informationEducational Goals and Objectives A GUIDE TO DEVELOPING LEARNER BASED INSTRUCTION
Educational Goals and Objectives A GUIDE TO DEVELOPING LEARNER BASED INSTRUCTION Educational Objectives for this Presentation At the end of this presentation you will be able to: Compare and contrast educational
More informationto Become a Better Reader and Thinker
1 How to Become a Better Reader and Thinker The chances are that you are not as good a reader as you should be to do well in college. If so, it s not surprising. You live in a culture where people watch
More informationA FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS
A FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS C. Rolland*, G. Grosz*, P. Loucopoulos**, S. Nurcan* * Centre de Recherche en Informatique Université
More informationCORPORATE INFORMATION AND TECHNOLOGY STRATEGY
Version 1.1 CORPORATE INFORMATION AND TECHNOLOGY STRATEGY The City of Edmonton s Information and Technology Plan, 2013-2016 Bringing the Ways to Life through Information and Technology June 2013 2 Copyright
More informationPsych 605 Advanced Human Learning Professor Neil H. Schwartz, Ph.D. Fall Semester 2014
Psych 605 Advanced Human Learning Professor Neil H. Schwartz, Ph.D. Fall Semester 2014 Class Meetings: Tuesdays & Thursdays 3:30 p.m. - 4: 45 p.m. Modoc Hall Room 222 Office Hours: Mondays 2:00 p.m. -
More informationSPIN Selling SITUATION PROBLEM IMPLICATION NEED-PAYOFF By Neil Rackham
SITUATION PROBLEM IMPLICATION NEED-PAYOFF By Neil Rackham 1. Sales Behavior and Sales Success Small Sales Selling Techniques The traditional selling techniques that most of us have been trained to use
More informationMOTION DIAGRAMS. Revised 9/05-1 - LC, tlo
MOTION DIAGRAMS When first applying kinematics (motion) principles, there is a tendency to use the wrong kinematics quantity - to inappropriately interchange quantities such as position, velocity, and
More informationTwin A Design Pattern for Modeling Multiple Inheritance
Twin A Design Pattern for Modeling Multiple Inheritance Hanspeter Mössenböck University of Linz, Institute of Practical Computer Science, A-4040 Linz moessenboeck@ssw.uni-linz.ac.at Abstract. We introduce
More information