Introduction. Observation Patterns. Accounting Patterns. How to use Patterns
|
|
- Ashlyn White
- 8 years ago
- Views:
Transcription
1 Analysis Martin Fowler acm.org ourworld.compuserve.com/homepages/martin_fowler Page Martin Fowler 9//99 What we will cover Introduction Observation Accounting How to use Page 2 Martin Fowler 9//99
2 projects fail despite the latest technology for lack of ordinary solutions. Ralph Johnson and Ward Cunningham Gang of Four : Design book Pattern Languages of Programming (PLoP) conferences A pattern is an idea that has been useful in one practical context and will probably be useful in others. [Fowler] Page 3 Martin Fowler 9//99 Design Pattern: Mediator Mediator Colleague Concrete Colleague Concrete Mediator Concrete Colleague Define an object that encapsulates how a set of objects interact. Gamma, E., Helm, R., Johnson, R. and Vlissides, J. Design : elements of reusable object-oriented software, Addison-Wesley, Reading, MA, Page 4 Martin Fowler 9//99 2
3 David Hay Relational data models Not connected with patterns community, but still patterns Hay, D. Data Model : conventions of thought, Dorset House, New York, NY, 996. Martin Fowler OO conceptual models Healthcare, Accounting, Financial Trading, Planning Fowler, M. Analysis : reusable object models, Addison-Wesley, Reading MA, 997. Analysis Page 5 Martin Fowler 9//99 Notation Each customer may have many orders Each order has a single customer Order Customer placedon : Date dispatch() Priority Order Individual Customer Corporate Customer A customer may be a corporate customer or an individual customer An order may be a priority order Interface not implementation Martin Fowler with Kendall Scott, UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley 997 Page 6 Martin Fowler 9//99 3
4 application in 3 tier architecture application 2 domain database application 3 Visibility is from application to domain Domain carries shared services Applications do not see database used in domain tier Page 7 Martin Fowler 9//99 Observation Introduction Observation Accounting How to use Page 8 Martin Fowler 9//99 4
5 Attributes of Person Person height : Number weight : Number blood glucose level : Number What are the problems with this model? Page 9 Martin Fowler 9//99 Quantity Quantity Person height : Quantity weight : Quantity blood glucose level : Quantity amount: Number units: Unit +, -, *, / <, >, =, <=, >= as(unit) : Quantity tostring() : String valueof(string) : Quantity Define arithmetic operations for quantity Money is a kind of quantity Use Conversion Ratio to convert to other units What if there are tens or hundreds of attributes? Page 0 Martin Fowler 9//99 5
6 Measurement Martin Fowler is six feet tall Phenomenon Type Person Measurement amountof(phenomenontype) : Quantity amount: Quantity For each attribute of person, define an instance of phenomenon type To record a value for a person create a measurement When should we use this model? Page Martin Fowler 9//99 Observation Phenomenon Phenomenon Type Observation {overlapping} Category Observation Measurement amount: Quantity Person amountof(phenomenontype) : Quantity valueof(phenomenontype) : Phenomenon Martin Fowler is blood group O Martin Fowler is Male Page 2 Martin Fowler 9//99 6
7 Knowledge and Operational Levels Knowledge Associative Function arguments result Phenomenon Operational Person Observation Category Observation Operational regular day to day objects Knowledge Meta-Data Objects that capture domain rules Page 3 Martin Fowler 9//99 Range Range upper: Magnitude lower: Magnitude isupperinclusive: Boolean islowerinclusive: Boolean includes (Magnitude) : Boolean overlaps (Range) : Boolean abuts (Range) : Boolean Magnitude = < =< > >= Between 0 miles and 50 miles 6m < x 5m Page 4 Martin Fowler 9//99 7
8 Phenomenon with Range Range Phenomenon {phenomena's ranges should not overlap} Phenomenon Type Normal Heart Rate is beats per minute Page 5 Martin Fowler 9//99 Assigning a phenomenon new a Measurement heart rate: Phenomenon Type normal heart rate: Phenomenon fast heart rate: Phenomenon phenomenon = phenomenonincluding(ameasurement) includes (ameasurement) false includes (ameasurement) true fastheartrate setphenomenon(fastheartrate) Page 6 Martin Fowler 9//99 8
9 Corporate Finance Problem Each month we get a large number of indicators (revenue, income, units sold ) Each indicator is given values for good, reasonable, poor, or bad If revenue is over 05 million that is good, over 95 is reasonable, over 90 is poor and under 90 is bad. Indicators can be calculated based on other indicators Revenue = income - costs Income = units sold * average price Page 7 Martin Fowler 9//99 Measurement Protocol Measurement Measurement Protocol {list} Phenomenon Type Source Measurement Protocol Calculated Measurement Protocol Source Protocols read from external systems Calculated Protocols are calculations Page 8 Martin Fowler 9//99 9
10 Calculated Measurement Measurement Protocol result type Phenomenon Type Formula Calculated Measurement Protocol argument types {list} Calculated measurement protocol has formula and arguments Revenue = Income - Costs Income = Number sold X Average Price Body Mass Index = weight / height 2 Page 9 Martin Fowler 9//99 Creating a Measurement a Measurement Protocol a Formula create Measurement find arguments execute return quantity new a Measurement Factory method for measurements Page 20 Martin Fowler 9//99 0
11 Observation Quantity Measurement Observation Range Phenomenon with Range Measurement Protocol Page 2 Martin Fowler 9//99 Accounting Introduction Observation Accounting How to use Page 22 Martin Fowler 9//99
12 Account Account balance: Money Entry amount: Money whencharged: Timepoint whenbooked: Timepoint {balance = sum(entries)} Entries record history of changes to an account Where might we use this model? Page 23 Martin Fowler 9//99 Transaction Account Entry amount: Money 2.. Transaction {sum(entries.amount) = 0} I withdraw $00 from my checking account The Willenhall Coal Company delivers 30 tons of coal to Bilston Gasworks Why are transactions useful? Page 24 Martin Fowler 9//99 2
13 Posting Rule (simple) Account trigger output Posting Rule multiplier: Number execute() 5% of state tax is deducted from gross income Page 25 Martin Fowler 9//99 Individual Instance Method Posting Rule calculation Method output trigger Account Income tax is deducted at 5% for first $3,500 28% to $80,750 3% to $30,800 Each instance of posting rule has its own method Conceptual statement Page 26 Martin Fowler 9//99 3
14 Account Types output Account Type trigger Knowledge Posting Rule Method Operational Employee Account Employee Apply the graduated tax algorithm to the gross pay of Doug and Dinsdale Piranha to yield their net pay. Page 27 Martin Fowler 9//99 Network of Posting Rules 3 hours (Tuesday) raw Overtime: Account Type OT hours PR straight += input if (Sunday) excess += input else excess += input * 0.5 straight OT hours : 3 hours.5 hours Account Type Excess Hours: Account Type Straight OT Payment : Posting Rule out = input * employee.rate Excess Payment: Posting Rule excess = input * employee.otrate * 2/3 premium = input * employee.otrate * /3 $50 Straight Dollars : Account Type Excess Hours: $50 $25 Account Type Premium Hours: Account Type $225 Total Overtime : Summary Account Type Page 28 Martin Fowler 9//99 4
15 Executing the network a list of Posting Rules a Posting Rule an Employee input Account output Account pay (employee) *[for all elements] run (employee) get account (input account type) get unprocessed entries * [for each entry] execute posting rule post entry Page 29 Martin Fowler 9//99 Procedural Approach H H Process Hours Get straight hours account Dollarize Straight Hours get unprocessed entries [for all entries] Dollarize Excess Hours multiply by rate H post to straight dollars Page 30 Martin Fowler 9//99 5
16 Changing the Rules H H Process Hours Get straight hours account Dollarize Straight Hours get unprocessed entries [for all entries] Dollarize Excess Hours [before April 5] [on or after April 5] H multiply by rate multiply by rate * 0.9 post to straight dollars Page 3 Martin Fowler 9//99 Adding an effectivity time output Account Type trigger Posting Rule effectivity: Date Range Method Employee Account Employee Add a date range for each posting rule instance Page 32 Martin Fowler 9//99 6
17 New Behavior a list of Posting Rules a Posting Rule an Employee input Account output Account pay (employee) *[for all elements] run (employee) get account (input account type) get unprocessed entries in (date range) * [for each entry] execute posting rule post entry Page 33 Martin Fowler 9//99 Implementing with singleton State Tax PR state: State {Singleton} CA Tax PR state: State {Singleton} MA Tax PR state: State {Singleton} NY Tax PR state: State What are the strengths and weaknesses? Page 34 Martin Fowler 9//99 7
18 State Tax PR state: State {abstract} Strategy Pattern Calculation Strategy «Method» return strategy. {Singleton} CA Tax {Singleton} MA Tax {Singleton} NY Tax What are the strengths and weaknesses? Page 35 Martin Fowler 9//99 Parameterized Method State Tax PR state: State rate: Number «Method» multiply by rate What are the strengths and weaknesses? Page 36 Martin Fowler 9//99 8
19 Combining Implementations State Tax PR state: State {Singleton} CA Tax PR Multiplier PR rate: Number {Singleton} NYTax PR Combination of singleton and parameterized approaches Page 37 Martin Fowler 9//99 Posting Rule Execution Eager firing Fire when entry added to account Find all posting rules looking at that account and fire them (etc, etc) Posting rule based Have a coordinator which tells posting rules when to fire Account based based Have a coordinator tell which accounts when to fire their outbound posting rules Backward Chained When you ask an account for its balance All input accounts must be asked for value (etc, etc) Which would you choose? Page 38 Martin Fowler 9//99 9
20 Accounting Account Transaction Posting Rule Individual Instance Method Posting Rule Execution Posting Rules for Many Accounts Accounting Practice Page 39 Martin Fowler 9//99 How to use Introduction Observation Accounting How to use Page 40 Martin Fowler 9//99 20
21 Using Starting point for development Inspiration to get things going Comparison for review Why are we different to this pattern? Documentation of complex frameworks Highlight the key patterns Informal standardization Mining from legacy systems Training The next step after basic training The why is at least as important as the what Page 4 Martin Fowler 9//99 Learning about Read the books Use a book group Discuss two chapters a week over lunch Take a training course Training must emphasize using patterns Instructors expertise is central Try using the patterns You cannot understand a pattern till you have tried it Trying a pattern and finding it does not fit is valuable Write some patterns Page 42 Martin Fowler 9//99 2
22 Books Beck, K. Smalltalk Best Practice. Volume : Coding, Prentice Hall, Englewood Cliffs, NJ, 997. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P. and Stal., M. Pattern-Oriented Software Architecture - A System of, John Wiley, 996. Coad, P., North, D. and Mayfield, M. Object Models: strategies, patterns and applications, Prentice Hall, Englewood Cliffs, 995. Coplien, J.O. and Schmidt, D.C. Pattern Languages of Program Design, Addison-Wesley, Reading, MA, 995. Gamma, E., Helm, R., Johnson, R. and Vlissides, J. Design : elements of reusable object-oriented software, Addison-Wesley, Reading, MA, 995. Fowler, M. Analysis, Addison-Wesley, Reading MA, 997 Hay, D. Data Model : conventions of thought, Dorset House, New York, NY, 996. Vlissides, J.M., Coplien, J.O. and Kerth, N.L. ed.pattern Languages of Program Design 2, Addison-Wesley, Page 43 Martin Fowler 9//99 Final Thoughts are relevant for all aspects of software engineering and for Business Process Reengineering Analysis patterns can be used across traditional vertical business domains A model is not right or wrong, only more or less useful are a starting point, not a final destination Still learning about teaching, using, and discovering patterns Page 44 Martin Fowler 9//99 22
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 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 informationRecurring Events for Calendars
PLop Submission Recurring Events for Calendars Martin Fowler 100031.3311@compuserve.com I had a happy time when I lived in the South End of Boston. I had a nice apartment in an attractive brownstone building.
More informationDealing with Roles. Martin Fowler. fowler@acm.org
Dealing with Roles Martin Fowler fowler@acm.org Anyone who runs a company deals with other companies. Such companies may act as suppliers of goods or services, they may be customers of your products, they
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 informationThe Different Types of Search and Execution Systems
Query Engine A Pattern for Performing Dynamic Searches in Information Systems Tim Wellhausen kontakt@tim-wellhausen.de http://www.tim-wellhausen.de Jan 24, 2006 Abstract: This paper presents an architecture
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 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 informationEvaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
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 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 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 informationXtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda
Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or
More informationA Confederation of Patterns for Resource Management
Abstract A Confederation of Patterns for Resource Management Rosana T. Vaccare Braga ICMCUniversidade de S o Paulo/ Universidade de Franca C. P. 668, 3560970 S o Carlos SP Brazil Phone Number: 55 6 2739679
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 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 informationPatterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
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 informationChapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
More informationTeaching Software Engineering Through Game Design
Teaching Software Engineering Through Game Design Kajal Claypool Computer Science Department University of Massachusetts 1 University Avenue Lowell, MA, USA kajal@cs.uml.edu Mark Claypool Computer Science
More informationQuality Ensuring Development of Software Processes
Quality Ensuring Development of Software Processes ALEXANDER FÖRSTER,GREGOR ENGELS Department of Computer Science University of Paderborn D-33095 Paderborn, Germany {alfo engels}@upb.de ABSTRACT: Software
More informationA MODEL OF HETEROGENEOUS DISTRIBUTED SYSTEM FOR FOREIGN EXCHANGE PORTFOLIO ANALYSIS
UDC: 004.42 Original scientific paper A MODEL OF HETEROGENEOUS DISTRIBUTED SYSTEM FOR FOREIGN EXCHANGE PORTFOLIO ANALYSIS Dragutin Kermek 1, Tomislav Jakupi 2, Neven Vr ek 1 1 University of Zagreb,Faculty
More informationA Reusability Concept for Process Automation Software
A Reusability Concept for Process Automation Software Wolfgang Narzt, Josef Pichler, Klaus Pirklbauer, Martin Zwinz Business Information Systems C. Doppler Laboratory for Software Engineering University
More informationThe WebShop E-Commerce Framework
The WebShop E-Commerce Framework Marcus Fontoura IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120, U.S.A. e-mail: fontouraalmaden.ibm.com Wolfgang Pree Professor of Computer Science Software
More informationFrom Systems to Services
From Systems to Services How we can collaborate in the new paradigm? Randy Ballew, Chief Technology Architect, IST-AS Steve Masover, Architecture Group, IST-AS Overview What is "software as services"?
More informationEMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS David URTING, Stefan VAN BAELEN, Tom HOLVOET and Yolande BERBERS {David.Urting, Stefan.VanBaelen, Tom.Holvoet, Yolande.Berbers}@cs.kuleuven.ac.be
More informationUsing MDA in Web Software Architectures
Using MDA in Web Software Architectures SANTIAGO MELIA, CRISTINA CACHERO AND JAIME GOMEZ 1 Universidad de Alicante, Spain The new challenges posed by the Internet market have increased the need for Web
More informationA Pattern System for Network Management Interfaces
A Pattern System for Network Management Interfaces Rudolf K. Keller Jean Tessier Gregor v. Bochmann Network management systems are used to control and monitor the components of distributed systems such
More informationObject-Oriented Design
Object-Oriented Design Peter Coad and Edward Yourdon Technische Hochschule Darmstadt FACHBKREICH INFORMATIK BIBLIOTHEK Inventar-Nr.:...A.Q.HA&. Sachg biete:.../??/.4, Standort: YOURQDN PRESS PRENTICE HALL
More informationThe WebShop e-commerce framework
The WebShop e-commerce framework Marcus Fontoura 1, Wolfgang Pree 2, and Bernhard Rumpe 3 1 Cyberspace and Web Technology Department, IBM Almaden Research Center 650 Harry Rd., San Jose, CA, 91520, U.S.A
More informationDEGREE CURRICULUM SOFTWARE ARCHITECTURES Degree in Computer Engineering. Teaching staff: GIL IRANZO, ROSA MARIA GARCIA GONZALEZ, ROBERTO
Academic year 2014-15 DEGREE CURRICULUM SOFTWARE ARCHITECTURES Degree in Computer Engineering Teaching staff: GIL IRANZO, ROSA MARIA GARCIA GONZALEZ, ROBERTO Subject's general information Subject name
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 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 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 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 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 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 informationA Pattern System for Network Management Interfaces
A Pattern System for Network Management Interfaces Jean Tessier Rudolf K. Keller Abstract: The development of network management interfaces (NMIs) involves a variety of software layers, application programming
More informationSOFTWARE ESTIMATING RULES OF THUMB. Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007
SOFTWARE ESTIMATING RULES OF THUMB Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007 Abstract Accurate software estimating is too difficult for simple rules of thumb. Yet in spite
More informationSAPM Overview Semester Summary
SAPM Overview Semester Summary Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar In this lecture we review the topics we have covered this semester, focusing on what I consider
More informationFramework Development for Large Systems
Framework Development for Large Systems Dirk Bäumer 1, Guido Gryczan 2, Rolf Knoll 3, Carola Lilienthal 2, Dirk Riehle 4, and Heinz Züllighoven 2 Abstract Frameworks are a key asset in large-scale object-oriented
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 informationPatterns of Input Processing Software
1 Patterns of Input Processing Software Neil B. Harrison Lucent Technologies 11900 North Pecos st. Denver CO 80234 (303) 538-1541 nbharrison@lucent.com Background: Setting the Stage Many programs accept
More informationFramework Development for Large Systems
Framework Development for Large Systems Dirk Bäumer RWG Stuttgart Guido Gryczan University of Hamburg Vogt-Kölln-Str. 30 22527 Hamburg Germany Phone: +49-40-54 94-2302 Fax: +49-40-54 94-2303 Email:gryczan@informatik.uni-hamburg.de
More informationOrganization. Introduction to Software Engineering
Dr. Michael Eichberg Software Technology Group Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Organization Teaser Background Information 3 As long
More informationARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS
ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS Lech MADEYSKI *, Michał STOCHMIAŁEK Abstract. Architectural design is about decisions which influence characteristics of arising system e.g. maintainability
More informationThe Command Dispatcher Pattern
The Command Dispatcher Pattern Can also be called: Command Evaluator Pattern. Benoit Dupire and Eduardo B Fernandez {bdupire@seatech.fau.edu, ed@cse.fau.edu} Department of Computer Science and Engineering.
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 informationManager-Agent and Remote Operation: Two Key Patterns for Network Management Interfaces
Manager-Agent and Remote Operation: Two Key Patterns for Network Management Interfaces Jean Tessier* Rudolf K. Keller Département d informatique et de recherche opérationnelle Université de Montréal C.P.
More informationGénie Logiciel et Gestion de Projets. Patterns
Génie Logiciel et Gestion de Projets Patterns 1 Alexander s patterns Christoffer Alexander The Timeless Way of Building, Christoffer Alexander, Oxford University Press, 1979, ISBN 0195024028 Each pattern
More informationSoftware Development Process
Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously
More informationAutomated Software Evolution via Design Pattern Transformations
Automated Software Evolution via Design Pattern Transformations Lance Tokuda and Don Batory Department of Computer Sciences University of Texas at Austin Austin, Texas 78712-1188 {unicron, batory@cs.utexas.edu
More informationPattern Based Transformation and Evolution of Software Systems
Pattern-based Evolution of Software Architectures Isabelle Côté, Maritta Heisel, and Ina Wentzlaff University Duisburg-Essen, Faculty of Engineering, Department of Computational and Cognitive Sciences
More informationOntological Representations of Software Patterns
Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software
More informationDeveloping Collaborative Environments A Holistic Software Development Methodology Marge Petersen and John Mitchiner Sandia National Laboratories
Developing Collaborative Environments A Holistic Software Development Methodology Marge Petersen and John Mitchiner Sandia National Laboratories mbpeter@sandia.gov jlmitch@sandia.gov Abstract Sandia National
More informationA First Set of Design Patterns for Algorithm Animation
Fifth Program Visualization Workshop 119 A First Set of Design Patterns for Algorithm Animation Guido Rößling CS Department, TU Darmstadt Hochschulstr. 10 64289 Darmstadt, Germany roessling@acm.org 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 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 informationSAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar
SAPM Overview Semester Summary Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar In this lecture we review the topics we have covered this semester, focusing on what I consider
More informationAn Analysis Pattern for Invoice Processing Eduardo B. Fernandez 1 and Xiaohong Yuan 2
An Analysis Pattern for Invoice Processing Eduardo B. Fernandez and Xiaohong Yuan 2 Department of Computer Science and Engineering Florida Atlantic University, Boca Raton, FL 2 Department of Computer Science
More informationSection 2.5 Average Rate of Change
Section.5 Average Rate of Change Suppose that the revenue realized on the sale of a company s product can be modeled by the function R( x) 600x 0.3x, where x is the number of units sold and R( x ) is given
More information270015 - IES - Introduction to Software Engineering
Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 747 - ESSI - Department of Service and Information System Engineering Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS
More informationMonitor Object. An Object Behavioral Pattern for Concurrent Programming. Douglas C. Schmidt
Monitor Object An Object Behavioral Pattern for Concurrent Programming Douglas C. Schmidt schmidt@cs.wustl.edu Department of Computer Science Washington University, St. Louis 1 Intent The Monitor Object
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 informationProgramming Language Constructs as Basis for Software Architectures
Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming
More informationInformation systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
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 informationComposing Concerns with a Framework Approach
Composing Concerns with a Framework Approach Constantinos A. Constantinides 1,2 and Tzilla Elrad 2 1 Mathematical and Computer Sciences Department Loyola University Chicago cac@cs.luc.edu 2 Concurrent
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 informationSoftware Architecture and Patterns for Electronic Commerce Systems
Software Architecture and Patterns for Electronic Commerce Systems André Widhani, Stefan Böge, Andreas Bartelt, and Winfried Lamersdorf University of Hamburg, Department of Computer Science, Distributed
More informationMANAGEMENT S ROLE 1/16/2002 152. Copyright 2001, Net Objectives
MANAGEMENT S ROLE 1/16/2002 152 Continuous Overtime Is Counterproductive Working more hours does not increase productivity Overwork is usually an indication of something wrong - working more doesn t fix
More informationEugene Wallingford Department of Computer Science University of Northern Iowa Cedar Falls, Iowa 50614-0507 wallingf@cs.uni.edu
TOWARD A FIRST COURSE BASED ON OBJECT-ORIENTED PATTERNS Eugene Wallingford Department of Computer Science University of Northern Iowa Cedar Falls, Iowa 50614-0507 wallingf@cs.uni.edu 1 INTRODUCTION Many
More informationA Meeting Room Scheduling Problem
A Scheduling Problem Objective Engineering, Inc. 699 Windsong Trail Austin, Texas 78746 512-328-9658 FAX: 512-328-9661 ooinfo@oeng.com http://www.oeng.com Objective Engineering, Inc., 1999-2007. Photocopying,
More informationCode Qualities and Coding Practices
Code Qualities and Coding Practices Practices to Achieve Quality Scott L. Bain and the Net Objectives Agile Practice 13 December 2007 Contents Overview... 3 The Code Quality Practices... 5 Write Tests
More informationCONFLICT PATTERNS: TOWARD IDENTIFYING SUITABLE MIDDLEWARE
CONFLICT PATTERNS: TOWARD IDENTIFYING SUITABLE MIDDLEWARE Abstract Architectural patterns aid developers in resolving coarse-grained integration problems among components. These patterns are assembled
More informationDeveloping Flexible and High-performance Web Servers with Frameworks and Patterns
Developing Flexible and High-performance Web Servers with Frameworks and Patterns Douglas C. Schmidt schmidt@cs.wustl.edu James C. Hu jxh@cs.wustl.edu Department of Computer Science Washington University
More informationDECORATOR PATTERN IN WEB APPLICATION
DECORATOR PATTERN IN WEB APPLICATION Viliam Malcher Faculty of Management, Department of Information Systems, Comenius University, 820 05 Bratislava 25, Odbojárov 10, P.O. Box 95, Slovak Republic, Europe
More informationApplying Design Patterns in Distributing a Genetic Algorithm Application
Applying Design Patterns in Distributing a Genetic Algorithm Application Nick Burns Mike Bradley Mei-Ling L. Liu California Polytechnic State University Computer Science Department San Luis Obispo, CA
More informationXXI. Object-Oriented Database Design
XXI. Object-Oriented Database Design Object-Oriented Database Management Systems (OODBMS) Distributed Information Systems and CORBA Designing Data Management Classes The Persistent Object Approach The
More informationArchitectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2.
Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm
More informationAgile Techniques for Object Databases
db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and
More informationDeployment Pattern. Youngsu Son 1,JiwonKim 2, DongukKim 3, Jinho Jang 4
Deployment Pattern Youngsu Son 1,JiwonKim 2, DongukKim 3, Jinho Jang 4 Samsung Electronics 1,2,3, Hanyang University 4 alroad.son 1, jiwon.ss.kim 2, dude.kim 3 @samsung.net, undersense3538@gmail.com 4
More informationBuilding Systems Using Analysis Patterns Eduardo B. Fernandez Florida Atlantic University Boca Raton, FL ed@cse.fau.edu
Building Systems Using Analysis Patterns Eduardo B. Fernandez Florida Atlantic University Boca Raton, FL ed@cse.fau.edu 1. ABSTRACT We consider the use of analysis patterns in the definition of initial
More informationBroker Revisited Michael Kircher, Markus Voelter, Klaus Jank, Christa Schwanninger, Michael Stal
Broker Revisited Michael Kircher, Markus Voelter, Klaus Jank, Christa Schwanninger, Michael Stal {Michael.Kircher,Klaus.Jank,Christa.Schwanninger, Michael.Stal}@siemens.com Corporate Technology, Siemens
More information[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information
[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information Technology Based Higher Education and Training, 2006.
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2009 Vol. 8, No. 2, March-April 2009 A Survey of Design Pattern Based Web Applications
More informationScenario-based Evaluation of Software Architecture Styles from the Security Viewpoint
International Journal of Computer Sciences and Engineering Open Access Research Paper Volume-4, Issue-04 E-ISSN: 347-693 Scenario-based Evaluation of Software Architecture Styles from the Security Viewpoint
More information9.2 Summation Notation
9. Summation Notation 66 9. Summation Notation In the previous section, we introduced sequences and now we shall present notation and theorems concerning the sum of terms of a sequence. We begin with a
More informationWhat are the place values to the left of the decimal point and their associated powers of ten?
The verbal answers to all of the following questions should be memorized before completion of algebra. Answers that are not memorized will hinder your ability to succeed in geometry and algebra. (Everything
More informationCOORDINATION CONTRACTS AS CONNECTORS IN COMPONENT-BASED DEVELOPMENT
Integrated Design and Process Technology, IDPT-2002 Printed in the United States of America, June, 2002 2002 Society for Design and Process Science COORDINATION CONTRACTS AS CONNECTORS IN COMPONENT-BASED
More informationAn overview to Software Architecture in Intrusion Detection System
An overview to Software Architecture in Intrusion Detection System * Mehdi Bahrami 1, Mohammad Bahrami 2 Department of Computer Engineering, I.A.U., Booshehr Branch, Iran Bahrami 1 ;Shayan 2 @LianPro.com
More informationTEACHING AGGREGATE PLANNING IN AN OPERATIONS MANAGEMENT COURSE
TEACHING AGGREGATE PLANNING IN AN OPERATIONS MANAGEMENT COURSE Johnny C. Ho, Turner College of Business, Columbus State University, Columbus, GA 31907 David Ang, School of Business, Auburn University Montgomery,
More informationHow To Write An Architectural Description Framework For Health Care
MAFIIA - an Architectural Description Framework: Experience from the Health Care Domain Erlend Stav, Ståle Walderhaug, Stein Løkke Tomassen, Lillian Røstad, Nils Brede Moe SINTEF ICT, 7465 Trondheim, Norway
More informationAn Introduction to Software Engineering
An Introduction to Software Engineering Software engineering is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it
More informationABSTRACT. KEYWORDS: analysis patterns, conceptual model, water 1. INTRODUCTION
JCS&T Vol. 3 No. April 2003 Conceptual Patterns for Water Resources Information Systems Adriana B. Urciuolo, Rodolfo J. Iturraspe Facultad de Ingeniería, Universidad Nacional de la Patagonia San Juan Bosco
More informationClassification of Fuzzy Data in Database Management System
Classification of Fuzzy Data in Database Management System Deval Popat, Hema Sharda, and David Taniar 2 School of Electrical and Computer Engineering, RMIT University, Melbourne, Australia Phone: +6 3
More informationCategories and Subject Descriptors. General Terms Algorithms, Design, Languages. Keywords Polymorphism, Object-Oriented Programming, Learning
Variations on a Polymorphic Theme: An Etude for Computer Programming Joseph Bergin Pace University Computer Science New York, NY USA 1 (212) 346 1499 b erginf@p ace.edu ABSTRACT This paper describes a
More informationCS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
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 informationDesign Pattern Management System: A Support Tool Based on Design Patterns Applicability
Design Pattern Management System: A Support Tool Based on Design Patterns Applicability Zakaria Moudam, Radouan Belhissi, Noureddine Chenfour Computer Science Department Faculty of Sciences Dhar Mehraz
More information