...Empir Software Eng (2010) 15:455–492 DOI 10.1007/s10664-009-9127-7 An experimental comparison of ER and UML class diagrams for data modelling Andrea De Lucia · Carmine Gravino · Rocco Oliveto · Genoveffa Tortora Published online: 11 December 2009 © Springer Science+Business Media, LLC 2009 Editor: Erik Arisholm Abstract We present the results of three sets of controlled experiments aimed at analysing whether UML class diagrams are more comprehensible than ER diagrams during data models maintenance. In particular, we considered the support given by the two notations in the comprehension and interpretation of data models, comprehension of the change to perform to meet a change request, and detection of defects contained in a data model. The experiments involved university students with different levels of ability and experience. The results demonstrate that using UML class diagrams subjects achieved better comprehension levels. With regard to the support given by the two notations during maintenance activities the results demonstrate that the two notations give the same support, while in general UML class diagrams provide a better support with respect to ER diagrams during verification activities. Keywords Controlled experiments · Entity-relation diagrams · UML class diagrams · Design notations · Comprehension · Maintenance · Verification The work described in this paper is supported by the project METAMORPHOS (MEthods and Tools for migrAting software systeMs towards...
Words: 16567 - Pages: 67
...Package ‘quantmod’ July 24, 2015 Type Package Title Quantitative Financial Modelling Framework Version 0.4-5 Date 2015-07-23 Depends xts(>= 0.9-0), zoo, TTR(>= 0.2), methods Suggests DBI,RMySQL,RSQLite,timeSeries,its,XML,downloader Description Specify, build, trade, and analyse quantitative financial trading strategies. LazyLoad yes License GPL-3 URL http://www.quantmod.com https://github.com/joshuaulrich/quantmod BugReports https://github.com/joshuaulrich/quantmod/issues NeedsCompilation yes Author Jeffrey A. Ryan [aut, cph], Joshua M. Ulrich [cre, ctb], Wouter Thielen [ctb] Maintainer Joshua M. Ulrich Repository CRAN Date/Publication 2015-07-24 21:10:42 R topics documented: quantmod-package addADX . . . . . . addBBands . . . . addCCI . . . . . . addExpiry . . . . . addMA . . . . . . addMACD . . . . . addROC . . . . . . addRSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Words: 4206 - Pages: 17
...util.ArrayList; public class Student { // Declare the variables private String name; private ArrayList homeworks; // Constructor with one argument public Student(String name) { this.name = name; this.homeworks = new ArrayList(); } // setter or mutator methods change the field values public void setName(String name) { this.name = name; } //Accessor or getter methods provide the field values public String getName() { return name; } public void addHomeworkGrade(int newGrade){ this.homeworks.add(newGrade); } //average homework score public double getComputeAverage(){ int total = 0; //loop through homeworks, add to total for(Integer grade : this.homeworks){ total += grade; } //calculate average double average = total / (double)this.homeworks.size(); return average; } //Override the toString method to return the string representation public String toString() { DecimalFormat pattern = new DecimalFormat("0.00"); return (getName() + "'s average grade is " + pattern.format(getComputeAverage())); } } ------------------------ import java.io.FileReader; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.Queue; import java.util.Set; import java.util.StringTokenizer; public class Test { public static void...
Words: 366 - Pages: 2
...CIS310 Programming Languages Assignment 7- Employee Data Name: Sudha Kali FORM 1 - DESIGN [pic] FORM 2 – Design [pic] FORM 1 - CODE Imports System.IO Public Class Form1 Dim strPathFileName As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With SaveFileDialog1 .Filter = "textdoucment|.*.txt" If .ShowDialog = Windows.Forms.DialogResult.OK Then strPathFileName = .FileName End If End With If strPathFileName.Length = 0 Then Me.Close() End If End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Dim textFile As StreamWriter textFile = File.AppendText(strPathFileName) textFile.WriteLine(txtFirstName.Text) textFile.WriteLine(txtMiddleName.Text) textFile.WriteLine(txtLastName.Text) textFile.WriteLine(txtEmpNumber.Text) textFile.WriteLine(cbxDepartment.SelectedItem) textFile.WriteLine(txtTelephone.Text) textFile.WriteLine(txtExtension.Text) textFile.WriteLine(txtEmail.Text) textFile.Close() End Sub Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click txtFirstName.Clear() txtMiddleName.Clear() txtLastName.Clear() ...
Words: 530 - Pages: 3
...attributes such as name, life and energy and these should be contained in the Super class that we will call Entity (because Character is already a class). Only the archer and the swordsman are playable, which leaves the ogre to be a Non-Player Character (NPC). This means that the Ogre will be a subclass of the Entity, while the archer and swordsman will be subclasses of Playable which is a subclass of Entity. Below is the diagram. [pic] The Playable class should extend the Entity class and should contain some additional methods that dictate the movement of the character by the user. Note that we will NOT be tracking the movement of the characters to help simplify the lab. The playable class should have a method for moving the character in the 4 standard directions (no diagonals allowed). So up, down, left and right. Class Name: Entity Class Level (global) Variables: strName - String intLife - Integer intEnergy - Integer Method Name: getStrName Parameters: None Desired Result: Accessor Data Returned: strName Method Name: setStrName Parameters: name Desired Result: Mutator Data Returned: none Method Name: getIntLife Parameters: None Desired Result: Accessor Data Returned: intLife Method Name: setIntLife Parameters: life Desired Result: Mutator Data Returned: none Method Name: getIntEnergy...
Words: 457 - Pages: 2
...http://java.sun.com/docs/books/tutorial/index.html Software Design (Java Tutorial) © SERG Java Virtual Machine • Java programs run on a Java Virtual Machine. • Features: – – – – – Security Portability Superior dynamic resource management Resource location transparency Automatic garbage collection Software Design (Java Tutorial) © SERG The Java Environment Java Source File (*.java) Java Compiler (javac) Java Bytecode File (*.class) Java Virtual Machine (java) Software Design (Java Tutorial) © SERG Program Organization Source Files (.java) Running Application Running Applet JAVA BYTECODE COMPILER Class Files (.class) JAVA VIRTUAL MACHINE WEB BROWSER Software Design (Java Tutorial) © SERG Program Organization Standards • Each class is implemented in its own source file. • Include one class per file: – Name of the Java file is the same as the class name. • Java applications must include a class with a main method. E.g., – public static void main(String args[]) Software Design (Java Tutorial) © SERG Structure of a simple Java Program class HelloWorld { public static void main(String [] args) {...
Words: 5230 - Pages: 21
...com/category/cis-407/ ---------------------------------------------------- Cis 407a – ilab 3 of 7 Scenario/Summary In this lab, we will demonstrate how to save user activity data in a database. We will be creating a new form to display the user activity data, a new dataset to contain the data, a data access class to structure the code, and a function within the data access class to save users’ activity data when users visit the Personnel form page (frmPersonnel.aspx). We will also be adding server side validation to the frmPersonnel for you added in the previous lab and update or main menu for the new functionality. Instructions for Week 3 iLab: “User Activity Monitoring” Click on the link above to view the tutorial. This video will show you how to set up user activity monitoring using Visula Studio and C#. The tutorial has audio. Deliverables All files are located in the subdirectory of the project. The project should function as specified: When you visit the Personnel form page (frmPersonnel.aspx), a record should be saved in the tblUserActivity table with the IP address, form name accessed (frmPersonnel), and the date accessed. When you click the “View Activity” button, you should see at least one record with this information. When the user goes to the frmPersonnel web form and enters data the following business rules are to be enforced: Fields may not be empty or filled with spaces. If any field is empty, turn that field background color to yellow and add...
Words: 1307 - Pages: 6
...within Microsoft Excel and only with data contained in an Excel spreadsheet. After installing the software, simply open Microsoft Excel. A new menu appears, called “ME XL.” This tutorial refers to the “ME XL/Customer Choice (Logit)” submenu. Overview The customer choice (logit) model is an individual-level response model that helps analyze and explain the choices individual customers make in a market. The customer choice model helps firms understand the extent to which factors such as the price of a brand or its ease of installation influence a customer's choice. A brand's purchase probability at the individual level can be aggregated to determine the brand's market share at the market level. Firms also can use customer choice analysis to develop marketing programs tailored to specific market segments, or even to individual customers. Further, if a company has purchase data about its products versus those of its competitors (product choice data), as well as some observed independent variables (e.g., gender, price, promotion), it can use customer choice modeling to answer such questions as: Does a customer’s gender influence his or her purchase decision regarding our product(s)? Do competitor’s promotions affect the purchase of our product(s)? How do our promotions affect our sales rates? CUSTOMER CHOICE (LOGIT) TUTORIAL – V130522 1/15 Getting Started Customer choice analysis allows you to use your own data directly or to use a preformatted template...
Words: 2855 - Pages: 12
...Jon Jensen CSS/422 July 2, 2012 Ken Murphy Design Patterns Out of all of the different design patterns the three that this paper will focus on will be the Adapter, Model–View–Controller or (MVC), and Data Access Object or (DAO). This paper will compare all three of them and try to show which one will be used for what type of project and why it was chosen to do it. The first design that we will look at is the Adapter design which helps reuse an object or a method by adapting its interface into a more common one. The adapter pattern translates one interface for a class into a compatible interface for a new class. An adapter allows the classes to work together when they normally could not because of their incompatible interfaces. The adapter also transforms data into an appropriate form. For example, if multiple Boolean values are stored as a single integer but the client requires a 'true'/'false', the adapter would extract the appropriate values from the integer. Another example would be transforming the format of a date for instance MM/DD/YYYY to DD/MM/YYYY or YYYY/MM/DD). The adapter design is about creating an intermediary abstraction that translates the old component to a new system. The Adapter pattern lets incompatible classes work with the interface of one class by converting it into the interface that is expected by the clients. For instance a socket wrench is a good example of an Adapter. A socket will attach to a wrench as long as the size of the drive is the same...
Words: 1139 - Pages: 5
...Information Technology PAT Phase 2 Context Database Design: -ToyDistributionTBL -StockActivityTBL -WorkerTBL -Table Relationship Role of Database: GUI Design: -HCI Principles -Components TOE Chart: -Table Data Structure: -All Data types used OOP: -Classes and Objects -Class Diagram IPO Design and Error Catching: Table:- -Input -Process -Output -Validation & Integrity -Error Message Testing: Database Design: StockActivityTBL | Field Name | Data Type | Size | PK/FK | Distribution Number | Text | 8 | PK | DistrictID | Text | 10 | FK | WorkerID | Text | 6 | FK | DonationID | text | 6 | FK | Failed Donations | Number | Integer | | Total Donations | Text | 15 | | ToyDistributionTBL | Field Name | Data Type | Size | PK/FK | DistrictID | Text | 10 | PK | Area of Donation | Text | 20 | | Age of Child | Number | Integer | | Donation Details | Text | 20 | | Quantity | Number | Integer | | Date of Distribution | Date | Short Date | | WorkerTBL | Field Name | Data Type | Size | PK/FK | WorkerID | Text | 6 | PK | Surname | Text | 15 | | FirstName | Text | 15 | | Gender | Text | 6 | | Age | Number | Integer | | ContactNumber | Text | 10 | | DonationTBL | Field Name | Data Type | Size | PK/FK | DonationID | Text | 6 | PK | FirstName | Text | 15 | | Surname | Text | 15 | | Age | Number | Integer | | ContactNumber | Text | 10 | | Address | Text | 30 | | Donation Details | Text...
Words: 1069 - Pages: 5
...VERSANT Dattabase Fundamenttalls Manuall VERSANT Da abase Fundamen a s Manua June 2003 VERSANT Dattabase Fundamenttalls Manuall VERSANT Da abase Fundamen a s Manua June 2003 VERSANT Database Fundamentals Manual This page is intentionally blank. 2 VERSANT Database Fundamentals Manual Table of Contents Chapter 1: System Description ..............................................................................................................8 Versant Developer Suite 6.0: An Overview..........................................................................................9 VERSANT Features ........................................................................................................................12 Storage Architecture ......................................................................................................................22 Software Structure .........................................................................................................................24 Language Interfaces .......................................................................................................................25 System Usage Notes.......................................................................................................................28 Chapter 2: Objects.............................................................................................................................34 Object Types.................................
Words: 44539 - Pages: 179
...milepost and mile-exits about, how we processed the new data to matching the existing data attributes, how we updated the chartcenterline by appending the new ICC centerline, what methods we used in the whole process. 1. Identify the database update requirements and target The Intercounty Connctor or ICC (MD 200) route is a partially completed toll freeway which will link existing and proposed development areas between the I-270/I-370 . In review of exiting ArcGIS service map file ChartBG.mxd (on the “chartdevgis” server C:\arcgisserver\MapDocument\) – a Chart interactive background map, we can know that there is a miss for the ICC route. To make the background map with a complete required feature route present in the map, we need to update the existing ChartBG geodatabase to make up the missed ICC route (MD 200) by using the new data provided by SHA. The update requires the three feature classes are available in the existing ChartBG map service file. That means the existing interstates feature classes will be required to append new features from the data below. 1. ICC centerline (MD 200) 2. ICC Milepost 3. ICC MileExits In brief, the purpose of the geodatabase update is to add the ICC related features into the existing geodatabase by appending them to the corresponding feature class. 2. Describing the new data source about ICC centerline and mileposts and mile-exits ...
Words: 2483 - Pages: 10
...or another) to each other than to those in other groups (clusters). Cluster analysis is an unsupervised form of learning, which means, that it doesn't use class labels. This is different from methods like discriminant analysis which use class labels and come under the category of supervised learning. K-means is the most simple and popular algorithm in clustering and was published in 1955, 50 years ago. The advancement in technology has led to many high-volume, high-dimensional data sets. These huge data sets provide opportunity for automatic data analysis, classification...
Words: 2367 - Pages: 10
...methods. Explore the Object class and its toString() method. Explain polymorphism, dynamic binding, and generic programming. Explain how to cast Objects and implement the instanceOf operator. Restrict access to data and methods using the protected visibility modifier. Declare constants, unmodifiable methods, and nonextendable classes using the final modifier. Use the this keyword to refer to the calling object. Assignment Requirements The following homework is designed to cover the course objectives for Unit 6. The following questions require you to do research and examine the questions to find the correct answer to the 20 questions listed below. 1. The following two programs display the same result. // Program 1 public class Test { public static void main(String[] args) { Object a1 = new A(); Object a2 = new A(); System.out.println(((A)a1).equals((A)a2)); } } class A { int x; public boolean equals(A a) { return this.x == a.x; } } // Program 2 public class Test { public static void main(String[] args) { A a1 = new A(); A a2 = new A(); System.out.println(a1.equals(a2)); } } class A { int x; public boolean equals(A a) { return this.x == a.x; } } a. True 2. Encapsulation means ______________. a. that data fields should be declared private 3. What is the output of the following code? import java.util.Date; public class Test { public static void...
Words: 973 - Pages: 4
...mathematics that focuses on the organization, analysis, and interpretation of a group of numbers” (Aron, Aron, & Coups, 2009, p. 2). However, just the mention of statistics makes people nervous, although when properly understood, many of the questions statistics tries to answer are very provocative and challenging. Statistics are a collection of information and, data that helps test the theory something is happening or will happen again. The functions of statistics are there to help researchers have a better understanding of a phenomenon. Statistics can be used when looking for the truth, if you have ever had a hunch about something, was it confirmed? Yes the hunch was confirmed. Statistics help researchers with data by using math and working with a group of numbers. Statistics studies variables, characteristics that have different values, values, possible number that a score can have, and score one person value of a variable (Aron, Aron, & Coups, 2009). Descriptive and inferential statistics are to evaluate results and enable one to make a conclusion. Descriptive statistics are a way to describe data (Laird Statistics, 2013), as well as to “summarize and describe a group of numbers from a research study,” whereas, inferential statistics are used to “draw conclusions and inferences based on numbers from a research study” but go beyond those numbers (Aron, Aron, & Coups, 2009, p. 2). If one thinks of statistics as a tool instead of a mathematical issue, one...
Words: 1507 - Pages: 7