Software Evolution. Software Engineering HS 16. Thomas Fritz & Martin Glinz

Size: px
Start display at page:

Download "Software Evolution. Software Engineering HS 16. Thomas Fritz & Martin Glinz"

Transcription

1 Software Egieerig HS 16 Software Evolutio Thomas Fritz & Marti Gliz May thaks to H. Gall, K. Kevic, M. Alle, V. Razmov, M. Laza, D. Shepherd, M. Felici, G. Murphy

2 Learig Goals By the ed of this uit, you will be able to: Explai why evolutio is difficult but iheret Describe three categories of reasos why useful software must evolve ad idetify what kid of reaso motivates a give software chage Reaso about ad argue whether a give chage retais biary/cotract compatibility Describe the role of issue trackig systems i the software developmet process Discuss the life cycle of a bug report, criteria for writig a good oe ad geeral steps for workig o oe 2

3 Importace of Maiteace/Evolutio

4 Maiteace Examples Microsoft Widows XP: q Released 12/31/2001 q Service packs eded 8/30/2005 q q Support eded 4/14/2009 (7.5 years) Exteded support still possible Red Hat Eterprise Liux 3 q Released 10/23/2003 q Ed of life cycle 10/31/2010 q Ed of exteded support 01/30/2014

5 Software Maiteace/Evolutio Producig ew (versios of) software uder the costraits of existig software q Backwards compatibility is ofte assumed / required q aka Browfield developmet q Legacy Software: software which is vital to our orgaizatio, but we do t kow what to do with it (Beett ad Rajlich) Ca comprise all phases of the lifecycle, startig with requiremets gatherig q Aother tur of the spiral Similar to developmet, but HARDER!

6 Software chage Software chage is ievitable q New requiremets emerge whe the software is used q The busiess eviromet chages q Errors must be repaired q New computers ad equipmet is added to the system q The performace or reliability of the system may have to be improved A key problem for orgaisatios is implemetig ad maagig chage to their existig software systems. 6

7 Y2K Example Memory space used to be a problem, so, store 2 digit years q Rollover problem: ascedig umberig assumptio becomes ivalid Mitigatio efforts cost ~$300 billio worldwide Valuable surge i IT moderizatio q major issue for busiess: eterprise architecture Computerworld:

8 Software Evolutio Orgaizatios have huge ivestmets i their software systems - they are critical busiess assets. To maitai the value of these assets to the busiess, they must be chaged ad updated. The majority of the software budget i large compaies is devoted to evolvig existig software rather tha developig ew software. 8

9 Lehma s laws Observatios (~laws) o large systems developed by large orgaizatios Cotiuig chage A program that is used i a real-world eviromet ecessarily must chage or become progressively less useful i that eviromet Icreasig complexity As a evolvig program chages, its structure teds to become more complex. Extra resources must be devoted to preservig ad simplifyig structure. Decliig quality The quality of systems will appear to be decliig uless they are adapted to chages i their operatioal eviromet. 9

10 Evolutio is hard Systems ot robust uder chage. Lack of traceability (e.g. betwee requiremets ad code) Poor documetatio of code, of desig process ad ratioale ad of system evolutio. Stupid code features may ot be so stupid. q work-arouds of artificial costraits may o loger be documeted (e.g. OS bugs, memory limits, etc.) Poor maagemet attitudes ad culture: q q q Maiteace is ot high-profile. It is just patchig code. Easier/less importat tha desig.

11

12 Discussio Questio If we build a game like Halo 5, do we ever eed to chage the applicatio s source code? Whe? Why? 12

13 Reasos for evolutioary chages Corrective q correct faults i system behaviour q caused by errors i codig, desig or requiremets Adaptive q due to chages i operatig eviromet q e.g., differet hardware or operatig system Perfective q due to chages i requiremets q ofte triggered by orgaizatioal, busiess or user learig

14 What is the reaso for this chage?

15 What is the reaso for this chage?

16 What is the reaso for this chage?

17 Evolutio ad Compatibility Cliet Applica'o 1 Cliet Applica'o 2 Applica'o Programmig Iterface (API) Applica'o A Imagie Applica'o A = Microso< Outlook What might the API provide access to? Why? Cliet Applica'o 3

18 API (Java perspective) e.g., Moyosoft Java Outlook Coector public class SedMail { public static void mai(strig[] args) { try { // Outlook applicatio Outlook outlookapplicatio = ew Outlook(); // Get the Outbox folder OutlookFolder outbox = outlookapplicatio.getdefaultfolder( FolderType.OUTBOX); // Create a ew mail i the outbox folder OutlookMail mail = (OutlookMail) outbox.createitem(itemtype.mail); // Set the subject, destiatio ad cotets of the mail mail.setsubject("hello world!"); mail.setto("your_ @test.com"); mail.setbody("this is a test message."); // Sed the mail mail.sed();

19 Evolvig a Java-based API What kid of chages to the Java API code ca we make to maitai biary compatibility so that existig (already compiled) applicatios usig the API do ot break? Add a ew (Java) package to the API? Chage ame of a public method i a public class? Chage the ame of a parameter to a method?

20 Try these oes 1. Re-order methods i a class declaratio? 2. Add a uchecked exceptio throw to a API method? 3. Chage a API method from public access to protected access? 4. Add API field? See (do t memorize these ad just uderstad the very basic kids of chages)

21 API Cotract Compatibility API chages must ot ivalidate formerly legal Cliet code. Cosider the followig API method specificatio. /** Returs the list of childre of this widget. a o-empty list of widgets */ Widget[] getchildre();

22 API Cotract Compatibility What if that specificatio was chaged i a revised API to allow a empty list of widgets to be retured? /** Returs the list of childre of this widget. a list of widgets */ Widget[] getchildre(); Would this chage break a cliet who calls getchildre()? Why or why ot?

23 API Cotract Compatibility What about this oe? /** Removes the give widgets from this widget s * list of childre. widgets a o-empty list of widgets */ void remove(widget[] widgets); chages to /** Removes the give widgets from this widget s * list of childre. widgets a list of widgets */ void remove(widget[] widgets);

24 API Cotract Compatibility.. Method pre-coditios Method post-coditios Stregthe Weake Stregthe Weake Breaks compatibility for callers Cotract compatible for callers Cotract compatible for callers Breaks compatibility for callers For more, see: This is just part of the story of cotract compatibility as the compatibility depeds o the role of the cliet code.

25 Copig with API evolutio What if you eed to upgrade part of a API ad it breaks compatibility? a) add ew API elemets alogside the old e.g., search() ad search2() b) deprecate the old versio of the API

26 What if the API is to a web service? Cliet Applica'o 1 Cliet Applica'o 2 Applica'o Programmig Iterface (API) Applica'o A A tough problem. Ca versio the URLs (REST iterface) used to access the service. Basically o great solu'o yet to my kowledge. Cliet Applica'o 3

27 Issue Trackers Are critical to teams for trackig ad maagig bugs ad feature requests Some examples Bugzilla Jazz/RTC (work items) Jira

28 Issue Trackig Systems Maage developmet requests (also called bug reports, work items, chage requests, chage tasks) q q q Defects, e.g. Usig Ctrl-+ to elarge display fails to add scroll bars whe cotet exceeds widow size Ehacemets (ew features), e.g. Add a optio to reder page immediately without waitig CSS to load boudary betwee defects ad ehacemets ca be fuzzy Maitai a list of bugs i the software q I a database called the bug repository Assig resposibility for each bug, feature, or task Orgaize the work to be doe q Life cycle of a bug report Break up the work ito releases or other deadlies

29 Issues / Bug Reports / Work Items Are ofte the major piece of iformatio i software developmet teams Cotai the ratioale for chages (provide documetatio) Cotai the liks to related documets Cotai iformatio o the people who are ivolved. 29

30 Aatomy of a bug report A bug report has the followig fields: Title (also called Summary) Descriptio Status Assigee Priority Target Milestoe Commets

31 Summary (Title) Descriptio 31

32 Filig ad triagig a bug report Who ca file a bug report? q q Ope bug repository: Ay user (usual case i OSS) Closed bug repository: Developers, Testers, QA (usual case i proprietary software) Triagig: go through a ewly filed bug report to validate ad assig the bug to a developer. q q Over the first six moths of 2010, reports were filed for Eclipse: 110 reports/day; ~5 mi per bug report: ~9 persohours/day spet o triagig Validate: cofirm it is a o-duplicate bug report; of 20K bug reports for Eclipse, 3.4K (17%) were marked ivalid, duplicate, could ot be replicated or wo t fix

33 Life Cycle of a Bug The bug report is filed UNCONFIRMED Possible resolutios: Fixed Duplicate Wo t Fix Works for Me Ivalid Owership is chaged REOPENED NEW ASSIGNED RESOLVED QA ot satisfied with solutio Developer takes possessio VERIFIED Developmet is fiished with bug QA verifies solutio worked Based o: docs/2.16/html/how.html#lifecycleimage CLOSED

34 Role of bug report commets Discussio amog reporters ad developers Might be the oly way of commuicatio for a distributed developmet team (differet locatios, time zoes) Eve whe the developers have a mea of commuicatig face-to-face, it provides a way of documetig the history of the developmet process ad the ratioale. q e.g. why it was decided to fix a bug i a certai way.

35 Summary of Bug Report Writig Guidelies (Mozilla) Be precise Be clear - explai it so others ca reproduce the bug Oe bug per report No bug is too trivial to report - small bugs may hide big bugs Clearly separate fact from speculatio Based o:

36 Guidelies cot d A good summary (title) should quickly ad uiquely idetify a bug report explai the problem, ot your suggested solutio Good: "Cacellig a File Copy dialog crashes File Maager Bad: "Software crashes Bad: "Browser should work with my web site A good descriptio should iclude Provide eough cotext Overview, steps to reproduce, actual results, expected results Survey study foud most helpful iformatio to be:steps to reproduce, stack traces, test cases T.Zimmerma et al., What makes a good bug report, IEEE Trasactios o Software Egieerig, vol. 36, No. 5, Sep./Oct. 2010

37 Oe bug

38 May bugs

39 May issues/bugs

40 Questio: How do you perform a chage task? Summary: Applicatio crash o clickig the SAVE butto while creatig a ew user. Descriptio: Applicatio crash o clickig the SAVE butto while creatig a ew user, hece uable to create a ew user i the applicatio Steps to reproduce: 1) Logo ito the applicatio 2) Navigate to the Users Meu > New User 3) Filled all the user iformatio fields 4) Clicked o Save Butto 5) See a error page ORA1090 Exceptio: Isert values Error 6) See attached logs for more iformatio ad also attached screeshot 40

41 Time sped durig chage tasks Adrew J. Ko, Htet Aug, ad Brad A. Myers. Elicitig desig requiremets for maiteace-orieted ides: a detailed study of corrective ad perfective maiteace tasks. ICSE

42 Workig o a chage task search " terms" code search" avigatio" chage task" (Jira/Bugzilla/...)" Itegrated Developmet Eviromet (IDE)" evetually editig

43 Workig o a chage task Problems/Difficulties: Too much code to uderstad/read all Laguage mismatch: bug reports (NL) source code Crosscuttig cocers: code is ofte tagled ad scattered To localize ad edit relevat code Idetify good search terms Take advatage of tool support, e.g. code search, structural avigatio support, breakpoits (debuggig) Take advatage of iformatio provided i bug reports, such as stack traces, ad also o ews forums, such as stackoverflow 43

44 Summary Evolutio is tough but a iheret ad importat part of software developmet Evolutioary chages ca be corrective, adaptive ad perfective API cotract compatibility esures that cliet code still rus as expected after API evolves Issue Trackig Systems are a itegral part of most software developmet ad writig good bug reports is importat Much time o a chage task is sped avigatig ad searchig

45 Evolutio i actio

46 What kid of task? Corrective / adaptive / perfective 46

47 Evolutio i actio 1. Dowload jhotdraw from ifi.uzh.ch/seal/people/kevic/tools/jhotdraw_labstudy_2.zip 2. Ope Eclipse 3. Import JHotDraw Package Explorer > Import > Projects from Folder or Archive > Archive 4. Ru JHotDraw 1. Ru As > Java Applicatio 2. Select Mai class org.jhotdraw.samples.draw 47

48 Fix the bug: first steps? 48

Customer Portal Quick Reference User Guide

Customer Portal Quick Reference User Guide Customer Portal Quick Referece User Guide Overview This user guide is iteded for FM Approvals customers usig the Approval Iformatio Maagemet (AIM) customer portal to track their active projects. AIM is

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

Avid Interplay Bundle

Avid Interplay Bundle Avid Iterplay Budle Versio 2.5 Cofigurator ReadMe Overview This documet provides a overview of Iterplay Budle v2.5 ad describes how to ru the Iterplay Budle cofiguratio tool. Iterplay Budle v2.5 refers

More information

1 Enterprise Modeler

1 Enterprise Modeler 1 Eterprise Modeler Itroductio I BaaERP, a Busiess Cotrol Model ad a Eterprise Structure Model for multi-site cofiguratios are itroduced. Eterprise Structure Model Busiess Cotrol Models Busiess Fuctio

More information

JavaFX. JavaFX 2.2 Installation Guide Release 2.2 E August 2012 Installation instructions by operating system for JavaFX 2.

JavaFX. JavaFX 2.2 Installation Guide Release 2.2 E August 2012 Installation instructions by operating system for JavaFX 2. JavaFX JavaFX 2.2 Istallatio Guide Release 2.2 E20474-06 August 2012 Istallatio istructios by operatig system for JavaFX 2.2 JavaFX/JavaFX 2.2 Istallatio Guide E20474-06 Copyright 2008, 2012, Oracle ad/or

More information

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-

More information

Data Warehousing. Paper

Data Warehousing. Paper Data Warehousig Paper 28-25 Implemetig a fiacial balace scorecard o top of SAP R/3, usig CFO Visio as iterface. Ida Carapelle & Sophie De Baets, SOLID Parters, Brussels, Belgium (EUROPE) ABSTRACT Fiacial

More information

Weston Anniversary Fund

Weston Anniversary Fund Westo Olie Applicatio Guide 2018 1 This guide is desiged to help charities applyig to the Westo to use our olie applicatio form. The Westo is ope to applicatios from 5th Jauary 2018 ad closes o 30th Jue

More information

Guide to Applying Online

Guide to Applying Online Guide to Applyig Olie Itroductio Respodig to requests for additioal iformatio Reportig: submittig your moitorig or ed of grat Pledges: submittig your Itroductio This guide is to help charities submit their

More information

Web OS Switch Software

Web OS Switch Software Web OS Switch Software BBI Quick Guide Nortel Networks Part Number: 213164, Revisio A, July 2000 50 Great Oaks Boulevard Sa Jose, Califoria 95119 408-360-5500 Mai 408-360-5501 Fax www.orteletworks.com

More information

Architectural styles for software systems The client-server style

Architectural styles for software systems The client-server style Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

More information

Workflow Extensions User Guide. StarTeam 12.0

Workflow Extensions User Guide. StarTeam 12.0 Workflow Extesios User Guide StarTeam 12.0 Micro Focus 575 Ato Blvd., Suite 510 Costa Mesa, CA 92626 Copyright 2011 Micro Focus IP Developmet Limited. All Rights Reserved. StarTeam cotais derivative works

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

Panel for Adobe Premiere Pro CC Partner Solution

Panel for Adobe Premiere Pro CC Partner Solution Pael for Adobe Premiere Pro CC Itegratio for more efficiecy The makes video editig simple, fast ad coveiet. The itegrated pael gives users immediate access to all medialoopster features iside Adobe Premiere

More information

TargetLink. Installation Notes. MATLAB R14SP3 Compatibility Update for TargetLink 2.1

TargetLink. Installation Notes. MATLAB R14SP3 Compatibility Update for TargetLink 2.1 TargetLik Istallatio Notes MATLAB R14SP3 Compatibility Update for TargetLik 2.1 TargetLik 2.1.5 November 2005 ds How to Cotact dspace Mail: Tel.: Fax: E-mail: Web: Geeral Techical Support: TargetLik Support:

More information

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000. 5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator

More information

MOTIF XF Extension Owner s Manual

MOTIF XF Extension Owner s Manual MOTIF XF Extesio Ower s Maual Table of Cotets About MOTIF XF Extesio...2 What Extesio ca do...2 Auto settig of Audio Driver... 2 Auto settigs of Remote Device... 2 Project templates with Iput/ Output Bus

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Baan Finance Financial Statements

Baan Finance Financial Statements Baa Fiace Fiacial Statemets Module Procedure UP041A US Documetiformatio Documet Documet code : UP041A US Documet group : User Documetatio Documet title : Fiacial Statemets Applicatio/Package : Baa Fiace

More information

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8 BAAN IVc/BaaERP A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved. The iformatio i this documet is subject

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality

More information

BAAN IV. BAAN IV Installation Manual for DB2 on Windows NT

BAAN IV. BAAN IV Installation Manual for DB2 on Windows NT BAAN IV BAAN IV Istallatio Maual for DB2 o Widows NT A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved.

More information

BEA WebLogic Process Integrator

BEA WebLogic Process Integrator BEA WebLogic Process Itegrator A Compoet of BEA WebLogic Itegratio BEA WebLogic Process Itegrator Studio Olie Help BEA WebLogic Process Itegrator Release 2.0 Documet Editio 2.0 July 2001 Copyright Copyright

More information

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013 Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of

More information

Lecture 28: Data Link Layer

Lecture 28: Data Link Layer Automatic Repeat Request (ARQ) 2. Go ack N ARQ Although the Stop ad Wait ARQ is very simple, you ca easily show that it has very the low efficiecy. The low efficiecy comes from the fact that the trasmittig

More information

Configuring Rational Suite

Configuring Rational Suite Cofigurig Ratioal Suite Product Versio Ratioal Suite 2000.02.10 Release Date April 2000 Part Number 800-023317-000 support@ratioal.com http://www.ratioal.com IMPORTANT NOTICE Copyright Notice Copyright

More information

BEA Tuxedo. Creating CORBA Server Applications

BEA Tuxedo. Creating CORBA Server Applications BEA Tuxedo Creatig CORBA Server Applicatios BEA Tuxedo Release 8.0 Documet Editio 8.0 Jue 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio

More information

Floristic Quality Assessment (FQA) Calculator for Colorado User s Guide

Floristic Quality Assessment (FQA) Calculator for Colorado User s Guide Floristic Quality Assessmet (FQA) Calculator for Colorado User s Guide Created by the Colorado atural Heritage Program Last Updated April 2012 The FQA Calculator was created by Michelle Fik ad Joaa Lemly

More information

Exceptions. Your computer takes exception. The Exception Class. Causes of Exceptions

Exceptions. Your computer takes exception. The Exception Class. Causes of Exceptions Your computer takes exceptio s s are errors i the logic of a program (ru-time errors). Examples: i thread mai java.io.filenotfoud: studet.txt (The system caot fid the file specified.) i thread mai java.lag.nullpoiter:

More information

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager.

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager. CS2310 Fial Project Loghao Li Term Project Report Itroductio I this project, I worked o expadig exercise 4. What I focused o is makig the real gesture recogizig sesor ad desig proper gestures ad recogizig

More information

The VSS CCD photometry spreadsheet

The VSS CCD photometry spreadsheet The VSS CCD photometry spreadsheet Itroductio This Excel spreadsheet has bee developed ad tested by the BAA VSS for aalysig results files produced by the multi-image CCD photometry procedure i AIP4Wi v2.

More information

Neolane Social Marketing. Neolane v6.1

Neolane Social Marketing. Neolane v6.1 Neolae Social Marketig Neolae v6.1 This documet, ad the software it describes, are provided subject to a Licese Agreemet ad may ot be used or copied outside of the provisios of the Licese Agreemet. No

More information

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk Chapter Objectives Lear how resiliecy strategies reduce risk Discover automatio strategies to reduce risk Chapter #16: Architecture ad Desig Resiliecy ad Automatio Strategies 2 Automatio/Scriptig Resiliet

More information

In this chapter, you learn the concepts and terminology of databases and

In this chapter, you learn the concepts and terminology of databases and A Itroductio to Database Developmet I this chapter, you lear the cocepts ad termiology of databases ad how to desig the tables that your forms ad reports will use. Fially, you build the actual tables used

More information

10/23/18. File class in Java. Scanner reminder. Files. Opening a file for reading. Scanner reminder. File Input and Output

10/23/18. File class in Java. Scanner reminder. Files. Opening a file for reading. Scanner reminder. File Input and Output File class i Java File Iput ad Output TOPICS File Iput Exceptio Hadlig File Output Programmers refer to iput/output as "I/O". The File class represets files as objects. The class is defied i the java.io

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

Guide for Online Renewal

Guide for Online Renewal guide for olie reewal Guide for Olie Reewal This guide is desiged to assist you i the completio of your aual olie reewal of registratio. 250 Bloor St. East, Suite 1000, Toroto ON M4W 1E6 Phoe: 416-972-9882

More information

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings Operatig Systems: Iterals ad Desig Priciples Chapter 4 Threads Nith Editio By William Stalligs Processes ad Threads Resource Owership Process icludes a virtual address space to hold the process image The

More information

Sharing Collections. Share a Collection via . Share a Collection via Google Classroom. Quick Reference Guide

Sharing Collections. Share a Collection via  . Share a Collection via Google Classroom. Quick Reference Guide Quick Referece Guide Share a Collectio via Email Sharig your collectio with others is a great way to collaborate. You ca easily sed a lik to your colleagues, studets, classmates ad frieds. Recipiets do

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Workflow model GM AR. Gumpy. Dynagump. At a very high level, this is what gump does. We ll be looking at each of the items described here seperately.

Workflow model GM AR. Gumpy. Dynagump. At a very high level, this is what gump does. We ll be looking at each of the items described here seperately. Workflow model GM AR Gumpy RM Dyagump At a very high level, this is what gump does. We ll be lookig at each of the items described here seperately. User edits project descriptor ad commits s maitai their

More information

TruVu 360 User Community. SpectroCare. Enterprise Fluid Intelligence for Predictive Maintenance. TruVu 360 Product Information

TruVu 360 User Community. SpectroCare. Enterprise Fluid Intelligence for Predictive Maintenance. TruVu 360 Product Information TruVu 360 User Commuity Cotiuous educatio is importat for a successful o-site lubricat program. With ever growig articles, videos, ad structured learig modules, TruVu 360 user commuity is a digital commuity

More information

n Explore virtualization concepts n Become familiar with cloud concepts

n Explore virtualization concepts n Become familiar with cloud concepts Chapter Objectives Explore virtualizatio cocepts Become familiar with cloud cocepts Chapter #15: Architecture ad Desig 2 Hypervisor Virtualizatio ad cloud services are becomig commo eterprise tools to

More information

L5355 Modbus Plus Communications Interface

L5355 Modbus Plus Communications Interface L5355 Modbus Plus Commuicatios Iterface Techical Maual HA470897 Issue 2 Copyright SSD Drives Ic 2005 All rights strictly reserved. No part of this documet may be stored i a retrieval system, or trasmitted

More information

CS : Programming for Non-Majors, Summer 2007 Programming Project #3: Two Little Calculations Due by 12:00pm (noon) Wednesday June

CS : Programming for Non-Majors, Summer 2007 Programming Project #3: Two Little Calculations Due by 12:00pm (noon) Wednesday June CS 1313 010: Programmig for No-Majors, Summer 2007 Programmig Project #3: Two Little Calculatios Due by 12:00pm (oo) Wedesday Jue 27 2007 This third assigmet will give you experiece writig programs that

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

USB TO PARALLEL USB to DB25 Parallel Adapter Cable

USB TO PARALLEL USB to DB25 Parallel Adapter Cable USB TO PARALLEL USB to DB25 Parallel Adapter Cable User Maual XUPP25 www.hamletcom.com Dear Customer, thaks for choosig a Hamlet product. Please carefully follow the istructios for its use ad maiteace

More information

BE Software Upgrades to ITALYCS 5. It s in the. Software

BE Software Upgrades to ITALYCS 5. It s in the. Software BE Software Upgrades to ITALYCS 5 It s i the Software UPGRADES WE OFFER Brampto Egieerig is offerig customers with ITALYCS 2 ad ITALYCS 4 systems the opportuity to upgrade their existig systems to the

More information

1&1 Next Level Hosting

1&1 Next Level Hosting 1&1 Next Level Hostig Performace Level: Performace that grows with your requiremets Copyright 1&1 Iteret SE 2017 1ad1.com 2 1&1 NEXT LEVEL HOSTING 3 Fast page loadig ad short respose times play importat

More information

BEAWebLogic. Integration. Release Notes

BEAWebLogic. Integration. Release Notes BEAWebLogic Itegratio Release Notes Release 2.1 Service Pack 1 Documet Date: Jauary 2002 Revised: March 8, 2002 Copyright Copyright 2002 BEA Systems, Ic. Rights Reserved. Restricted Rights Leged This software

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

Threads and Concurrency in Java: Part 1

Threads and Concurrency in Java: Part 1 Cocurrecy Threads ad Cocurrecy i Java: Part 1 What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.

More information

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Service Oriented Enterprise Architecture and Service Oriented Enterprise Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE

More information

Threads and Concurrency in Java: Part 1

Threads and Concurrency in Java: Part 1 Threads ad Cocurrecy i Java: Part 1 1 Cocurrecy What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

Global Support Guide. Verizon WIreless. For the BlackBerry 8830 World Edition Smartphone and the Motorola Z6c

Global Support Guide. Verizon WIreless. For the BlackBerry 8830 World Edition Smartphone and the Motorola Z6c Verizo WIreless Global Support Guide For the BlackBerry 8830 World Editio Smartphoe ad the Motorola Z6c For complete iformatio o global services, please refer to verizowireless.com/vzglobal. Whether i

More information

Schema for the DCE Security Registry Server

Schema for the DCE Security Registry Server Schema for the Security egistry Server Versio Date: 0/20/00 For questios or commets cocerig this documet, sed a email ote to dce-ldap@opegroup.org or call Doa Skibbie at 52 838-3896. . Itroductio...3 2.

More information

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter The Processor Part A path Desig Itroductio CPU performace factors Istructio cout Determied by ISA ad compiler. CPI ad

More information

BEA WebLogic Enterprise. Using the WebLogic EJB Deployer

BEA WebLogic Enterprise. Using the WebLogic EJB Deployer BEA WebLogic Eterprise Usig the WebLogic EJB Deployer WebLogic Eterprise 5.0 Documet Editio 5.0 December 1999 Copyright Copyright 1999 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This

More information

BEA Tuxedo. Using the BEA Tuxedo System on Windows NT

BEA Tuxedo. Using the BEA Tuxedo System on Windows NT BEA Tuxedo Usig the BEA Tuxedo System o Widows NT BEA Tuxedo Release 7.1 Documet Editio 7.1 May 2000 Copyright Copyright 2000 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software

More information

Using the Keyboard. Using the Wireless Keyboard. > Using the Keyboard

Using the Keyboard. Using the Wireless Keyboard. > Using the Keyboard 1 A wireless keyboard is supplied with your computer. The wireless keyboard uses a stadard key arragemet with additioal keys that perform specific fuctios. Usig the Wireless Keyboard Two AA alkalie batteries

More information

Oracle Balanced Scorecard

Oracle Balanced Scorecard Oracle Balaced Scorecard User Guide Release 4.5 July 2001 Part No. A90873-01 Oracle Balaced Scorecard User Guide, Release 4.5 Part No. A90873-01 Copyright 1999, 2000, 2001, Oracle Corporatio. All rights

More information

USER GUIDE FOR VENDOR LISTING DATASHEET

USER GUIDE FOR VENDOR LISTING DATASHEET USER GUIDE FOR VENDOR LISTING DATASHEET Vedor Database Maagemet System (VDMS) Uit Cotracts Sectio Cotracts, Purchasig Ad Logistics Departmet (CPL) Level 2 Khartoum Tower Gamhouria St. PO 12527 Khartoum

More information

BaanERP. DB2 Installation Guide for BaanERP on Windows NT

BaanERP. DB2 Installation Guide for BaanERP on Windows NT BaaERP DB2 Istallatio Guide for BaaERP o Widows NT A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved.

More information

Oracle Process Manufacturing

Oracle Process Manufacturing Oracle Process Maufacturig Product Developmet Recipe API User s Guide Release 11i Part No. A97387-04 Jauary 2005 Oracle Process Maufacturig Product Developmet Recipe API User s Guide, Release 11i Part

More information

Custodial Integrator Automation Guide

Custodial Integrator Automation Guide Custodial Itegrator Automatio Guide Compay Cofidetial Custodial Itegrator Product Versio: V3.8 Documet Versio: 14 Documet Issue Date: April 21, 2017 Techical Support: (866) 856-4951 Telephoe: (781) 376-0801

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 22 Database Recovery Techiques Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Recovery algorithms Recovery cocepts Write-ahead

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

Mindmapping: A General Purpose (Test) Planning Tool

Mindmapping: A General Purpose (Test) Planning Tool W8 Test Strategy, Plaig, Metrics Wedesday, May 2d, 2018 1:45 PM Midmappig: A Geeral Purpose (Test) Plaig Tool Preseted by: Bob Gale Zeergy Techologies Brought to you by: 350 Corporate Way, Suite 400, Orage

More information

Security of Bluetooth: An overview of Bluetooth Security

Security of Bluetooth: An overview of Bluetooth Security Versio 2 Security of Bluetooth: A overview of Bluetooth Security Marjaaa Träskbäck Departmet of Electrical ad Commuicatios Egieerig mtraskba@cc.hut.fi 52655H ABSTRACT The purpose of this paper is to give

More information

ECE4050 Data Structures and Algorithms. Lecture 6: Searching

ECE4050 Data Structures and Algorithms. Lecture 6: Searching ECE4050 Data Structures ad Algorithms Lecture 6: Searchig 1 Search Give: Distict keys k 1, k 2,, k ad collectio L of records of the form (k 1, I 1 ), (k 2, I 2 ),, (k, I ) where I j is the iformatio associated

More information

SCI Reflective Memory

SCI Reflective Memory Embedded SCI Solutios SCI Reflective Memory (Experimetal) Atle Vesterkjær Dolphi Itercoect Solutios AS Olaf Helsets vei 6, N-0621 Oslo, Norway Phoe: (47) 23 16 71 42 Fax: (47) 23 16 71 80 Mail: atleve@dolphiics.o

More information

Avid recommends that you read all the information in this ReadMe file thoroughly before installing or using any new software release.

Avid recommends that you read all the information in this ReadMe file thoroughly before installing or using any new software release. PostDeko for Editors Versio 8.4 ReadMe Importat Iformatio Avid recommeds that you read all the iformatio i this ReadMe file thoroughly before istallig or usig ay ew software release. Importat: Search the

More information

Adapter for Mainframe

Adapter for Mainframe BEA WebLogic Java Adapter for Maiframe Workflow Processig Guide Release 5.0 Documet Date: Jauary 2002 Copyright Copyright 2002 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software

More information

Avid Unity Media Engine and Avid MEDIArray XT

Avid Unity Media Engine and Avid MEDIArray XT a Avid Uity Media Egie ad Avid MEDIArray XT Versio 5.0.1 ReadMe Revisio History Date Revised Release Chages Made 4/10/2008 v5.0.1 Avid is recommedig that Avid Uity MediaNetwork Macitosh cliets upgrade

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

performance to the performance they can experience when they use the services from a xed location.

performance to the performance they can experience when they use the services from a xed location. I the Proceedigs of The First Aual Iteratioal Coferece o Mobile Computig ad Networkig (MobiCom 9) November -, 99, Berkeley, Califoria USA Performace Compariso of Mobile Support Strategies Rieko Kadobayashi

More information

TUTORIAL Create Playlist Helen Doron Course

TUTORIAL Create Playlist Helen Doron Course TUTORIAL Create Playlist Hele Doro Course TUTY Tutorial Create Playlist Hele Doro Course Writte by Serafii Giampiero (INV SRL) Revised by Raffaele Forgioe (INV SRL) Editio EN - 0 Jue 0-0, INV S.r.l. Cotact:

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Oracle Release Management Implementation Manual

Oracle Release Management Implementation Manual Oracle Release Maagemet Implemetatio Maual Release 11i April 2000 Part No. A83743-01 Oracle Release Maagemet Implemetatio Maual Part No. A83743-01 Copyright 1999, 2000 Oracle Corporatio. All rights reserved.

More information

2016 LEARNING SYSTEM FOR CSCP CERTIFICATION EXAM PREPARATION. learncscp.com

2016 LEARNING SYSTEM FOR CSCP CERTIFICATION EXAM PREPARATION. learncscp.com 2016 LEARNING SYSTEM FOR CSCP CERTIFICATION EXAM PREPARATION APICS CSCP Learig System users cosistetly surpass the average CSCP exam pass rate. learcscp.com 2016_APICS_A4_Brochure_parter.idd 1 WHY SEEK

More information

Continuity Logic Frontline Live

Continuity Logic Frontline Live September 2015 Cotiuity Logic Frotlie Live Iovatig User Experiece for Busiess Cotiuity SOLUTIONPERSPECTIVE Goverace, Risk Maagemet & Compliace Isight Cotiuity Logic Frotlie Live Iovatio i User Experiece

More information

Session Initiated Protocol (SIP) and Message-based Load Balancing (MBLB)

Session Initiated Protocol (SIP) and Message-based Load Balancing (MBLB) F5 White Paper Sessio Iitiated Protocol (SIP) ad Message-based Load Balacig (MBLB) The ability to provide ew ad creative methods of commuicatios has esured a SIP presece i almost every orgaizatio. The

More information

Windows Server 2008 R2 networking

Windows Server 2008 R2 networking Chapter3 Widows Server 2008 R2 etworkig Orgaizatios large ad small deped o computer etworks to operate their busiesses. Employees require aywhere access to data, while cliets ad busiess parters demad ehaced

More information

What are Information Systems?

What are Information Systems? Iformatio Systems Cocepts What are Iformatio Systems? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 1 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

Oracle Server. What s New in this Release? Release Notes

Oracle  Server. What s New in this Release? Release Notes Oracle email Server Release Notes Release 5.2 for Widows NT May 2001 Part No. A90426-01 These release otes accompay Oracle email Server Release 5.2 for Widows NT. They cotai the followig topics: What s

More information

CA InterTest for CICS r8.5

CA InterTest for CICS r8.5 PRODUCT SHEET: CA INTERTEST FOR CICS CA IterTest for CICS r8.5 CA IterTest for CICS provides testig ad debuggig of IBM CICS Trasactio Server for z/os applicatios writte i COBOL, PL/I, Assembler ad Laguage

More information

User Guide. Using Caliber Datamart

User Guide. Using Caliber Datamart User Guide Usig Caliber Datamart 11.1.0 Copyright 2013 Micro Focus. All Rights Reserved. Portios Copyright 1998-2009 Borlad Software Corporatio (a Micro Focus compay). All other marks are the property

More information

Empirical Validate C&K Suite for Predict Fault-Proneness of Object-Oriented Classes Developed Using Fuzzy Logic.

Empirical Validate C&K Suite for Predict Fault-Proneness of Object-Oriented Classes Developed Using Fuzzy Logic. Empirical Validate C&K Suite for Predict Fault-Proeess of Object-Orieted Classes Developed Usig Fuzzy Logic. Mohammad Amro 1, Moataz Ahmed 1, Kaaa Faisal 2 1 Iformatio ad Computer Sciece Departmet, Kig

More information

Getting Started with MyEclipse

Getting Started with MyEclipse #27 Brought to you by... Gettig Started with MyEclipse www.dzoe.com Get More Refcardz! Visit refcardz.com CONTENTS INCLUDE: Gettig MyEclipse Developig with MyEclipse Write Less Code Work As a Team Extedig

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

BEA Tuxedo. Using the CORBA Name Service

BEA Tuxedo. Using the CORBA Name Service BEA Tuxedo Usig the CORBA Name Service BEA Tuxedo Release 8.0 Documet Editio 8.0 Jue 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio

More information

MANAGED! PREPARE TO BE FEATURES HANDHELD USER DISPLAYS. Specifications MEASUREMENT STABILIZATION INDICATOR

MANAGED! PREPARE TO BE FEATURES HANDHELD USER DISPLAYS. Specifications MEASUREMENT STABILIZATION INDICATOR FEATURES Trasfers data easily betwee Hadheld & PC via USB cable. Stores up to 3000 temperatures ad 300 meu items. Sets Max / Mi temperature limit idicators. Stores custom meus for easy recall. Exports

More information

Modeling a Software Architecture. Paolo Ciancarini

Modeling a Software Architecture. Paolo Ciancarini Modelig a Software Architecture Paolo Ciacarii Ageda Describig software architectures Architectural frameworks Models based o architectural laguages Models based o UML Mai architectural views 2 Why documet

More information

Basic Design Principles

Basic Design Principles + Basic Desig Priciples + Assigmet 2: Your studet web site 1. Baer 2. Your ame 3. Your accout umber 4. A lik to aother web page, preferably oe useful to you i this class 5. A photo, preferably of you 6.

More information

Reliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1

Reliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1 Reliable Trasmissio Sprig 2018 CS 438 Staff - Uiversity of Illiois 1 Reliable Trasmissio Hello! My computer s ame is Alice. Alice Bob Hello! Alice. Sprig 2018 CS 438 Staff - Uiversity of Illiois 2 Reliable

More information