On comparing web development platforms
|
|
|
- Ezra Craig
- 10 years ago
- Views:
Transcription
1 Seminar "Beiträge zum Software Engineering" On comparing web development platforms Lutz Prechelt Freie Universität Berlin, Institut für Informatik Lutz Prechelt, 1/ 33
2 A class of research questions An eternal research question in software engineering: How do alternative methods, processes, technologies, notations, tools etc. compare? With respect to ease of use, productivity, error-proneness, quality of results, learnability etc. Applicable to (for instance): design methods design notations development process models testing methods programming languages middleware technologies etc. Lutz Prechelt, 2/ 33
3 Example: Comparing programming languages For instance, assume we would like to compare a number of programming languages Questions: How easily are they learned? How productive are they? (time for solving a given problem) How fast do the programs run? How much memory do they need? How many defects do they contain? How reliably do they run? How robust are they? How safe are they? How secure? How long are they? How easy are they to understand, modify, test? and many more Lutz Prechelt, [email protected] 3/ 33
4 Research method of choice: Controlled experiment In principle, the perfect research method for addressing these questionsisa controlled experiment: Change one thing (here: The language used) Keep everything else the same (this is what is called control) Observe what happens in each case i.e. write a program and investigate its properties Interpret the observations to answer your research questions Lutz Prechelt, [email protected] 4/ 33
5 Research method problems: Generalizability No matter which task we choose for the program it may be more suitable for language A than for B but for a different program it could have been the other way round This means, we cannot guarantee that our results generalize to everything that can be done with the languages. There is no solution to this problem The best we could do is use several tasks, not just one. And spread them over the spectrum of possible tasks. We should choose a task that can be considered either "typical" or "interesting" Typical: Results describe frequent cases Interesting: Results describe cases with high uncertainty Lutz Prechelt, [email protected] 5/ 33
6 Research method problems: Criteria needed We need operationalizations for the individual attributes targeted by our questions Repeatable procedures for obtaining an answer This is straightforward for some attributes, e.g.: How fast do they run? Choose an input, measure execution time in seconds It is very difficult for others, e.g.: How many defects do they contain? How safe are they? How secure? How easy are they to understand, modify, test? Lutz Prechelt, 6/ 33
7 Research method problems: Control The worst methodological problem in our case, however, is control: How to keep "everything else constant"? We would need to keep the programmer constant! That is obviously impossible: We cannot guarantee that somebody has equivalent knowledge of all languages The programmer learns each time when solving the problem. We cannot erase or reset this experience. So we need a replacement for true constancy. Lutz Prechelt, [email protected] 7/ 33
8 Keeping the programmer "constant" Obviously, we need to use a different programmer for each language. How do we make them all the same? Method 1: Grow them Find a large-enough set of monozygotic multiples Make sure they have all had the same youth and education Make sure they had no programming training yet Train each in a different language Make sure each training has the same quality! Perform the experiment with them Make sure they are all in identically good condition on that day! This is practically impossible. Lutz Prechelt, [email protected] 8/ 33
9 Keeping the programmer "constant" (2) Method 2: Use averaging Find a large-enough set of roughly similar programmers for each language Make sure none of these groups is inherently inferior to another, programming-wise Have each of these persons solve the task When evaluating the results, use the average of the results of each language And hope that all differences between the programmers cancel out within each group as well as across groups This is possible. We still need to operationalize "roughly similar" and find such Lutz Prechelt, [email protected] 9/ 33
10 Variation among "roughly similar" programmers Each point represents one group (by task type): The worktime quotient of slowest to fastest quarter of participants Lutz Prechelt, 10 / 33
11 Variation among "roughly similar" programmers (2) Lutz Prechelt, 11 / 33
12 Problem of averaging Compare these interpersonal differences to the differences you would expect between languages With interpersonal variation this large, will we be able to (clearly) see the language differences at all? Conclusion: It is important to get either fairly similar programmers (not just roughly similar ones) to reduce the interpersonal variation or very many of them The precision of an estimate of the mean is stddev/sqrt(n) Lutz Prechelt, 12 / 33
13 Many or similar: When to use which We will now shortly review two different studies: One used many roughly similar programmers to compare programming languages The other (currently in planning) attempts to use fewer, but more similar programmers to compare web development platforms Lutz Prechelt, 13 / 33
14 Example 1: jccpprt The study jccpprt compares Java, C, C++, Perl, Python, Rexx, and Tcl. It is based on a precise specification of a simple string processing program 80 implementations were collected from 74 programmers Some in a controlled experiment on a different topic Others via a call in Usenets newsgroups Lutz Prechelt, [email protected] 14 / 33
15 jccpprt task A fixed mapping from letters to digits is given: The program receives as input a "dictionary" (list of words) and a list of "phone numbers" and must produce as output all possible encodings of the phone numbers by words according to the mapping Lutz Prechelt, [email protected] 15 / 33
16 Some jccpprt results: Execution time for 1000 numbers with a word dictionary Lutz Prechelt, [email protected] 16 / 33
17 Some jccpprt results: Observations The individual variation is huge Note the scale is logarithmic! Observe how wide the stderr dashes around the means (M) are! General trends are hence unclear But (looking at the medians), we find that scripting language programs are not generally much slower than programs in compiled languages Lutz Prechelt, 17 / 33
18 Some jccpprt results: Work time required Lutz Prechelt, 18 / 33
19 Some jccpprt results: Observations It looks like the compiled languages require 2-3 times as long for solving the problem with them and interpersonal variation is also larger there But beware: The Java, C, C++ times were measured in a controlled experiment they are reliable The scripting language times are self-reported by participants found via Usenet postings Canwetrustthelatter? Lutz Prechelt, [email protected] 19 / 33
20 Some jccpprt results: Length of resulting program Lutz Prechelt, 20 / 33
21 Some jccpprt results: Observations The length data are undisputable and confirm the work time data if we assume that lines written per hour is language-independent That leaves one problem: Are the length differences due to language differences or due to better qualifications of the script programmers? Validation idea: Better-qualified programmers would write more lines per hour Lutz Prechelt, 21 / 33
22 Validation of comparability of programmer qualifications Lutz Prechelt, 22 / 33
23 jccpprt summary Overall, the sheer mass of data points allows to overcome the significant problems of interpersonal variation and even (to a reasonable degree) the validity problems regarding the trustworthyness of some of the data So how about comparing web development platforms in the same manner? Lutz Prechelt, [email protected] 23 / 33
24 Example 2: A contact Late in 2005, Gaylord Aulke, CEO of the web development service company 100days, contacted me roughly like this: "We are using PHP in our projects. I use jccpprt to argue that scripting languages are to be taken seriously. Couldn't we do a similar study for PHP?" Lutz Prechelt, [email protected] 24 / 33
25 Comparing web development platforms: The main problem The main success factor in jccpprt was the large number of implementations per language The large number was possible, because the task was small Well under 10 person-hours for most participants, despite high reliability requirements and modest skills The task could be small, because the domain "language comparison" could be meaningfully addressed with an algorithmic problem. The task was not more or less representative than any other. However web applications cannot reasonably be as small The whole point of web development platforms is giving good support and reuse for many complex development tasks. So those need to be present in the task Lutz Prechelt, 25 / 33
26 Which platforms? So we obviously have a scaling problem. Let's see how big that is. First, which platforms would we need to look at? The "Big Money" platforms: Java Enterprise Edition,.NET The ubiquitous one: PHP The grand old lady: Perl Possibly younger contesters: Python, Ruby-on-Rails So we need to obtain 4 to 6 groups of implementations Lutz Prechelt, [email protected] 26 / 33
27 Which aspects in the task? Second, certain aspects should be present in the task to make the comparison meaningful: User registration, authentication, session tracking, forms and validation, dynamic results, reports, persistence, web services, So we need to have a task that is many times larger than that of jccpprt Lutz Prechelt, [email protected] 27 / 33
28 How to make clear-enough differences likely? Again, we have two possible approaches: Obtain a large number of implementations or obtain only a few, but from fairly similar programmers Discussion: Which way to go? Why? How? How to ensure validity of the study? Lutz Prechelt, [email protected] 28 / 33
29 One possible design: Plat_Forms Ensure validity by creating all implementations under supervision same time, same place Make sufficient task size possible by inviting teams of 3 for 30 hours A (hopefully sensible) balance of size and cost Reduce interpersonal variation by soliciting participation from top-class programmers only Make sufficient participation likely by advertising the study as a contest an opportunity for software development service organizations to show off their capabilities at most 3 teams will be admitted per platform Lutz Prechelt, [email protected] 29 / 33
30 Current status The Plat_Forms contest and study has been announced by 'ix in their November 2006 issue and on heise online Newsticker on October 11 The contest is planned for January 25-26, 2007, in Nürnberg We are now looking for sponsors platform representatives who will help select teams from among the applicants teams who want to participate students who would like to participate in the scientific evaluation afterwards Lutz Prechelt, 30 / 33
31 Tasks during the evaluation Develop tests and criteria for correctness and usability May require comparing apples and oranges meaningfully Obtain load testing software, design and set up load tests May be difficult if a lot of Javascript is used Develop categories and criteria for describing the structure, size, and modularity of the solutions Must accomodate the very different approaches of the platforms Develop scenarios for characterizing the flexibility and modifiability of the solutions Requires sufficient understanding of each platform Perform all these evaluations and record results during February, March, April Write result report Lutz Prechelt, [email protected] 31 / 33
32 Pointers Lutz Prechelt: "An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program", Technical Report , Fakultät für Informatik, Univ. Karlsruhe The language comparison Short version in IEEE Computer 33(10):23-29, October The web platform comparison Lutz Prechelt: "The 28:1 Grant/Sackman legend is misleading, or: How large is interpersonal variation really?", Technical Report , Fakultät für Informatik, Univ. Karlsruhe Programmer variation study Also in "Kontrollierte Experimente in der Softwaretechnik", Springer Verlag, 2001 Course "Empirische Bewertung in Informatik" (Empirical evaluation in informatics) SoSe, 2V+2Ü Lutz Prechelt, [email protected] 32 / 33
33 Thank you! Lutz Prechelt, 33 / 33
What is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there
Attack Frameworks and Tools
Network Architectures and Services, Georg Carle Faculty of Informatics Technische Universität München, Germany Attack Frameworks and Tools Pranav Jagdish Betreuer: Nadine Herold Seminar Innovative Internet
Agile Offsharing: Using Pair Work to Overcome Nearshoring Difficulties
Agile Offsharing: Using Pair Work to Overcome Nearshoring Difficulties Prof. Dr. Lutz Prechelt Institut für Informatik Entwicklertag Frankfurt Freie Universität Berlin 2014-02 Outline Pair Programming:
Agreement on. Dual Degree Master Program in Computer Science KAIST. Technische Universität Berlin
Agreement on Dual Degree Master Program in Computer Science between KAIST Department of Computer Science and Technische Universität Berlin Fakultät für Elektrotechnik und Informatik (Fakultät IV) 1 1 Subject
Introduction to Geventis. Registration for the MIN Graduate School (MINGS)
Fakultät für Mathematik, Informatik und Naturwissenschaften Introduction to Geventis Registration for the MIN Graduate School (MINGS) http://www.min.uni-hamburg.de/en/min-graduiertenschule.html Email [email protected]
Chapter 1. Dr. Chris Irwin Davis Email: [email protected] Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages
Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: [email protected] Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming
HOW TO SUCCESSFULLY USE SOFTWARE PROJECT SIMULATION FOR EDUCATING SOFTWARE PROJECT MANAGERS
HOW TO SUCCESSFULLY USE SOFTWARE PROJECT SIMULATION FOR EDUCATING SOFTWARE PROJECT MANAGERS Patricia Mandl-Striegnitz 1 Abstract A crucial factor for the success or failure of software development projects
Guideline for stresstest Page 1 of 6. Stress test
Guideline for stresstest Page 1 of 6 Stress test Objective: Show unacceptable problems with high parallel load. Crash, wrong processing, slow processing. Test Procedure: Run test cases with maximum number
Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management
Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring
Jonathan Worthington Scarborough Linux User Group
Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.
White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1
White Paper Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 INTRODUCTION...3 FRAMEWORKS AND LANGUAGES...3 SECURITY AND UPGRADES...4 Major Upgrades...4 Minor Upgrades...5
The Challenge of Productivity Measurement
Proceedings: Pacific Northwest Software Quality Conference, 2006 The Challenge of Productivity Measurement David N. Card Q-Labs, Inc [email protected] Biography- David N. Card is a fellow of Q-Labs, a subsidiary
Introducing DocumentDB
David Chappell Introducing DocumentDB A NoSQL Database for Microsoft Azure Sponsored by Microsoft Corporation Copyright 2014 Chappell & Associates Contents Why DocumentDB?... 3 The DocumentDB Data Model...
Software Engineering, Not Computer Science. A scientist builds in order to learn; an engineer learns in order to build.
98 0 pp00-6 r6jm.ps 6//03 :3 PM Page 9 Schapter four Software Engineering, Not Computer Science A scientist builds in order to learn; an engineer learns in order to build. fred brooks When interviewing
Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage
Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running
Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World
Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify
1. Overview of the Java Language
1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax
Programming Languages
Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:
How To Understand And Understand The Security Of A Web Browser (For Web Users)
Security vulnerabilities: should they be early detected? - [email protected] Alessandro Garcia [email protected] OPUS Research Group Agenda 1. Background; 2.Motivation; 3.Research Questions;
Instructional Design Framework CSE: Unit 1 Lesson 1
Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results
Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages
ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs
Programming Languages & Tools
4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming
THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY
THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY As the constantly growing demands of businesses and organizations operating in a global economy cause an increased
CHANCE ENCOUNTERS. Making Sense of Hypothesis Tests. Howard Fincher. Learning Development Tutor. Upgrade Study Advice Service
CHANCE ENCOUNTERS Making Sense of Hypothesis Tests Howard Fincher Learning Development Tutor Upgrade Study Advice Service Oxford Brookes University Howard Fincher 2008 PREFACE This guide has a restricted
About the Return on Investment of Test-Driven Development
About the Return on of Test-Driven Development Matthias M. Müller Fakultät für Informatik Universität Karlsruhe, Germany muellerm @ ira.uka.de Frank Padberg Fakultät für Informatik Universität Karlsruhe,
STUDY AND ANALYSIS OF AUTOMATION TESTING TECHNIQUES
Volume 3, No. 12, December 2012 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info STUDY AND ANALYSIS OF AUTOMATION TESTING TECHNIQUES Vishawjyoti * and Sachin
Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys
Viewpoint Choosing the right automation tool and framework is critical to project success - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys Introduction Organizations have become cognizant of the crucial
EFFICIENT DATA PRE-PROCESSING FOR DATA MINING
EFFICIENT DATA PRE-PROCESSING FOR DATA MINING USING NEURAL NETWORKS JothiKumar.R 1, Sivabalan.R.V 2 1 Research scholar, Noorul Islam University, Nagercoil, India Assistant Professor, Adhiparasakthi College
TATJA: A Test Automation Tool for Java Applets
TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann [email protected] Abstract Although there are some very good tools to test Web Applications, such tools neglect
C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical
C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical Software Engineering, pp. 27-36, Nara, Japan, October 2002.
PROJECT MANAGEMENT SYSTEM
Requirement Analysis Document v.2 14.12.2009 CENG-401 SOFTWARE ENGINEER PROJECT MANAGEMENT SYSTEM (Project Manager) Ahmet Edip SEÇKİN 07010555 (Developer) Erhan ŞEN 07010507 (Developer) Semih Serdar CENGİZOĞLU
Slides from INF3331 lectures - web programming in Python
Slides from INF3331 lectures - web programming in Python Joakim Sundnes & Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo & Simula Research Laboratory October 2013 Programming web applications
Do Programming Languages Affect Productivity? A Case Study Using Data from Open Source Projects
Do Programming Languages Affect Productivity? A Case Study Using Data from Open Source Projects Daniel P. Delorey [email protected] Charles D. Knutson [email protected] Scott Chun [email protected] Abstract
Functional Modelling in secondary schools using spreadsheets
Functional Modelling in secondary schools using spreadsheets Peter Hubwieser Techn. Universität München Institut für Informatik Boltzmannstr. 3, 85748 Garching [email protected] http://ddi.in.tum.de
How To Calculate Max Likelihood For A Software Reliability Model
International Journal of Reliability, Quality and Safety Engineering c World Scientific Publishing Company MAXIMUM LIKELIHOOD ESTIMATES FOR THE HYPERGEOMETRIC SOFTWARE RELIABILITY MODEL FRANK PADBERG Fakultät
CSE 307: Principles of Programming Languages
Course Organization Introduction CSE 307: Principles of Programming Languages Spring 2015 R. Sekar Course Organization Introduction 1 / 34 Topics 1. Course Organization Info and Support Course Description
Open-source content management. systems. Open-source content management is a viable option FEBRUARY 2004. Open-source strengths
FEBRUARY 2004 Open-source content management systems In recent times, open-source software has been seen as an increasingly mainstream part of the market. This has been fuelled by the growth of the internet,
CS514: Intermediate Course in Computer Systems
: Intermediate Course in Computer Systems Lecture 7: Sept. 19, 2003 Load Balancing Options Sources Lots of graphics and product description courtesy F5 website (www.f5.com) I believe F5 is market leader
Data processing goes big
Test report: Integration Big Data Edition Data processing goes big Dr. Götz Güttich Integration is a powerful set of tools to access, transform, move and synchronize data. With more than 450 connectors,
Application Development for Mobile and Ubiquitous Computing
Department of Computer Science Institute for System Architecture, Chair for Computer Network Application Development for Mobile and Ubiquitous Computing igrocshop Seminar Task - Second Presentation Group
Using Ruby on Rails for Web Development. Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources
Using Ruby on Rails for Web Development Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources Ruby on Rails 100 Success Secrets Copyright 2008 Notice of rights All rights
CREDENTIALS & CERTIFICATIONS 2015
THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2015 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 3 Software Design
Protecting Database Centric Web Services against SQL/XPath Injection Attacks
Protecting Database Centric Web Services against SQL/XPath Injection Attacks Nuno Laranjeiro, Marco Vieira, and Henrique Madeira CISUC, Department of Informatics Engineering University of Coimbra, Portugal
Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents
Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)
Real Time Market Data and Trade Execution with R
Real Time Market Data and Trade Execution with R Jeffrey A. Ryan April 5, 2009 Contents 1 Introduction to Real Time Processing in R 2 1.1 Socket Connections in R....................... 2 1.1.1 Overview...........................
A Comparison of Programming Languages for Graphical User Interface Programming
University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming
Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)
Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM) Pankaj Jalote 1 Infosys Technologies Ltd. Bangalore 561 229 Fax: +91-512-590725/590413 [email protected], [email protected]
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)
Stages in Teaching Formal Methods A. J. Cowling Structure of Presentation Introduction to Issues Motivation for this work. Analysis of the Role of Formal Methods Define their scope; Review their treatment
Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013
Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options
SOFTWARE VALUE ENGINEERING IN DEVELOPMENT PROCESS
SOFTWARE VALUE ENGINEERING IN DEVELOPMENT PROCESS Pawel Grzegrzolka University of Gdansk, Department of Business Informatics, Piaskowa 9, 81-864 Sopot, Poland, [email protected] Abstract. This
Subject Examination and Academic Regulations for the Research on Teaching and Learning Master s Programme at the Technische Universität München
Page 1 The version is provided merely as a convenience and is not intended to be a legally binding document. Subject Examination and Academic Regulations for the Research on Teaching and Learning Master
How To Understand The History Of The Web (Web)
(World Wide) Web WWW A way to connect computers that provide information (servers) with computers that ask for it (clients like you and me) uses the Internet, but it's not the same as the Internet URL
Seamless Method- and Model-based Software and Systems Engineering
Seamless Method- and Model-based Software and Systems Engineering Manfred Broy Institut für Informatik, Technische Universität München D-80290 München Germany, [email protected] http://wwwbroy.informatik.tu-muenchen.de
Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication
01PC-422 Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication Pascal Jost IAS, University of Stuttgart, Germany Stephan Hoffmann Vector CANtech Inc., USA Copyright
Comparing Native Apps with HTML5:
Comparing Native Apps with HTML5: What is the right approach for your organisation? Website: http://www.ombiel.com Email: [email protected] 1/11 Native and HTML5: What s the difference? HTML5 HTML5 is device-neutral,
Business & Computing Examinations (BCE) LONDON (UK)
Business & Computing Examinations (BCE) LONDON (UK) Web Design Qualification Analysis & Occupational Outlook The development of BCE qualifications include extensive market research from the following sources:
Develop PHP mobile apps with Zend Framework
Develop PHP mobile apps with Zend Framework Enrico Zimuel Senior PHP Engineer, Zend Technologies Zend Framework Core Team http://framework.zend.com http://www.zend.com About me Enrico Zimuel (@ezimuel)
CSC 180 H1F Algorithm Runtime Analysis Lecture Notes Fall 2015
1 Introduction These notes introduce basic runtime analysis of algorithms. We would like to be able to tell if a given algorithm is time-efficient, and to be able to compare different algorithms. 2 Linear
Accelerating Wordpress for Pagerank and Profit
Slide No. 1 Accelerating Wordpress for Pagerank and Profit Practical tips and tricks to increase the speed of your site, improve conversions and climb the search rankings By: Allan Jude November 2011 Vice
Developing in the MDA Object Management Group Page 1
Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
AP Physics 1 and 2 Lab Investigations
AP Physics 1 and 2 Lab Investigations Student Guide to Data Analysis New York, NY. College Board, Advanced Placement, Advanced Placement Program, AP, AP Central, and the acorn logo are registered trademarks
22C:22 (CS:2820) Object-Oriented Software Development
The University of Iowa 22C:22 (CS:2820) Object-Oriented Software Development Fall 2012 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this complexity
The Research Bulletin of Jordan ACM, Volume II(III) P a g e 127
The Research Bulletin of Jordan ACM, Volume II(III) P a g e 127 The specifications of E-Commerce Secure System using Z language Mustafa M. Noaman Computer Sciences Department, The Faculty of Information
Here s how to choose the right mobile app for you.
Here s how to choose the right mobile app for you. There is no arguing with statistics. The future of the web is mobile. Tablet shipments are increasing exponentially and within two years consumer broadband
CS 40 Computing for the Web
CS 40 Computing for the Web Art Lee January 20, 2015 Announcements Course web on Sakai Homework assignments submit them on Sakai Email me the survey: See the Announcements page on the course web for instructions
1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2
Business Process Modeling with EPC and UML Transformation or Integration? Dr. Markus Nüttgens, Dipl.-Inform. Thomas Feld, Dipl.-Kfm. Volker Zimmermann Institut für Wirtschaftsinformatik (IWi), Universität
Report - Marking Scheme
Report - Marking Scheme The report is marked out of 50 (19 individual + 31 group marks) by the supervisor from the School and the unit coordinator. Suggested break down: 1. Context out of 12 (7 individual
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Next 4 lessons: Outline Scientific programming: best practices Classical learning (Hoepfield network) Probabilistic learning
Integrated version control with Fossil SCM
Integrated version control with Fossil SCM Tech Talk 2009-12-01 Arne Bachmann Folie 1 Overview Web address www.fossil-scm.org Author Dr. D.R. Hipp - Author of License GPL v2 Motto No information shall
Benefits of Test Automation for Agile Testing
Benefits of Test Automation for Agile Testing Manu GV 1, Namratha M 2, Pradeep 3 1 Technical Lead-Testing Calsoft Labs, Bangalore, India 2 Assistant Professor, BMSCE, Bangalore, India 3 Software Engineer,
The link between Research and Higher Education
The link between Research and Higher Education some observations and food for discussion Hans van Himbergen Utrecht University, The Netherlands First the context from which I speak, for your comparison
