Incremental Change of Software
|
|
- Blaze Page
- 6 years ago
- Views:
Transcription
1 Incremental Change of Software
2 Taxonomy of Evolution Changes Incremental change (IC) adds substantial new functionality Refactoring (restructuring) preserves the functionality Replacement substitute one functionality by another example: replacing buggy code Retracting deletes a functionality
3 Strategies for IC Anticipated change information hiding, parametrization localize change within one class Many changes cannot be anticipated process of learning during development Microsoft: 70% of requirements predicted Ford project: 30% predicted examples of unexpected changes company mergers, introduction of Euro
4 Unanticipated IC The Software was not prepared/designed for it Very common situation in practice A substantial part of software engineering
5 Initiation The Mini-process of IC IC design IC implementation & Tests Release
6 IC Initiation Problem Report May require logs, traces Preventive Maintenance enhance reliability, comprehensibility, extensibility, etc. New Feature Request additional functionality of the product usually initiated by the customers, marketing, management All change requests assigned a priority and placed on the queue hot problems cause instant reprioritization
7 IC Design Concept Location Find where in the code the change will be done Study Code and Documentation Identify/Weigh Alternative Solutions Implementation strategy Divide large changes into several smaller ones Each has its own implementation and testing activity Impact analysis Find all components that will be affected by the change
8 IC Implementation Refactoring 1 (pre-factoring) Restructure the software to localize change Actualization Implements the new code Incorporation Replaces the new code by the old Change propagation Changes all other components that must be changed Refactoring 2 (post-factoring) Improves clarity, readability
9 Testing Unit tests of the components Guarantee that units (classes) work Regression test Guarantee that things that did not change still work Integration test Guarantee that the whole system works again Tests are done both during and after implementation
10 IC Release Release build Write Release Notes Make release available to customer
11 Concept location plays key role in IC concepts are present in the code primitive concepts have to be enriched Point-of-Sale: introduce credit card payment old code: payment represented as just one number latent concepts have to be implemented Student Registration: introduce prerequisite check old code assumption: prerequisites are satisfied
12 Concept location finds code that implements concept part of program comprehension concept location methodologies human knowledge "grep" (pattern matching) dynamic search (execution traces) static search through dependency graph traceability tools
13 Top-down search Depth first search done by programmer: Start with the top class (main in C++) while (concept is not implemented here) if (the concept is a part of the composite functionality) move to subclass which leads to the concept else backtrack concept located
14 Change propagation Refactoring 1 (pre-factoring) Restructure the software to localize change Actualization Implements the new code Incorporation Replaces the new code by the old Change propagation Changes all other components that must be changed Refactoring 2 (post-factoring) Improves clarity, readability
15 Change propagation if the visited class is modified, it may no longer fit secondary changes must be made in interacting ( neighboring ) classes secondary changes may trigger additional changes ripple effect Process Mark neighboring classes of a class that changed visit the marked classes one-by-one
16 Three possibilities for marked Change class Mark all neighbors class visit Do not change class but propagate Mark all neighbors Do not change class and do not propagate Erase the mark
17 Three options (class diagram) Change class mark Do not change class but propagate
18 Three options (class diagram) Do not change class and do not propagate
19 Example change propagation Point-Of-Sale application Old program keeps an inventory, receives delivery, sells products, and supports a cash register. Classes designed and implemented at a minimal level of functionality
20 UML class diagram
21 Incremental change complexities of sale taxes different products may have different sales tax, depending on state law location tax in class item actualization new class taxcategory
22 Incorporation register store item sale salelineitem taxcategory
23 Change propagation register store item sale salelineitem taxcategory
24 Change propagation register store item sale salelineitem taxcategory
25 Change propagation register store item sale salelineitem taxcategory
26 Change propagation register store item sale salelineitem taxcategory
27 Change propagation register store item sale salelineitem taxcategory
28 Summary adding tax 1 new class was implemented All 5 old classes had to be visited (!) 3 old classes had to be changed
29 Example Drawlets Application framework Drawlets adds graphical display to a host application Drawing canvas lines, free-hand lines, rectangles, rounded rectangles, triangles, pentagons, polygons, ellipses, text boxes, images
30 Drawlets more than 100 classes, 35 interfaces and 40,000 lines of code originally implemented by Kent Beck, Ward Cunningham later ported into Java perfect API drawlets.htm
31 The host application responsible for providing an instance of the drawing canvas, toolbars, and tool buttons Class SimpleApplet is a host application is a part of the Drawlet library SimpleApplet runs in any browser
32 SimpleApplet window
33 Top classes LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
34 Concept Location :: Example Locating figure properties in Drawlets
35 Example Drawlets: Top class LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
36 Wrong way LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
37 Backtrack LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
38 Right way LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
39 Wrong way LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
40 Backtrack LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
41 Concept Location :: Summary LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
42 Change Request implement an "owner" for each figure owner put that figure onto the canvas only owner is allowed to move that figure each session declares a session owner this session owner will own all new figures created no other owner will be allowed to manipulate them This change will make SimpleApplet more versatile and useful support for cooperative work
43 Extraction The concepts relevant to the change figure owner and session owner both are implicit old code assumes that there is just one owner who owns both sessions and figures
44 Location LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
45 Actualization LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
46 Incorporation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
47 Propagation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
48 Propagation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
49 Propagation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
50 Propagation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
51 Propagation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
52 Propagation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
53 Propagation LocatorConnectionHandle Locator AbstractFigure Figure StylePalette SequenceOfFigures OwnerIdentity SimpleApplet DrawingCanvas ToolBar CanvasTool SimpleDrawingCanvas SimpleListener ToolPalette SelectionTool ConstructionTool PrototypeConstructionTool ShapeTool LabelTool RectangleTool EllipseTool RectangularCreationTool PG_RectImageTool
54 Shorter change propagation Long change propagation is a problem it would be advantageous to shorten it opportunistic refactoring moves code affected by change into fewer classes splitting the roles
55 More info on the case study Václav Rajlich, Prashant Gosavi: Incremental Change in Object-Oriented Programming. IEEE Software 21(4): (2004)
A Case Study of Unanticipated Incremental Change
A Case Study of Unanticipated Incremental Change Václav Rajlich, Prashant Gosavi Department of Computer Science, Wayne State University, Detroit, MI 48202 rajlich@cs.wayne.edu Abstract Incremental changes
More information4 Software models. often more than what people can handle not necessary to know all details at all times
4 Software models Software is complex often more than what people can handle not necessary to know all details at all times Models offer simplified view concentrate on the important issues and omit the
More information6 Concepts and concept location Initiation
6 Concepts and concept location Initiation Concept Location Impact Analysis Prefactoring Actualization Postfactoring Conclusion V E R I F I C A T I O N 2012 Václav Rajlich Software Engineering: The Current
More informationA Case Study in Adding Ownership Domain Annotations
A Case Study in Adding Ownership Domain Annotations Marwan Abi-Antoun Nariman Ammar Fayez Khazalah October 2010 Department of Computer Science Wayne State University Detroit, MI 48202 Abstract A software
More informationJAVA CONCEPTS Early Objects
INTERNATIONAL STUDENT VERSION JAVA CONCEPTS Early Objects Seventh Edition CAY HORSTMANN San Jose State University Wiley CONTENTS PREFACE v chapter i INTRODUCTION 1 1.1 Computer Programs 2 1.2 The Anatomy
More informationIllustrator Domains 1-4: Getting to Know Your Workspace. Dreamweaver Domain 3
Illustrator Domains 1-4: Getting to Know Your Workspace 1 Lesson 1: Getting to Know the Work Area Toolbar Fly-out menus for hidden tools Panels Can be opened, closed, docked, or hide all (Tab) Like your
More informationDesign Patterns: Prototype, State, Composite, Memento
Design Patterns: Prototype, State, Composite, Memento Let s start by considering the CanvasEditor as we had it at the end of the last class. Recall that when a button was clicked, the button s custom ActionListener
More information9 Refactoring. Refactoring changes the software structure but does not change the functionality of the program. important activity during evolution
9 Refactoring Refactoring changes the software structure but does not change the functionality of the program important activity during evolution Refactoring consists of behaviour preserving transformations
More informationSTRONGVON Tournament Management System Features and Capabilities Copyright 2009 STRONGVON LLC
STRONGVON Tournament Management System Features and Capabilities Copyright 2009 STRONGVON LLC Introduction The STRONGVON Tournament Management System is the most comprehensive way to manage your tournaments
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationCOMPUTER/INFORMATION FLOOD STANDARDS
COMPUTER/INFORMATION FLOOD STANDARDS CIF-1 Flood Model Documentation A. Flood model functionality and technical descriptions shall be documented formally in an archival format separate from the use of
More informationOracle Order Capture. Dependencies. Related Documentation and Resources. Implementation Guide
Oracle Order Capture Implementation Guide Release 11i August 2000 Part No. A86137-01 This topic group provides general descriptions of the set up and configuration tasks required to implement the application
More informationINF 111 / CSE 121. Laboratory 6: Package and Sequence Diagrams using ArgoUML
Laboratory 6: Package and Sequence Diagrams using ArgoUML Name : Student Number : Laboratory Time : Objectives Add Packages to a Class Diagram in ArgoUML Create a Sequence Diagram in ArgoUML Create a new
More informationModeling software evolution by evolving interoperation graphs
Annals of Software Engineering 9 (2000) 235 248 235 Modeling software evolution by evolving interoperation graphs Václav Rajlich Department of Computer Science, Wayne State University, Detroit, MI 48202,
More informationSOFTWARE MAINTENANCE: A
SOFTWARE MAINTENANCE: A TUTORIAL BY KEITH H. BENNETT 2008.10.13 소프트웨어 200310612 조보경 Software Engineering Field Main problem of software engineering Scale and Complexity of the software Goal of software
More informationAnalysis of the Test Driven Development by Example
Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /
More informationExplorations of Rigid Motions and Congruence
Explorations of Rigid Motions and Congruence James King University of Washington Department of Mathematics king@uw.edu http://www.math.washington.edu/~king The Plan In this session, we will explore exploring.
More informationFiling a Sales Tax Return in ebiz Tax
Filing a Sales Tax Return in ebiz Tax Step-by-step instructions Denver Treasury Division This handout gives step-by-step instructions on how to file a sales tax return in Denver s ebiz Tax Center. 6/30/2017
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationRefactoring. Refactoring Techniques
Refactoring Refactoring Techniques Code Quality is Important! Refactoring is... A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its
More informationCOURSE 11 DESIGN PATTERNS
COURSE 11 DESIGN PATTERNS PREVIOUS COURSE J2EE Design Patterns CURRENT COURSE Refactoring Way refactoring Some refactoring examples SOFTWARE EVOLUTION Problem: You need to modify existing code extend/adapt/correct/
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationNews in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018
News in RSA-RTE 10.2 updated for sprint 2018.18 Mattias Mohlin, May 2018 Overview Now based on Eclipse Oxygen.3 (4.7.3) Contains everything from RSARTE 10.1 and also additional features and bug fixes See
More informationSOFTWARE ENGINEERING SOFTWARE EVOLUTION. Saulius Ragaišis.
SOFTWARE ENGINEERING SOFTWARE EVOLUTION Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Evolution Learning Objectives: Identify the principal issues associated with software evolution and
More informationObject Orientated Analysis and Design. Benjamin Kenwright
Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary
More informationwebsite_ctr:link_click unique_link_clicks_ctr video_avg_sec_watched_actions video_avg_pct_watched_actions
Existing Name New Name as of Name in Ad Insights API (reference) pre 3/14 3/14/2017 1 Existing Name New Name Ad Insights API Field Name (as reference) 2 Account Account Name /act_?fields=name
More informationA Rapid Overview of UML
A Rapid Overview of UML The Unified dmodeling Language (UML) Emerged in the mid 90s as the de facto standard for softwareengineering engineering design Use case diagram depicts user interaction with system
More informationModeling Software Evolution by Evolving Interoperation Graphs 1
Annals of Software Engineering, Vol. 9, 2000, pp. 235-348. Modeling Software Evolution by Evolving Interoperation Graphs 1 Václav Rajlich Department of Computer Science Wayne State University Detroit,
More informationIntermediate/Advanced. Faculty Development Workshop FSE Faculty retreat April 18, 2012
Intermediate/Advanced Faculty Development Workshop FSE Faculty retreat April 18, 2012 Remote Desktop Sharing Quick Reference Guide for Moderators The Moderator or a Participant may request control of another
More informationChecklist for Requirements Specification Reviews
Checklist for Requirements Specification Reviews Organization and Completeness o Are all internal cross-references to other requirements correct? o Are all requirements written at a consistent and appropriate
More informationC Sc 335 Practice Test 2 Answers 1a) Create an initial list of classes that would do a good job of modeling this system (ANSWER MAY VARY)
C Sc 335 Practice Test 2 Answers 1a) Create an initial list of classes that would do a good job of modeling this system (ANSWER MAY VARY) Candidate Class Name Single Responsibility Customer (or Rentor)
More informationCO Java SE 8: Fundamentals
CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator
More informationCOWLEY COLLEGE & Area Vocational Technical School
COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR JAVA PROGRAMMING CIS1868 3 Credit Hours Student Level: This course is open to students on the college level in either freshman or
More informationMTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45
MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail
More informationCHANGES TO THIS POLICY
Privacy Policy Your personal and corporate privacy is important to FunkyCouture.com. This privacy policy ( Policy ) applies to the FunkyCouture.com e Web sites and services and tells you how personal and
More informationReengineering II. Transforming the System
Reengineering II Transforming the System Recap: Reverse Engineering We have a detailed impression of the current state We identified the important parts We identified reengineering opportunities We have
More informationADOBE TRAINING CS6 PHOTOSHOP BASICS: EDITING PHOTOS & WORKING WITH TEXT - 1
ADOBE TRAINING CS6 PHOTOSHOP BASICS: EDITING PHOTOS & WORKING WITH TEXT Photoshop is the leading professional software for editing and adjusting photos, images and other graphic projects. It is a very
More informationPractical Objects: Test Driven Software Development using JUnit
1999 McBreen.Consulting Practical Objects Test Driven Software Development using JUnit Pete McBreen, McBreen.Consulting petemcbreen@acm.org Test Driven Software Development??? The Unified Process is Use
More informationGift Card Instructions Daxko Spectrum
Gift Cards Gift card are good to use for a variety of reason: 1. You can track the declining balance on them. 2. You can recharge them; treat it as a cash card. The cards can be attached to a recipient.
More informationIntroduction to Programming
Introduction to Programming Course ISI-1329 - Three Days - Instructor-Led Introduction This three-day, instructor-led course introduces students to computer programming. Students will learn the fundamental
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationCOMPUTER FLOOD STANDARDS
COMPUTER FLOOD STANDARDS CF-1 Flood Model Documentation A. Flood model functionality and technical descriptions shall be documented formally in an archival format separate from the use of letters, slides,
More informationFurniture Wizard Security Introduction
Furniture Wizard Security Introduction In this section, we will introduce you to the new security features of Furniture Wizard. Furniture Wizard s security will allow you to set permissions for different
More information2. Reasons for implementing clos-unit
A CLOS Implementation of the JUnit Testing Framework Architecture: A Case Study Sandro Pedrazzini Canoo Engineering AG sandro.pedrazzini@canoo.com Abstract There are different reasons why you would like
More informationShaDe for SketchUp. User's Guide All rights reserved For research use only (non-commercial use) Manuela Ruiz Montiel and Universidad de Málaga
ShaDe for SketchUp User's Guide All rights reserved For research use only (non-commercial use) Manuela Ruiz Montiel and Universidad de Málaga Author Manuela Ruiz Montiel Date November 28, 2011 Version
More informationRefactoring and Rearchitecturing
Refactoring and Rearchitecturing Overview Introduction Refactoring vs reachitecting Exploring the situation Legacy code Code written by others Code already written Not supported code Code without automated
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 2: Review of Object Orientation 2.1 What is Object Orientation? Procedural paradigm: Software is organized
More informationThe Studio Director QuickBooks Help
The Studio Director QuickBooks Help Copyright 2016 The Studio Director OnVision Solutions, Inc. P.O. Box 3221 Monument, CO 80132 http://www.thestudiodirector.com Table of Contents OVERVIEW & REQUIREMENTS...
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationRefactoring Practice: How it is and How it Should be Supported
Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case
More informationCourse Title: Computer Graphics Course no: CSC209
Course Title: Computer Graphics Course no: CSC209 Nature of the Course: Theory + Lab Semester: III Full Marks: 60+20+20 Pass Marks: 24 +8+8 Credit Hrs: 3 Course Description: The course coversconcepts of
More informationMethods for requirements engineering
Methods for requirements engineering Objectives To explain the role of methods and techniques in requirements engineering To introduce data-flow modelling To introduce semantic data modelling To introduce
More informationAn approach to introductory programming
An approach to introductory programming Abhiram Ranade April 21, 2014 What should you teach in an introductory programming course? What should you teach in an introductory programming course? Some simple
More informationIntroduction to Computer Science with Python Course Syllabus
CodeHS Introduction to Computer Science with Python Course Syllabus Course Overview and Goals The CodeHS Introduction to Computer Science in Python course teaches the fundamentals of computer programming
More informationCarnegie Learning Math Series Course 1, A Florida Standards Program. Chapter 1: Factors, Multiples, Primes, and Composites
. Factors and Multiples Carnegie Learning Math Series Course, Chapter : Factors, Multiples, Primes, and Composites This chapter reviews factors, multiples, primes, composites, and divisibility rules. List
More informationUnit 1, Lesson 13: Polyhedra
Unit 1, Lesson 13: Polyhedra Lesson Goals Identify prisms and pyramids. Understand and use vocabulary for polyhedra. Understand the relationship between polyhedra and their nets. Required Materials nets
More informationKerievsky_book.fm Page 355 Thursday, July 8, :12 PM. Index
Kerievsky_book.fm Page 355 Thursday, July 8, 2004 12:12 PM Index A Absorbing class, 117 Abstract Factory, 70 71 Accept methods, 327 Accumulation methods, 315, 325 330 Accumulation refactorings Collecting
More informationMTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45
MTAT.03.094 Software Engineering Written Exam 10 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail
More informationAgile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?
Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationGraphWorX64 Productivity Tips
Description: Overview of the most important productivity tools in GraphWorX64 General Requirement: Basic knowledge of GraphWorX64. Introduction GraphWorX64 has a very powerful development environment in
More informationTopics. Designing the program. Chapter 9 Program and Transaction Design. (c) Addison Wesley Chapter 9
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 9 Program and Transaction Design Copyright 2000 by Addison Wesley Version
More informationощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV
ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV Contents Preface Chapter 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19
More informationEvent Night Card Reader
Event Night Card Reader There are three possible scenarios at event check-in: 1. Pre-registered Guests: Bidders who have registered for the event in advance, including on-line registrations. 2. New Bidders
More informationData Analysis 1. Chapter 2.1 V3.1. Napier University Dr Gordon Russell
Data Analysis 1 Chapter 2.1 V3.1 Copyright @ Napier University Dr Gordon Russell Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is
More informationUtilizing Web Search Engines for Program Analysis
Utilizing Web Search Engines for Program Analysis Daniel Ratiu, Lars Heinemann Technische Universität München ICPC 2010, Braga Object-Oriented Software Construction [B. Meyer] Many objects are there just
More informationComputer Programming II C++ (830)
DESCRIPTION This is an advanced course in computer programming/software engineering and applications. It reviews and builds on the concepts introduced in CP I. It introduces students to dynamic data structures,
More informationSoftware Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)
Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture
More informationRegistration and Title System
Registration and Title System Refactored Point of Sale System for County Offices Release 9.1.0 5/21/2018 About These contain information about new features, enhancements, and reported issues resolved in
More informationExam in TDDB84: Design Patterns,
Exam in TDDB84: Design Patterns, 2014-10-24 14-18 Information Observe the following, or risk subtraction of points: 1) Write only the answer to one task on one sheet. Use only the front side of the sheets
More informationNavigating Product Catalogs Through OFDAV Graph Visualization
Navigating Product Catalogs Through OFDAV Graph Visualization Mao Lin Huang Department of Computer Systems Faculty of Information Technology University of Technology, Sydney NSW 2007, Australia maolin@it.uts.edu.au
More informationPaint Tutorial (Project #14a)
Paint Tutorial (Project #14a) In order to learn all there is to know about this drawing program, go through the Microsoft Tutorial (below). (Do not save this to your folder.) Practice using the different
More informationOracle Forms Modernization Through Automated Migration. A Technical Overview
Oracle Forms Modernization Through Automated Migration A Technical Overview Table of Contents Document Overview... 3 Oracle Forms Modernization... 3 Benefits of Using an Automated Conversion Tool... 3
More informationCheck out FilesAndExceptions from SVN. Exam 2 Review File I/O, Exceptions Vector Graphics Project
Check out FilesAndExceptions from SVN Exam 2 Review File I/O, Exceptions Vector Graphics Project Exam 2 review File I/O and Exceptions Vector Graphics project kickoff Exam is in class tomorrow Test on
More informationSolved Question Paper June 2017
Solved Question Paper June 2017 1.a) What are the benefits of Object Oriented Methodology in real life applications? Briefly explain each element of the state diagram with respect to dynamic modeling.
More informationSoda Machine Laboratory
Soda Machine Laboratory Introduction This laboratory is intended to give you experience working with multiple queue structures in a familiar real-world setting. The given application models a soda machine
More informationEnd-of-Module Assessment Task
Name Date 1. The juice box pictured below is 4 inches high, 3 inches long, and 2 inches wide. a. In the grid above, the distance between grid lines represents one inch. Use the grid paper to sketch the
More informationSelf-review Questions
7Class Relationships 106 Chapter 7: Class Relationships Self-review Questions 7.1 How is association between classes implemented? An association between two classes is realized as a link between instance
More informationWays of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained
Session 5: The Data Dictionary relationship to systems analysis methodologies relationship to project management data definition vs. data representation taxonomy of data types COMP 477 /377, Spring, 2017
More informationIntroduction to UML. Danang Wahyu utomo
Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality
More informationSearch Results Tabs. List Tab Options
Search Results Tabs The Search Results screen is sectioned by tabs. These tabs contain information and tools that are vital in how you configure listing information to package and sell to your clients.
More informationEntity Relationship Modelling
Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes, and relationships in a system The degree of
More informationProperties of High Quality Software. CSE219, Computer Science III Stony Brook University
Properties of High Quality Software CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Software Engineering Basics Important Principles for creating a Software Solution:
More informationCOWLEY COLLEGE & Area Vocational Technical School
COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR Student Level: This course is open to students on the college level in either the freshman or sophomore year. Catalog Description:
More informationUnit E Geometry Unit Review Packet
Unit E Geometry Unit Review Packet Name Directions: Do ALL (A) Questions. Check Your Answers to (A) Questions. If ALL (A) Questions are correct, skip (B) Questions and move onto next I can statement. If
More informationIs it possible to rotate ΔEFG counterclockwise to obtain ΔE F G? If so, how?
[Hide Toolbars] In Lesson 3.1.1, you learned how to transform a shape by reflecting it across a line, like the ice cream cones shown at right. Today you will learn more about reflections and also learn
More informationGoal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD
Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer
More informationThe Auction Manager Owner s Manual. A quick guide to the tools and features available in BiddingforGood s Auction Manager.
The Auction Manager Owner s Manual A quick guide to the tools and features available in BiddingforGood s Auction Manager. When you log in to Auction Manager, this is what you ll see: This is the main toolbar.
More informationV-BOX Cloud Configuration
V-BOX Cloud Configuration Website: http://www.we-con.com.cn/en Technical Support: support@we-con.com.cn Skype: fcwkkj Phone: 86-591-87868869 QQ: 1043098682 Technical forum: http://wecon.freeforums.net/
More informationCHAPTER 6 ACTIONS, METHODS, REFACTORING
VERSION 1 CHAPTER 6 In this chapter we cover ACTIONS in more depth and show how to easily create additional actions in a script by using a technique known as REFACTORING. The chapter covers two forms of
More informationSoftware Requirements Specifications
Communication Model for Cooperative Robotics Simulator Software Requirements Specifications Version 1.0 1. Introduction 1.1 Purpose The purpose of this document is to define functionality of Communication
More information2.4 Angle Properties in Polygons.notebook. October 27, 2013 ENTRANCE SLIP
ENTRANCE SLIP If you are given one interior angle and one exterior angle of a triangle, can you always determine the other interior angles of the triangle? Explain, using diagrams. 1 2.4 Angle Properties
More informationCourse Information Package
Course Information Package PLANNING FORM FOR AN EDUCATIONAL MODULE (to be completed by the teacher) Programme of Studies: Name of the module: Target group: Level of the unit: Entrance requirements: Number
More informationE xtr B e y CS R m oy 6704, e T a P n a Spring r n o d J g ia n 2002 r g a S m hu m ing
Extreme Programming CS 6704, Spring 2002 By Roy Tan and Jiang Shu Contents What is Extreme Programming (XP)? When to use XP? Do we need yet another software methodology? XP s rules and practices XP s relation
More informationCompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards
CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards Nevada Course Details: Course Name: Computer Science Primary Cluster: Information and Media Technologies Standards Course Code(s):
More informationInformation Technology Audit & Cyber Security
Information Technology Audit & Cyber Security Structured Data Requirements Systems & Infrastructure Lifecycle Management with E-R LEARNING OBJECTIVES Explain the role of conceptual data modeling in the
More informationOn to Iteration 3, and Activity Diagrams CSSE 574: Session 6, Part 1
On to Iteration 3, and Activity Diagrams CSSE 574: Session 6, Part 1 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu On to Iteration 3: NextGen POS Failover
More informationGrade 10 Geometry 3 rd Nine Weeks Pacing Guide
Week 1 (1/ 4-6) Week 2 (1/9-13) 2016-2017 Grade 10 3 rd Nine Weeks Pacing Guide 17. [G-SRT.4] Prove theorems about triangles. Theorems include a line parallel to one side of a triangle divides the other
More informationEclipse Forms. Release 8.7.2
Eclipse Forms Release 8.7.2 Legal Notices 2011 Epicor Software Corporation. All rights reserved. Unauthorized reproduction is a violation of applicable laws. Epicor and the Epicor logo are registered trademarks
More informationSoftware Change and Evolution 1
Published in Lecture Notes in Computer Science LNCS 1725, Springer Verlag, 1999, 186-199. Software Change and Evolution 1 Václav Rajlich Department of Computer Science, Wayne State University Detroit,
More information