Software Engineering and Scientific Computing

Size: px
Start display at page:

Download "Software Engineering and Scientific Computing"

Transcription

1 Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld Heidelberg, Germany RUPRECHT-KARLS-UNIVERSITÄT HEIDELBERG

2 AG Software Engineering, Uni HD Profile Quality Engineering Requirements Engineering Rationale Management Quality Assurance Prof. Dr. Barbara Paech Since 7 years in HD before Fh IESE, Kaiserlautern 6 PhD students 2 children Hanna Valtokari Master in Computer Science Worked 7 years as a software developer PhD student since april

3 Who are you? Your name What are you doing at Uni HD? What do you know about and what do you practise in software engineering? What are YOUR biggest problems with software engineering? What do you want to learn about software engineering and scientific computing? 3

4 Schedule Monday 9:00 Introduction to each other, Introduction to Software Engineering 10:30 Break 11:00 Version management concepts 12:00 Lunch 13:00 Incl. a short break Tools, Exercises Version Management Issue Tracking Build Management End 4

5 Software development is complex Programming Software Product Distributed Development Project management Quality assurance Cost, Schedule, Quality Requirements documents Design documents Knowledge management Evolution Version management 5

6 Goals of this course Understand the complexity of software development Know the interests and responsibilities of the project team Know the basic practices of software development Main contents Version management Build management Issue tracking Project management Testing Documentation and Modeling Knowledge Management 6

7 Overview Software Engineering 7

8 Overview 1. Terminology 2. Motivation 3. General Structure 1. What to do? (Activities) 2. What to produce? (Results, Products) 3. Who? (Actors) 4. How? (Methods, Tools, Best Practices) 8

9 What is Software Engineering? Software Software is a collection of computer programs, procedures, rules, corresponding documentation and data (ISO/IEC 12207:2008) Engineering Systematic process and prodcuct Adherence to standards, consideration of quality and cost Usage of models 9

10 [Standish group] SE is difficult! Just 32 % of the projects successful, 25 % without result, 44 % not within schedule Time overrun up to 63%, cost overrun up to 45 % What is important fo success? Management support 18 User involvement 16 Experienced project managers 14 Clear business goal 12 Reduced Scope 10 Standard SW Infrastructure 8 Fixed Requirements 6 Formal Methods 6 Reliable estimation 5 10

11 Joint understanding of all stakeholders As proposed by the project sponsor As specified in the project request As designed by the senior analyst As produced by the programmers As installed at the user's site What the user wanted 11

12 SW is big Enterprise-Ressource-Planning Software R/3 von SAP Year Lines of Code Number components Million (Rel. 3.1.) 30 Million (Rel. 4.5.) 50 Million => Team work Communication Knowledge management Project management 12

13 Rapid Technology Change DaimlerChrysler

14 Quality is difficult Error rates (M. Cusumano, MIT 1990) 1977: 7-20 errors in 1000 LOC 1994: 0,05-0,2 errors in 1000 LOC Increase factor 100 in 17 years But: complexity increase factor 10 in 5 years 0,1 errors means: 18 plan crashes per day money mistransfers per hour 14

15 SW characteristics depend on goals [Weinberg,Schulmann, 1974] Quality in small programs Goal Effort LOC Memory Understandability of the code Effort Understandability of the output LOC Memory Understandability of the code Understandability of the output

16 Quality in big programs Well-known example: Ariane 501 Ariane5 successor of Ariane4-family with over 100 successful starts 6-12t carriage (vs. 2-5t A4) First start

17 Result Rocket destroys itself after a few minutes High damage Carriage lost, cost > 500 M 3 year delay of further missions Investigation committee Report from (only 14 days after!!!) see 17

18 Causes Main problem: conversion error, missing exception handling (programming error). Missing exception handling to save execution time (cost). Un-documented assumptions about value ranges (distributed development). Planned travel route not included in the requirements specification (management). Shut-down in case of errors typical for hardware problems (culture). Unnecessary code copied from A4 (re-use). Copied code not tested (testing, re-use). Missing Review (quality assurance) 18

19 Software Engineering (SE) Development Of big programs With high quality By many team members With cost and time limits using Engineering principles - Planning - Work distribution - Methods and Tools (Standardisation, Quality) - Models to support knowledge management 19

20 SE is a Process actors (WHO) activities (WHAT) results (WHAT) guidelines (HOW) context (HOW) 20

21 Responsibilities Documentation Knowledge management Development Context Requirements Engineering Architecture Design Implementation Version management Quality management Product (Testing, Inspection, Metrics) Process (Metrics, Improvement) Evolution Re-use Enhancement Reengineering Change management Project management Team cost schedule Risks Customer/ Contractor 21

22 Development Decisions Context Business goals Business processes Requirements Engineering Architecture Functionality Quality constraints User Interface Project constraints Technolgy Subsystems Design Software components Interfaces Implementation Programming language 22

23 Quality assurance Context Requirements Engineering Inspection Acceptance test Inspection Usage test System test Metrics Used System Usable System Architecture Design Inspection Integration test Metrics Integrated System Implementation Inspection Component test Metrics Implementated component 23

24 Documentation Context Problem description Contract Acceptance test plan Requirements Engineering Architecture Design Customer requirements Software specification Architecture definition Subsystem specification Component specification Usage test plan Systemtest plan Integration test plan Implementation Code Component test plan 24

25 Modeling Context Text Activity Diagram Requirements Engineering Structured Text, Use Case Entity-Relationship-Diagram Rationale Architecture Deployment Diagram, Component diagram Design Class diagram, Object diagram, Interaction diagram, state diagram Implementation Programming language 25

26 Software Quality ISO 9126/DIN66272 Context Human Work Customer Satisfaction Requirements Engineering Architecture Design Usability Accuracy, Security, Safety Reliability Reliability Changeability Efficiency Changeability Efficiency Implementation Efficiency Portability 26

27 Project Participants Customer SW User Contractor 27

28 Software Engineering Methods In the Past Idee!!! First Algorithms, Data base, Hardware Configuration GOTO oder nicht?? IF THENELSE... User System Design Coding Problem definition, funktianal Analysis System Analyse Modularization, Adaptation of Data base and Configuration, usw. Programming [Yourdon/Constantine 1979] 28

29 Quelle: Software Engineering Methods Today 29

30 Summary SE creates socio-technical Systems SE focuses on quality, cost und effort SE shapes product / system and process 30

31 Literature J. Ludewig, H. Lichter, Software Engineering, dpunkt 2007 L. A. Macaulay, Requirements Engineering, Springer, 1995 I. Sommerville, Software Engineering, Addison Wesley, 2008 G. Weinberg, E. Schulmann, Goals and Performance in Computer Programming, Human Factors 16, p.70-77,1974 E. Yourdon, L.L. Constantine, Structured Design Fundamentals of a Discipline of Computer Program and System Design, Prentice Hall,

32 In this course: Programming in a small team Documentation Knowledge management Development Context Requirements Engineering Architecture Design Implementation Version management Quality management Product (Testing, Inspection, Metrics) Process (Metrics, Improvement) Evolution Re-use Enhancement Reengineering Change management Project management Team cost schedule Risks Customer/ Contractor 32

33 Programming in a small team What is Ron doing? Project management Issue Tracking I want to explain my ideas to Hermione Modeling Knowledge Management I want to change Ginnys code Version management, Build management I want to check Harrys changes Quality assurance Testing 33

34 Version Management 34

35 Terminology Product Line (different products) Releases (product configuration) K1.Vn K2.Vm K3.Vk Configuration K1.V1 K2.V1 K3.V1 Version 35

36 [ Problem #1: Collaboration What if two or more people want to edit the same file at the same time? Option 1: make them take turns But then only one person can be working at any time And how do you enforce the rule? Option 2: patch up differences afterwards Requires a lot of re-working Stuff always gets lost 36

37 The right solution is to use a version control system Keep the master copy of the file in a central repository Each author edits a working copy. When they're ready to share their changes, they commit them to the repository Other people can then do an update to get those changes [ Solution: Version management 37

38 [ When working alone This is also a good way for one person to manage files on multiple machines Keep one working copy on your personal laptop, the lab machine, and the departmental server No more mailing yourself files, or carrying around a USB drive (and forgetting to copy things onto it) This by itself is reason enough to use version control even when you are the only author 38

39 [ Problem #2: Undoing Changes Often want to undo changes to a file Start work, realize it's the wrong approach, want to get back to starting point Like "undo" in an editor......but keep the whole history of every file, forever Also want to be able to see who changed what, when The best way to find out how something works is often to ask the person who wrote it 39

40 [ Solution: Version Control (again) Have the version control system keep old revisions of files And have it record who made the change, and when Authors can then roll back to a particular revision or time (again) This by itself is reason enough to use version control even when you are the only author 40

41 General Features of Version Control Systems Storage of and Search for Versions Change Control Composition of Components (Build Management) Work Distribution (Issues Tracking) 41

42 Storage and Change Control Component Repositoy List or Data base Unique identification Linear: Doc1, Doc2, Doc3 Hierarchical: LSB.BDS.ENT.Doc1 (Project LSB, Component BDS, Phase Design) Document Changes Log change history Save memory: only store deltas to recover changes 42

43 [F.Houdek: Vorlesung Projektmanagement WS2002/2003] Versions Branching possible! 43

44 [F.Houdek: Vorlesung Projektmanagement WS2002/2003] Configurations Branching possible! 44

45 [F.Houdek: Vorlesung Projektmanagement WS2002/2003] Change control => status management Check environment Work environment To be changed To be repaired Repository Being checked Accepted Rejected Production environment 45

46 F.Houdek: Vorlesung Projektmanagement WS2002/2003 Build management Original (z.b. Requirements, Code, Project plan) Derivates (z.b. Object-Files, Executable, Cross- Reference-List) Build procedure (Makefiles, Compiler, etc) 46

47 Work Distribution Define and check access rights Define and check parallel access Element based: a developer can access a certain element whenever s/he wants Role based: a developer can access a certain element whenever s/he performs a certain task (role) 47

48 [ Basic Use Ron and Hermione each has a working copy of the solarsystem project repository Ron wants to add some information about Jupiter's moons Runs svn update to synchronize his working copy with the repository Goes into the jupiter directory and creates moons.txt Ron then: Runs svn add moons.txt to bring it to [Subversion]'s notice Runs svn commit to save his changes in the repository - Repository is now at revision 121 That afternoon, Hermione runs svn update on her working copy [Subversion] sends her Ron's changes 48

49 [ Resolving Conflicts Back to the problem of conflicting edits (or, more simply, conflicts) Option 1: only allow one person to have a writeable copy at any time This is called pessimistic concurrency Used in Microsoft Visual SourceSafe Option 2: let people edit, and resolve conflicts afterward by merging files Called optimistic concurrency "It's easier to get forgiveness than permission" Most modern systems (including [Subversion]) do this 49

50 [ Starvation But what happens if Ginny commits another set of changes while Hermione is resolving? And then Harry commits yet another set? Starvation: Hermione never gets a turn because someone else always gets there first This is a management problem, not a technical one Break the file(s) up into smaller pieces Give people clearer responsibilities The version control system is trying to tell you that people on your team are working at cross purposes If you are doing things right, you will probably never (or rarely) encounter this 50

51 [ Reverting After doing some more work, Ron decides he's on the wrong path svn diff shows him which files he has changed, and what those changes are He hasn't committed anything yet, so he uses svn revert to discard his work I.e., throw away any differences between his working copy and the master as it was when he started Synchronizes with where he was, not with any changes other people have made since then (the base revision, not latest revision in the repository) If you find yourself reverting repeatedly, you should probably go and do something else for a while... 51

52 [ Rolling Back Now Ron decides that he doesn't like the changes Harry just made to moons.txt Wants to do the equivalent of "undo" svn log shows recent history Current revision is 157 He wants to revert to revision 156 svn merge -r 157:156 moons.txt will do the trick The argument to the -r flag specifies the revisions involved Merging allows him to keep some of Harry's changes if he wants to Revision 157 is still in the repository Remember, this affects Ron's local copy, he still needs to commit this undo if he wishes to commit these changes 52

53 [ Summary Version control is one of the things that distinguishes professionals from amateurs And successful projects from failures Everything that a human being had to create should be under version control You'll see the benefits almost immediately You will want to put all your work (even solo work) under version control once you experience the benefits 53

54 Literature Software carpentry ( N. Ford: Produktiv Programmieren, O Reilly,

55 Binary Files Subversion can only merge conflicts in text files Source code, HTML---basically, anything you can edit with Notepad, Vi, or Emacs But images, video clips, Microsoft Word, and other formats aren't plain text When there's a conflict, Subversion saves your copy and the master copy side by side in your working directory Up to you to resolve the differences It's not Subversion's fault Most creators of non-text formats don't provide a way to find or merge differences between files 55

Version Control with Subversion

Version Control with Subversion Version Control with Subversion http://www.oit.duke.edu/scsc/ http://wiki.duke.edu/display/scsc scsc@duke.edu John Pormann, Ph.D. jbp1@duke.edu Software Carpentry Courseware This is a re-work from the

More information

Software Engineering and Scientific Computing

Software Engineering and Scientific Computing Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de

More information

CSCB07 Software Design Version Control

CSCB07 Software Design Version Control CSCB07 Software Design Version Control Anya Tafliovich Fall 2015 Problem I: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope

More information

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011 CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion

More information

Software Engineering and Scientific Computing

Software Engineering and Scientific Computing Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de

More information

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number. Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a

More information

Lab 0 (Setting up your Development Environment) Week 1

Lab 0 (Setting up your Development Environment) Week 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself

More information

Version Control. Luka Milovanov lmilovan@abo.fi

Version Control. Luka Milovanov lmilovan@abo.fi Version Control Luka Milovanov lmilovan@abo.fi Configuration Management Configuration management is the management of system change to software products Version management: consistent scheme of version

More information

Jazz Source Control Best Practices

Jazz Source Control Best Practices Jazz Source Control Best Practices Shashikant Padur RTC SCM Developer Jazz Source Control Mantra The fine print Fast, easy, and a few concepts to support many flexible workflows Give all users access to

More information

Week G Versioning with svn

Week G Versioning with svn Week G Versioning with svn What is Versioning? Naïve vs. smart approaches Subversion (svn) workflow Basic svn commands http://subversion.tigris.org/ Assignments: Check in your proposals Week G Versioning

More information

Using Subversion in Computer Science

Using Subversion in Computer Science School of Computer Science 1 Using Subversion in Computer Science Last modified July 28, 2006 Starting from semester two, the School is adopting the increasingly popular SVN system for management of student

More information

Git Basics. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22

Git Basics. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Git Basics Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to

More information

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn CSE 374 Programming Concepts & Tools Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person,

More information

Revision control systems (RCS) and

Revision control systems (RCS) and Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

Ingeniørh. Version Control also known as Configuration Management

Ingeniørh. Version Control also known as Configuration Management Ingeniørh rhøjskolen i Århus Version Control also known as Configuration Management Why version control? Teamwork You work in a team. You open a file and start work on it. Your colleague opens a file and

More information

SOE. managing change in system development projects: configuration management

SOE. managing change in system development projects: configuration management SOE managing change in system development projects: configuration management 2 3 understanding the problem of change change is one of the most fundamental characteristics in any software development process

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:

More information

Source Control Systems

Source Control Systems Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

Change Management for Rational DOORS User s Guide

Change Management for Rational DOORS User s Guide Change Management for Rational DOORS User s Guide Before using this information, read the general information under Appendix: Notices on page 58. This edition applies to Change Management for Rational

More information

Tuesday, October 18. Configuration Management (Version Control)

Tuesday, October 18. Configuration Management (Version Control) Tuesday, October 18 Configuration Management (Version Control) How Version Control Works Place the official version of source code into a central repository, or database Programmers check out a working

More information

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.) Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source

More information

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Standalone PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Most developers are familiar with Visual SourceSafe. It's a popular version control

More information

Working with a Version Control System

Working with a Version Control System Working with a Version Control System Summary Tutorial TU0114 (v2.4) March 18, 2008 This tutorial looks at how you can use Altium Designer s built-in version control capabilities to check project files

More information

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

Global Software Change Management for PVCS Version Manager

Global Software Change Management for PVCS Version Manager Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.

More information

Successfully managing geographically distributed development

Successfully managing geographically distributed development IBM Rational SCM solutions for distributed development August 2004 Successfully managing geographically distributed development Karen Wade SCM Product Marketing Manager IBM Software Group Page 2 Contents

More information

COSC345 2013 Software Engineering. Lecture 7: Version Control

COSC345 2013 Software Engineering. Lecture 7: Version Control COSC345 2013 Software Engineering Lecture 7: Version Control Some Problems Communications File system problems Version control Basic principles and use Outline When to use version control Examples SCCS

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Levels of Software Testing. Functional Testing

Levels of Software Testing. Functional Testing Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies

More information

Project Planning. COSC345 Lecture 3 Slides: Andrew Trotman Dramatic presentation: Richard O Keefe. Software Engineering 2013

Project Planning. COSC345 Lecture 3 Slides: Andrew Trotman Dramatic presentation: Richard O Keefe. Software Engineering 2013 Project Planning COSC345 Lecture 3 Slides: Andrew Trotman Dramatic presentation: Richard O Keefe Software Engineering 2013 Overview Assignment: The assignment sheet specifies a minimum Think about what

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

using version control in system administration

using version control in system administration LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.

More information

Lab 0: Version control

Lab 0: Version control Lab Handout ENGI3891 Faculty of Engineering and Applied Science 16,23 Sep 2015 1 Purpose and outcomes This lab will give you hands-on experience with an essential development tool: a version control system

More information

Using Continuous Operations Mode for Proper Backups

Using Continuous Operations Mode for Proper Backups Using Continuous Operations Mode for Proper Backups A White Paper From Goldstar Software Inc. For more information, see our web site at Using Continuous Operations Mode for Proper Backups Last Updated:

More information

PRESENTS... Maintaining a version control system is resource intensive. Look at what experts say:

PRESENTS... Maintaining a version control system is resource intensive. Look at what experts say: Hosted PRESENTS... Reasons to Switch from SourceSafe: Why SourceAnywhere Hosted Makes Life Easier for Systems Administrators and Developers Maintaining a version control system is resource intensive. Look

More information

Version Uncontrolled! : How to Manage Your Version Control

Version Uncontrolled! : How to Manage Your Version Control Version Uncontrolled! : How to Manage Your Version Control Harold Dost III, Raastech ABSTRACT Are you constantly wondering what is in your production environment? Do you have any doubts about what code

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering Compiled By: Roshani Ghimire Page 1 Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define

More information

Version Control and Subversion. Dr Paul Tennent

Version Control and Subversion. Dr Paul Tennent Version Control and Subversion Dr Paul Tennent Outline Housekeeping What is Version Control? Why use it? Using Subversion (SVN) Housekeeping You know where to find everything http://www.cs.nott.ax.uk/~pxt/g52grp

More information

Planning, Deploying, and Managing an Enterprise Project Management Solution

Planning, Deploying, and Managing an Enterprise Project Management Solution Planning, Deploying, and Managing an Enterprise Project Management Solution Course 2732 Five days Instructor-led Introduction The goal of this five-day, instructor-led course is to provide systems engineers

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Configuration & Build Management

Configuration & Build Management Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration

More information

SVN Starter s Guide Compiled by Pearl Guterman June 2005

SVN Starter s Guide Compiled by Pearl Guterman June 2005 SVN Starter s Guide Compiled by Pearl Guterman June 2005 SV Table of Contents 1) What is SVN?... 1 2) SVN Architecture... 2 3) Creating a Working Copy... 3 4) Basic Work Cycle... 4 5) Status Symbols...

More information

Using Git for Project Management with µvision

Using Git for Project Management with µvision MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time

More information

Version Control with Subversion

Version Control with Subversion Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or

More information

Version Control with Git. Dylan Nugent

Version Control with Git. Dylan Nugent Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just

More information

SVN Setup and Configuration Management

SVN Setup and Configuration Management Configuration Management Each team should use the Subversion (SVN) repository located at https://svn-user.cse.msu.edu/user/cse435/f2014/ to provide version control for all project artifacts as

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline

More information

Source Control Guide: Git

Source Control Guide: Git MadCap Software Source Control Guide: Git Flare 11.1 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this

More information

[PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14]

[PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14] 2013/14 Institut für Computergraphik, TU Braunschweig Pablo Bauszat [PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14] All elemental steps that will get you started for your new life as a computer science programmer.

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources. Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify

More information

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a

More information

ScoMIS Encryption Service

ScoMIS Encryption Service Introduction This guide explains how to implement the ScoMIS Encryption Service for a secondary school. We recommend that the software should be installed onto the laptop by ICT staff; they will then spend

More information

Software Configuration Management. Context. Learning Objectives

Software Configuration Management. Context. Learning Objectives Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition

More information

Framing Requirements for Predictive Analytic Projects with Decision Modeling

Framing Requirements for Predictive Analytic Projects with Decision Modeling Research Brief Framing Requirements for Predictive Analytic Projects with Decision Modeling August 2015 Written by: James Taylor Key Takeaways 1. Organizations are struggling to create a scalable, sustainable

More information

Virtual server management: Top tips on managing storage in virtual server environments

Virtual server management: Top tips on managing storage in virtual server environments Tutorial Virtual server management: Top tips on managing storage in virtual server environments Sponsored By: Top five tips for managing storage in a virtual server environment By Eric Siebert, Contributor

More information

Module 1 Study Guide Introduction to PPO. ITIL Capability Courses - Planning, Protection and Optimization

Module 1 Study Guide Introduction to PPO. ITIL Capability Courses - Planning, Protection and Optimization Module 1 Study Guide Introduction to PPO ITIL Capability Courses - Planning, Protection and Optimization Introducing PPO Welcome to your Study Guide. This document is supplementary to the information available

More information

Software Engineering UNIT -1 OVERVIEW

Software Engineering UNIT -1 OVERVIEW UNIT -1 OVERVIEW The economies of ALL developed nations are dependent on software. More and more systems are software controlled. Software engineering is concerned with theories, methods and tools for

More information

Understanding Backup and Recovery Methods

Understanding Backup and Recovery Methods Lesson 8 Understanding Backup and Recovery Methods Learning Objectives Students will learn to: Understand Local, Online, and Automated Backup Methods Understand Backup Options Understand System Restore

More information

Managing and Maintaining Windows Server 2008 Servers (6430) Course length: 5 days

Managing and Maintaining Windows Server 2008 Servers (6430) Course length: 5 days Managing and Maintaining Windows Server 2008 Servers (6430) Course length: 5 days Course Summary: This five-day instructor-led course provides students with the knowledge and skills to implement, monitor,

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information

Five Reasons Your Business Needs Network Monitoring

Five Reasons Your Business Needs Network Monitoring Five Reasons Your Business Needs Network Monitoring cognoscape.com Five Reasons Your Business Needs Network Monitoring Your business depends on the health of your network for office productivity. Most

More information

COSC345 Week 18. Quality Management and Metrics. 5 August 2014

COSC345 Week 18. Quality Management and Metrics. 5 August 2014 COSC345 Week 18 Quality Management and Metrics 5 August 2014 Richard A. O Keefe 1 Three principal ideas Quality = fitness for use Quality doesn t just happen, it must be managed You can t manage what you

More information

THE POWER OF GROUP POLICY

THE POWER OF GROUP POLICY Specops Software presents: THE POWER OF GROUP POLICY By Danielle Ruest and Nelson Ruest The Power of Group Policy... 3 The Inner Workings of GPOs... 4 The Ideal Tool for Systems Management... 7 Your Next

More information

5 Group Policy Management Capabilities You re Missing

5 Group Policy Management Capabilities You re Missing 5 Group Policy Management Capabilities You re Missing Don Jones 1. 8 0 0. 8 1 3. 6 4 1 5 w w w. s c r i p t l o g i c. c o m / s m b I T 2011 ScriptLogic Corporation ALL RIGHTS RESERVED. ScriptLogic, the

More information

Software Configuration Management (SCM)

Software Configuration Management (SCM) Software Configuration Management (SCM) SCM actually consists of several separate yet cumulative disciplines. Version Management is an entry point for SCM T M Abstract : Software Configuration Management

More information

Gerard Laurent Project Manager The best way to fail is to not communicate adequately.

Gerard Laurent Project Manager The best way to fail is to not communicate adequately. Gerard Laurent Project Manager The best way to fail is to not communicate adequately. Gerard's main responsibility Create the schedule and identify resources to guide the project while managing issues

More information

Technical Writing - Advantages of Version Control Systems

Technical Writing - Advantages of Version Control Systems Fachpraktikum Grafik-Programmierung WS2010 Introduction to Version Control Alexandros Panagiotidis, Daniel Kauker Institut für Visualisierung und Interaktive Systeme Universität Stuttgart Advantages of

More information

The Role of Information Technology Studies in Software Product Quality Improvement

The Role of Information Technology Studies in Software Product Quality Improvement The Role of Information Technology Studies in Software Product Quality Improvement RUDITE CEVERE, Dr.sc.comp., Professor Faculty of Information Technologies SANDRA SPROGE, Dr.sc.ing., Head of Department

More information

Version Control Systems (Part 2)

Version Control Systems (Part 2) i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version

More information

Version Control! Scenarios, Working with Git!

Version Control! Scenarios, Working with Git! Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not

More information

Software Configuration Management. Addendum zu Kapitel 13

Software Configuration Management. Addendum zu Kapitel 13 Software Configuration Management Addendum zu Kapitel 13 Outline Purpose of Software Configuration Management (SCM) Motivation: Why software configuration management? Definition: What is software configuration

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2012 P. N. Hilfinger Version Control and Homework Submission 1 Introduction Your

More information

OFBiz Addons goals, howto use, howto manage. Nicolas Malin, Nov. 2012

OFBiz Addons goals, howto use, howto manage. Nicolas Malin, Nov. 2012 OFBiz Addons goals, howto use, howto manage Nicolas Malin, Nov. 2012 Agenda History of a birth Addons principle Addons and their environment (extensive program) Conclusion Once upon a time The history

More information

The Essentials of File Management with LabVIEW

The Essentials of File Management with LabVIEW The Essentials of File Management with LabVIEW Courtney Lessard LabVIEW Product Manager Presented by Alexandra Valiton, NI Field Engineer, Long Island How many files in your biggest application?.lvproj.vi.ctl.lvlib.dll

More information

Verification and Validation of Software Components and Component Based Software Systems

Verification and Validation of Software Components and Component Based Software Systems Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research christina.wallin@mdh.se

More information

Version control with Subversion

Version control with Subversion Version control with Subversion Davor Cubranic Grad Seminar October 6, 2011 With searching comes loss And the presence of absence: My Thesis not found. Version Control A tool for managing changes to a

More information

Agile SCM Build Management for an Agile Team. Some Definitions. Building and Agility. Steve Berczuk, Brad Appleton, and Steve Konieczka October 2003

Agile SCM Build Management for an Agile Team. Some Definitions. Building and Agility. Steve Berczuk, Brad Appleton, and Steve Konieczka October 2003 Agile SCM Management for an Agile Team Steve Berczuk, Brad Appleton, and Steve Konieczka October 2003 A number of people work together to develop a software application. The application is useful only

More information

Source Control and Team-Based Design in System Generator Author: Douang Phanthavong

Source Control and Team-Based Design in System Generator Author: Douang Phanthavong Application Note: All Virtex and Spartan FPGA Families XAPP498 (v1.0) January 15, 2010 Source Control and Team-Based Design in System Generator Author: Douang Phanthavong Summary This application note

More information

Version Control Script

Version Control Script Version Control Script Mike Jackson, The Software Sustainability Institute Things you should do are written in bold. Suggested dialog is in normal text. Command- line excerpts and code fragments are in

More information

MATLAB & Git Versioning: The Very Basics

MATLAB & Git Versioning: The Very Basics 1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:

More information

Dr. U. Assmann, Software Engineering 1 Dr. U. Assmann, Software Engineering 2

Dr. U. Assmann, Software Engineering 1 Dr. U. Assmann, Software Engineering 2 Configuration Management Dr. U. Aßmann Research Center for Integrational Software Engineering Content Basic Concepts Components Component selection Collaboration Process Support ools Engineering 1 Engineering

More information

Slides prepared by : Farzana Rahman. SUBVERSION A version control tool

Slides prepared by : Farzana Rahman. SUBVERSION A version control tool 1 SUBVERSION A version control tool OUTLINE What is subversion? Basic commands help Import Checkout what is.svn directory? update other commands status diff log links 2 WHAT IS SUBVERSION? Subversion is

More information

Version Control with. Ben Morgan

Version Control with. Ben Morgan Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove

More information

FEEG6002 - Applied Programming 3 - Version Control and Git II

FEEG6002 - Applied Programming 3 - Version Control and Git II FEEG6002 - Applied Programming 3 - Version Control and Git II Sam Sinayoko 2015-10-16 1 / 26 Outline Learning outcomes Working with a single repository (review) Working with multiple versions of a repository

More information

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

Why process models? Topic 3 Software process models. 3. Process models. What is a process model? Why process models? Topic 3 Software process models SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software... (IEEE Standard

More information

Announcement. SOFT1902 Software Development Tools. Today s Lecture. Version Control. Multiple iterations. What is Version Control

Announcement. SOFT1902 Software Development Tools. Today s Lecture. Version Control. Multiple iterations. What is Version Control SOFT1902 Software Development Tools Announcement SOFT1902 Quiz 1 in lecture NEXT WEEK School of Information Technologies 1 2 Today s Lecture Yes: we have evolved to the point of using tools Version Control

More information

Chapter 3 Managing the Information Systems (IS) Project

Chapter 3 Managing the Information Systems (IS) Project Content Chapter 3 Managing the Information Systems (IS) Project Process of managing IS projects Skills required to be an effective project manager Skills and activities of a project manager during project

More information

ScoMIS Encryption Service

ScoMIS Encryption Service Introduction This guide explains how to install the ScoMIS Encryption Service Software onto a laptop computer. There are three stages to the installation which should be completed in order. The installation

More information

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager Software Engineering for LabVIEW Applications Elijah Kerry LabVIEW Product Manager 1 Ensuring Software Quality and Reliability Goals 1. Deliver a working product 2. Prove it works right 3. Mitigate risk

More information

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

Efficient database auditing

Efficient database auditing Topicus Fincare Efficient database auditing And entity reversion Dennis Windhouwer Supervised by: Pim van den Broek, Jasper Laagland and Johan te Winkel 9 April 2014 SUMMARY Topicus wants their current

More information

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig dirk.muthig@iese.fraunhofer.de

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig dirk.muthig@iese.fraunhofer.de Trends in Embedded Software Development in Europe Dr. Dirk Muthig dirk.muthig@iese.fraunhofer.de Problems A software project exceeds the budget by 90% and the project time by 120% in average Project Management

More information

VAIL-Plant Asset Integrity Management System. Software Development Process

VAIL-Plant Asset Integrity Management System. Software Development Process VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15

More information

CONCORDIA UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING SOEN390 SOFTWARE ENGINEERING TEAM DEVELOPMENT PROJECT ITERATION 5

CONCORDIA UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING SOEN390 SOFTWARE ENGINEERING TEAM DEVELOPMENT PROJECT ITERATION 5 CONCORDIA UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING SOEN390 SOFTWARE ENGINEERING TEAM DEVELOPMENT PROJECT ITERATION 5 SOFTWARE ARCHITECTURE DOCUMENT Dr. O. Ormandjieva Winter 2012

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information