Research Software Group

Slides:



Advertisements
Similar presentations
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
Advertisements

User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
Managing Software Quality
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
Supplementary Specifications (Chapters 20,22 - Requirements Text) 1.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Software Architecture
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Quality Models in Software Engineering Literature: An Analytical and Comparative Study Rafa E. Al-Qutaish, PhD Al Ain University of Science and Technology.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Digital Libraries1 David Rashty. Digital Libraries2 “A library is an arsenal of liberty” Anonymous.
HND Computing Unit 8 Quality Management Prepared by S Hargrave
CSE 303 – Software Design and Architecture
SOFTWARE QUALITY CONTROL IN AN OO DEVELOPMENT PROCESS Ledis Chirinos & Francisca Losavio ISYS Center - LaTecS Laboratory SQUAD Workshop Budapest, June.
Chapter 2: Advanced programming concepts Part 3: The user interface Lecture 5 1.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Rekayasa Perangkat Lunak Part-6
CompSci 280 S Introduction to Software Development
Turing Machine Simulator
Software Carpentry Workshop University of Nebraska – Lincoln Holland Computing Center Instructors: Dr. Jingchao Zhang, Natasha Pavlovikj, Carrie Brown.
INTRODUCTION TO SOFTWARE ENGINEERING
16CS202 & Software Engineering
Macintosh & Linux Used to fill in pg 5 & 6 of “Operating Systems” Packet.
INTRODUCTION The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned.
Object Oriented Programming
Desktop Publishing Creech Notes
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
IS301 – Software Engineering Dept of Computer Information Systems
Chapter 17 - Component-based software engineering
Software testing
Pipeline Execution Environment
Software Engineering Development of procedures and systematic applications that are used on electronic machines. Software engineering incorporates various.
Software Quality Assurance
Usability engineering
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
Software Design and Architecture
Part 3 Design What does design mean in different fields?
A451 Theory – 7 Programming 7A, B - Algorithms.
Computational Chemistry Seminar
System Design Basics IB Computer Science.
User Interface Design Notes are from: Wilson, Software Design and Development The Preliminary Course. Cambridge Press. pp and Fowler,
مقدمه اي بر مهندسي نيازمنديها
Accidental and Essential Problems Excise Tasks
Rekayasa Perangkat Lunak
CSE 303 – Software Design and Architecture
Software engineering Lecturer: Nareena.
Introduction & Overview
Introduction to Software Testing
CS 425/625 Software Engineering Architectural Design
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Testing and Test-Driven Development CSC 4700 Software Engineering
Chapter 8 – Software Testing
Software Engineering with Reusable Components
Software Testing & Quality Management
The User Interface Design Process
Software Quality Assurance
CS310 Software Engineering Dr.Doaa Sami Khafaga
Chapter 17 - Component-based software engineering
Chapter 7 Software Testing.
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
How to Cite Your Sources
Presentation transcript:

Research Software Group Software as Research by Simon Hartley (IT Services) November 2018

Previous Projects Live Demo Intl. Journal of Temporal Deflective Behavior Vol. 4, No. 2030, pp.602, 2018 Copyright c 2008 J. Cham. All rights reserved

Sharing Software For Science: Why? Monya Baker, 1,500 scientists lift the lid on reproducibility Nature, 533(7604), 452, 2016 https://doi.org/10.1038/533452a

Sharing Software For Science Every Field Uses software to some degree or have a data pipeline.

Sharing Software For Science BEAR to the Rescue

Software as Research: quality the non-functional characteristics The subjective quality of a software system is largely based on its non-functional characteristics. This reflects practical user experience – if the software’s functionality is not what is expected, then users will often just work around this and find other ways to do what they want to do. However, if the software is unreliable or too slow, then it is practically impossible for them to achieve their goals. Has the software been properly tested? Is the software sufficiently dependable to be put into use? Is the performance of the software acceptable for normal use? Is the software usable? Is the software well-structured and understandable? Have programming and documentation standards been followed in the development process? 2. Ian Sommerville. 2010. Software Engineering (9th ed.). Addison-Wesley Publishing Company, , USA.

Software as Research: Software Quality attributes Safety Understandability Portability Security Testability Usability Reliability Adaptability Reusability Resilience Modularity Efficiency Robustness Complexity Learnability

Software as Research: Tools for Sharing Style Guides (PEP8,..etc) SVN GIT Continuous Integration Docker Virtual Machines Python Environments Vagrant

What Git Does COMMITS Should be Atomic Self contained Coherent Consistant No Compilation errors No Failed Tests Incremental Ordered Explanetary Documented - Add a message and online notes -

What Git Does Distribute Final Version (UP Stream)

Git GUI vs Shell GUI Shell Graphical User Interface Looks nice with buttons, boxes, and other components Shell Runs from command line Looks like a lot of text, and it can be easy to get lost or confused for beginners Essentially, a GUI is like typing in Microsoft Word, while a shell is like typing in Latex. You cannot control the layout like latex could but is easier to use. Both are useful, so it is good to know how to use both

What about Data? Tidy Data Principles Data Carpentry In R

DOI For Research Software

Questions Any Questions

References Wilson G, Aruliah DA, Brown CT, Chue Hong NP, Davis M, Guy RT, et al. (2014) Best Practices for Scientific Computing. PLoS Biol 12(1): e1001745. https://doi.org/10.1371/journal.pbio.1001745 2. Ian Sommerville. 2010. Software Engineering (9th ed.). Addison-Wesley Publishing Company, , USA. 3. Katz, D. (2014). Transitive credit as a means to address social and technological concerns stemming from citation and attribution of digital products. Journal of Open Research Software, 2(1), e20. Retrieved from https://doi.org/10.5334/jors.be 4. Wickham, H. 2014 Sep 12. Tidy Data. Journal of Statistical Software. [Online] 59:10 5. Jeff Leek, The Elements of Data Analytic Style, Leanpub, 2015-03-02