Introduction. Observation Patterns. Accounting Patterns. How to use Patterns
|
|
|
- Ashlyn White
- 10 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
Recurring Events for Calendars
PLop Submission Recurring Events for Calendars Martin Fowler [email protected] I had a happy time when I lived in the South End of Boston. I had a nice apartment in an attractive brownstone building.
Dealing with Roles. Martin Fowler. [email protected]
Dealing with Roles Martin Fowler [email protected] 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
A 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 [email protected] 1. Introduction A good percentage of the
Excerpts 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
Evaluating 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
Encapsulating 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
A 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
Xtreme 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
A 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
Maturity 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
Architectural Patterns (3)
Scatter/Gather Architectural Patterns (3) Prof. Cesare Pautasso http://www.pautasso.info [email protected] @pautasso Goal: send the same message to multiple recipients which will (or may) reply to
Patterns 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
Chapter 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
Teaching 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 [email protected] Mark Claypool Computer Science
Quality 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
A 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
The 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
From 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"?
EMBEDDED 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
Using 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
Object-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
The 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
DEGREE 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
CHAPTER 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
Twin 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 [email protected] Abstract. We introduce
APLRAC: 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
A 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
SOFTWARE 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
Software 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:
Organization. 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
ARCHITECTURAL 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
The Command Dispatcher Pattern
The Command Dispatcher Pattern Can also be called: Command Evaluator Pattern. Benoit Dupire and Eduardo B Fernandez {[email protected], [email protected]} Department of Computer Science and Engineering.
Research 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
Manager-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.
Gé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
Software Development Process
Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously
Ontological 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
A 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 [email protected] Abstract
A 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
SAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar
SAPM Overview Semester Summary Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar In this lecture we review the topics we have covered this semester, focusing on what I consider
An 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
Section 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
270015 - 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
Monitor Object. An Object Behavioral Pattern for Concurrent Programming. Douglas C. Schmidt
Monitor Object An Object Behavioral Pattern for Concurrent Programming Douglas C. Schmidt [email protected] Department of Computer Science Washington University, St. Louis 1 Intent The Monitor Object
Name 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
Programming 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
Information 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:
Composing 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 [email protected] 2 Concurrent
Chap 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)
Software 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
MANAGEMENT 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
A Meeting Room Scheduling Problem
A Scheduling Problem Objective Engineering, Inc. 699 Windsong Trail Austin, Texas 78746 512-328-9658 FAX: 512-328-9661 [email protected] http://www.oeng.com Objective Engineering, Inc., 1999-2007. Photocopying,
Code 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
Developing Flexible and High-performance Web Servers with Frameworks and Patterns
Developing Flexible and High-performance Web Servers with Frameworks and Patterns Douglas C. Schmidt [email protected] James C. Hu [email protected] Department of Computer Science Washington University
Applying 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
XXI. 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
Architectural 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 [email protected] http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson [email protected] http://www.inf.ed.ac.uk/ssp/members/dave.htm
Agile 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
Deployment 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, [email protected] 4
Broker 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
[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.
9.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
What 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
An 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
TEACHING 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,
An 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
Classification 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
CS 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
Design 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
Design 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
