Unit 6 - Software Design and Development LESSON 8 QUALITY ASSURANCE
|
|
- Roland Hugh Dennis
- 6 years ago
- Views:
Transcription
1 Unit 6 - Software Design and Development LESSON 8 QUALITY ASSURANCE
2 Previously Key features of programming languages Software Development Lifecycle Design models Some software structures functions, procedures, classes and objects; abstraction of data; pre-defined code. Guess the number game
3 What is covered in this session More software structures readability e.g. comments, appropriate names for variables, indentation; quality of code e.g. efficiency, reliability, robustness, usability, portability, maintainability.
4 Code Readability part of the development process, adding comments doing code inspections can identify blocks of code which would benefit from being refactored.
5 Code Readability Analyst programmers usually work within guidelines set out in a standards manual including: adding comments to all code files using meaningful names for variables and procedures. the use of Hungarian notation or use of camel case. make it easier for another developer to understand the logic. reduces maintenance costs, a key requirement for any business. contributes to the quality of the code makes the code more efficient.
6 Hungarian notation Naming convention for identifiers the name of a variable or function indicates its type or intended use Systems Hungarian notation prefix=actual data type e.g. laccountnum (long integer) Apps Hungarian notation Logical data type e.g. strname (string of unknown data type) Language independent good practice Named for Charles Simonyi ("Simonyi Károly )
7 Refactoring restructuring (rearranging) code in a series of small, semantics-preserving transformations (i.e. the code keeps working) in order to make the code easier to maintain and modify. Refactoring is not just arbitrary restructuring Code must still work. Small steps only so the semantics are preserved (i.e. not a major re-write). Unit tests to prove the code still works
8 When to refactor Any time that there is a better way to do things. Better means making the code easier to understand and to modify in the future. can do so without breaking the code. Unit tests are essential for this. You should not refactor: Stable code that won t need to change. Someone else s code, unless the other person agrees to it or it belongs to you Not an issue in Agile Programming since code is communal.
9 Code Readability Code indentation shows the hierarchical structure of the code. Visual studio will auto indent your code as you develop the program.
10 Indentation Makes code easier to read! Might be essential to syntax (eg Python)
11 Comments What does this bit of code do? Remind the author Inform subsequent developers/maintainers Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live Quoted by Martin Golding 1994, original author unknown
12 Task 23 Using the OOP payroll (Wiki lesson 9): Add suitable comments to the code to improve the quality. Note any indentation Are the variables appropriately named using Hungarian notation or camelcase? Can you refactor any code? 30 mins
13 Quality The degree to which the software satisfies stated and implied requirements. Absence of system crashes. Correspondence between the software and the users expectations. Performance to specified requirements.
14 Quality Lack of Quality lowers production speed, increases maintenance costs can adversely affect business.
15 Quality Assurance Plan Should be in writing. Decide if a separate group should perform the quality assurance activities. Should include: defect tracking, unit testing, source-code tracking, technical reviews, integration testing system testing. structured walk throughs.
16 Quality Assurance Plan Defect tracing keeps track of: each defect found, its source, when it was detected, when it was resolved, how it was resolved, etc. Unit testing each individual module is tested. Source code tracing step through source code line by line. Technical reviews completed work is reviewed by peers. Integration testing -- exercise new code in combination with code that has already been integrated. System testing execution of the software for the purpose of finding defects.
17 Reliability Does the program run accurately and produce the expected results time after time? Autopilot on aircraft Windows safely-remove hardware function does not always work
18 Robustness What happens when users misuse the system? e.g. A user enters data which is out-of-range Does the system return an error message? Sorry you can t do that, try again. Does it crash? Does it return an invalid result?
19 Non-robust code (Java) int var1, var2, var3; var1 = ; var2 = ; var3 = var1 + var2; System.out.println("var3=" + var3); Adds 2 integers, result is also an integer (~3.1 billion) Max value for an integer is ~2.1 billion Java returns: var3= Code from Michael Horowitz, 2007:
20 Usability Is the programme intuitive? Are controls clearly labelled? Are they logically arranged? In order of use Grouped by function
21 Portability Applications/programs than can run on different platforms are said to be portable. Have written programs using Visual Basic.net What platforms are able to run these programs? any platform that can run Microsoft.net. Is VB.net portable then?
22 Portability Ideal is to develop in a language that can run on any platform. Java was designed from the start to be multiplatform, truly portable and this is one reason why it is very popular with developers. So why do we not all develop in Java? (see robust!) Top result on Google: Limitations of Java tml Last updated 06/04/1996
23 Maintainability Updates Bug fixes New features Helped by: Documentation Readability of code Comments Naming of variables Indentation
24 Code quality Task 24 Produce a slide for each of the following explaining what each term means in terms of design and programming code. 1. Reliability. 2. Robustness. 3. Usability. 4. Portability. 5. Maintainability.
25 Summary Code readability. Refactoring code. Quality assurance Code reliability.
26 Assignment 2: submit to Turnitin L3U06A2PeterPan2017 Prepare a presentation, using a given scenario to illustrate it, which will explain where software design and structures fit into the systems development lifecycle (determination of scope, requirements gathering and specification, design, code, test, maintain). Using the scenario identify structures that would be required (functions, procedures, classes and objects; abstraction of data; pre-defined code). Select which software development model (sequential or iterative) would be appropriate for this task and explain why. The scenario is taken from from The Oxford Brookes University asked Alberon to develop a web based system for competency assessment.
27 Assignment 2: submit to Turnitin L3U06A2PeterPan2017 Write an illustrated report of not more than 500 words to explain the importance of creating program code which is of high quality. Describe how the code quality can be improved. All the quality issues mentioned in the unit content (efficiency, reliability, robustness, usability, portability, maintainability) should be covered. The report should explain why the quality issues described may be important in a particular project. Examples of the methods for improving the quality of program code should be included. A table with appropriate headings might facilitate this description.
28 Assignment 2: submit to Turnitin L3U06A2PeterPan2017 Develop your report to discuss the ways in which a programmer can make codes easier to read. Include examples of the methods for improving the readability of program code (e.g. comments, appropriate names for variables and indentation). This additional section should be no more than a further 500 words. A simple description of how to make a program more easily readable is not sufficient. The issues involved, the benefits and drawbacks of each technique should be discussed, giving examples of actual code. Explain what problems may arise if the technique is not used.
Unit 6 - Software Design and Development LESSON 7 CODE STRUCTURES
Unit 6 - Software Design and Development LESSON 7 CODE STRUCTURES Previously Key features of programming languages Software Development Lifecycle Design models Iterative Prototyping Agile ASD, FDD, DSDM,
More informationUnit 6 - Software Design and Development LESSON 4 DATA TYPES
Unit 6 - Software Design and Development LESSON 4 DATA TYPES Previously Paradigms Choice of languages Key features of programming languages sequence; selection eg case, if then else; iteration eg repeat
More informationMONIKA HEINER.
LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25
More informationUnit 6 - Software Design and Development LESSON 1 INTRODUCTION
Unit 6 - Software Design and Development LESSON 1 INTRODUCTION What is covered in this session Introduction to unit and reference sources Schedule for assignments Introduction From this unit the learner
More information1. Introduction and overview
1. Introduction and overview 1.1 Purpose of this Document This document describes how we will test our code for robustness. It includes test cases and other methods of testing. 1.2 Scope of the Development
More informationUnit 6 - Software Design and Development LESSON 3 KEY FEATURES
Unit 6 - Software Design and Development LESSON 3 KEY FEATURES Last session 1. Language generations. 2. Reasons why languages are used by organisations. 1. Proprietary or open source. 2. Features and tools.
More informationSoftware Quality. Richard Harris
Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software
More informationUNIT II Requirements Analysis and Specification & Software Design
UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they
More informationIntroduction to Problem Solving and Programming in Python.
Introduction to Problem Solving and Programming in Python http://cis-linux1.temple.edu/~tuf80213/courses/temple/cis1051/ Overview Types of errors Testing methods Debugging in Python 2 Errors An error in
More informationage = 23 age = age + 1 data types Integers Floating-point numbers Strings Booleans loosely typed age = In my 20s
Intro to Python Python Getting increasingly more common Designed to have intuitive and lightweight syntax In this class, we will be using Python 3.x Python 2.x is still very popular, and the differences
More informationXP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg
XP: Planning, coding and testing Annika Silvervarg Practice Planning game Goal: schedule the most important tasks Which features to implement in what order Supports: simple design, acceptance testing,
More informationAnalysis of the Test Driven Development by Example
Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /
More informationVARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs.
Lesson 2 VARIABLES Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. WHAT ARE VARIABLES? When you input data (i.e. information) into a computer
More informationExperience-based Refactoring for Goal- oriented Software Quality Improvement
Experience-based Refactoring for Goal- oriented Software Quality Improvement International Workshop on Software Quality (SOQUA 2004) Erfurt,, Germany, September 30, 2004 Fraunhofer IESE Institut Experimentelles
More informationOutline. Introduction Concepts and terminology The case for static typing. Implementing a static type system Basic typing relations Adding context
Types 1 / 15 Outline Introduction Concepts and terminology The case for static typing Implementing a static type system Basic typing relations Adding context 2 / 15 Types and type errors Type: a set of
More informationCompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards
CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards Nevada Course Details: Course Name: Computer Science Primary Cluster: Information and Media Technologies Standards Course Code(s):
More informationUser Interface Programming OOP/Java Primer. Step 3 - documentation
User Interface Programming OOP/Java Primer Step 3 - documentation Department of Information Technology Uppsala University What is the documentation? Documentation about program in the program Clearly written
More informationHardware versus software
Logic 1 Hardware versus software 2 In hardware such as chip design or architecture, designs are usually proven to be correct using proof tools In software, a program is very rarely proved correct Why?
More informationSoftware Design COSC 4353/6353 D R. R A J S I N G H
Software Design COSC 4353/6353 D R. R A J S I N G H Week 5 Refactoring What is Refactoring? Code Smells Why Refactoring? Techniques IDEs What is Refactoring? Art of improving the design of existing code
More informationIntroduction to Programming: Variables and Objects. HORT Lecture 7 Instructor: Kranthi Varala
Introduction to Programming: Variables and Objects HORT 59000 Lecture 7 Instructor: Kranthi Varala What is a program? A set of instructions to the computer that perform a specified task in a specified
More informationHandout 9: Imperative Programs and State
06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative
More informationXP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1.
XP: Planning, coding and testing Annika Silvervarg Planning XP planning addresses two key questions in software development: predicting what will be accomplished by the due date determining what to do
More informationCHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS
CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS 1439-1440 1 Outline 1. Introduction 2. Why Python? 3. Compiler and Interpreter 4. The first program 5. Comments and Docstrings 6. Python Indentations
More informationScheme of work Cambridge International AS & A Level Computing (9691)
Scheme of work Cambridge International AS & A Level Computing (9691) Unit 2: Practical programming techniques Recommended prior knowledge Students beginning this course are not expected to have studied
More informationCOURSE 11 DESIGN PATTERNS
COURSE 11 DESIGN PATTERNS PREVIOUS COURSE J2EE Design Patterns CURRENT COURSE Refactoring Way refactoring Some refactoring examples SOFTWARE EVOLUTION Problem: You need to modify existing code extend/adapt/correct/
More informationQualities of software and its development
1 / 17 Qualities of software and its development Miaoqing Huang University of Arkansas Spring 2010 Representative qualities 2 / 17 Correctness Robustness Performance Usability Maintainability Portability
More informationSemantic Analysis Type Checking
Semantic Analysis Type Checking Maryam Siahbani CMPT 379 * Slides are modified version of Schwarz s compiler course at Stanford 4/8/2016 1 Type Checking Type errors arise when operations are performed
More informationIntroduction to: Computers & Programming: Review prior to 1 st Midterm
Introduction to: Computers & Programming: Review prior to 1 st Midterm Adam Meyers New York University Summary Some Procedural Matters Summary of what you need to Know For the Test and To Go Further in
More informationTuesday, November 15. Testing
Tuesday, November 15 1 Testing Testing Waterfall model show testing as an activity or box In practice, testing is performed constantly There has never been a project where there was too much testing. Products
More informationAll the subjective part of 2011 papers solved complete reference numbers
1 All current papers 2011 Solved papers (eagle_eye) CS504 Current data final term paper 15 FEB All the subjective part of 2011 papers solved complete reference numbers 1) Describe the the concept of cyclomatic
More informationBusiness Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)
Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) COURSE STRUCTURE Introduction to Business Analysis Module 1 Needs Assessment Module 2 Business Analysis Planning Module
More informationCrash Course in Python
Crash Course in Python Niharika Sravan and GionMatthias Schelbert Purpose Since 2003, Python has ranked in the top ten most popular programming languages as measured by the TIOBE Programming Community
More informationMore Examples /
More Examples 02-201 / 02-601 Debugging How to Debug Debugging is solving a murder mystery: you see the evidence of some failure & you try to figure out what part of the code caused it. It s based on backward
More informationAgile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?
Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Software quality and Object Oriented Principles
Ingegneria del Software Corso di Laurea in Informatica per il Management Software quality and Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal
More informationProgramming in the Real World. Dr. Baldassano Yu s Elite Education
Programming in the Real World Dr. Baldassano chrisb@princeton.edu Yu s Elite Education Our programs are getting bigger! Our game was already over 100 lines long - most programs are worked on by teams of
More informationIntroduction to Programming
Introduction to Programming Computers and Programs Python Programming, 1/e 1 The Universal Machine What is a computer program? A detailed, step-by-step set of instructions telling a computer what to do.
More informationIT Web and Software Developer Software Development Standards
IT Web and Software Developer Software Development Standards Definition of terms Identifier An identifier is the name you give variables, methods, classes, packages, interfaces and named constants. Pascal
More informationA Tutorial on Agent Based Software Engineering
A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on Agent Based Software Engineering Qun Zhou December, 2002 Abstract Agent oriented software
More informationYour First Ruby Script
Learn Ruby in 50 pages Your First Ruby Script Step-By-Step Martin Miliauskas @mmiliauskas 1 Your First Ruby Script, Step-By-Step By Martin Miliauskas Published in 2013 by Martin Miliauskas On the web:
More informationint n = 10; int sum = 10; while (n > 1) { sum = sum + n; n--; } cout << "The sum of the integers 1 to 10 is " << sum << endl;
Debugging Some have said that any monkey can write a program the hard part is debugging it. While this is somewhat oversimplifying the difficult process of writing a program, it is sometimes more time
More informationOutline. Parts 1 to 3 introduce and sketch out the ideas of OOP. Part 5 deals with these ideas in closer detail.
OOP in Java 1 Outline 1. Getting started, primitive data types and control structures 2. Classes and objects 3. Extending classes 4. Using some standard packages 5. OOP revisited Parts 1 to 3 introduce
More informationDSC 201: Data Analysis & Visualization
DSC 201: Data Analysis & Visualization Python and Notebooks Dr. David Koop Computer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectively.
More informationIntroduction to Python Code Quality
Introduction to Python Code Quality Clarity and readability are important (easter egg: type import this at the Python prompt), as well as extensibility, meaning code that can be easily enhanced and extended.
More informationExamination Questions Time allowed: 1 hour 15 minutes
Swedish Software Testing Board (SSTB) International Software Testing Qualifications Board (ISTQB) Foundation Certificate in Software Testing Practice Exam Examination Questions 2011-10-10 Time allowed:
More informationProgramming Language Basics
Programming Language Basics Lecture Outline & Notes Overview 1. History & Background 2. Basic Program structure a. How an operating system runs a program i. Machine code ii. OS- specific commands to setup
More informationScripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME
Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Felix Meyenhofer Technology Development Studio 3. March 2011 4th KNIME Users Group Meeting and Workshop
More informationTesting. Topics. Types of Testing. Types of Testing
Topics 1) What are common types of testing? a) Testing like a user: through the UI. b) Testing like a dev: through the code. 2) What makes a good bug report? 3) How can we write code to test code (via
More informationProgram Correctness and Efficiency. Chapter 2
Program Correctness and Efficiency Chapter 2 Chapter Objectives To understand the differences between the three categories of program errors To understand the effect of an uncaught exception and why you
More informationCPS122 Lecture: From Python to Java last revised January 4, Objectives:
Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.
More informationA Tutorial for ECE 175
Debugging in Microsoft Visual Studio 2010 A Tutorial for ECE 175 1. Introduction Debugging refers to the process of discovering defects (bugs) in software and correcting them. This process is invoked when
More informationChapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science
Chapter 9 Introduction to High-Level Language Programming INVITATION TO Computer Science 1 Objectives After studying this chapter, students will be able to: Explain the advantages of high-level programming
More informationMobile Development Workshop DAY 2: INTRODUCTION TO JAVA
Mobile Development Workshop DAY 2: INTRODUCTION TO JAVA Overview Morning session For loops Strings and collections Graphical User Interfaces Recap Last time we covered Java the programming language and
More informationProgramming for Engineers in Python. Recitation 1
Programming for Engineers in Python Recitation 1 Plan Administration: Course site Homework submission guidelines Working environment Python: Variables Editor vs. shell Homework 0 Python Cont. Conditional
More informationJava Programming Style Guide
Java Programming Style Guide Computer Science Program Cedarville University Goal: Our goal is to produce well-written code that can be easily understood and will facilitate life-cycle maintenance. These
More informationProgramming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102
Programming Languages and Program Development Life Cycle Fall 2016 Introduction to Information and Communication Technologies CSD 102 Outline The most common approaches to program design and development
More informationPYTHON TRAINING COURSE CONTENT
SECTION 1: INTRODUCTION What s python? Why do people use python? Some quotable quotes A python history lesson Advocacy news What s python good for? What s python not good for? The compulsory features list
More informationZend Studio 3.0. Quick Start Guide
Zend Studio 3.0 This walks you through the Zend Studio 3.0 major features, helping you to get a general knowledge on the most important capabilities of the application. A more complete Information Center
More informationExtreme programming XP 6
Extreme programming XP 6 Planning Game 3 Planning Game Independent: Stories should be as independent as possible. When thinking of independence it is often easier to think of order independent. In other
More informationTest-driven development
Test-driven development And how we do it at WIX Mantas Indrašius Software Engineer WIX.COM Agenda Tests overview Test-driven development (TDD) The Bowling Game demo Kickstarting a project using TDD How
More informationRefactoring. Paul Jackson. School of Informatics University of Edinburgh
Refactoring Paul Jackson School of Informatics University of Edinburgh Refactoring definition Refactoring (noun) is a change made to the internal structure of software to make it easier to understand,
More informationPRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS
Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the
More informationSoftware Testing for Developer Development Testing. Duvan Luong, Ph.D. Operational Excellence Networks
Software Testing for Developer Development Testing Duvan Luong, Ph.D. Operational Excellence Networks Contents R&D Testing Approaches Static Analysis White Box Testing Black Box Testing 4/2/2012 2 Development
More informationInstructor: SIR MUHAMMAD NAVEED Created by: ARSLAN AHMED SHAAD ( ) MUHAMMAD BILAL ( ) ISIT:
Instructor: SIR MUHAMMAD NAVEED Created by: ARSLAN AHMED SHAAD ( 1163135 ) MUHAMMAD BILAL (1163122 ) ISIT:www.techo786.wordpress.com CHAPTER: 3 NOTE: CONTROL STATEMENTS Question s Given below are Long
More informationASTQB Advance Test Analyst Sample Exam Answer Key and Rationale
ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale Total number points = 120 points Total number points to pass = 78 points Question Answer Explanation / Rationale Learning 1 A A is correct.
More informationCPSC 427: Object-Oriented Programming
CPSC 427: Object-Oriented Programming Michael J. Fischer Lecture 1 August 31, 2016 CPSC 427, Lecture 1 1/30 About This Course Topics to be Covered Kinds of Programming Why C++? C++ Programming Standards
More informationCOP 1220 Introduction to Programming in C++ Course Justification
Course Justification This course is a required first programming C++ course in the following degrees: Associate of Arts in Computer Science, Associate in Science: Computer Programming and Analysis; Game
More informationUnit 6 - Software Design and Development LESSON 3 KEY FEATURES
Unit 6 - Software Design and Development LESSON 3 KEY FEATURES Last session 1. Language generations. 2. Reasons why languages are used by organisations. 1. Proprietary or open source. 2. Features and tools.
More informationSoftware Testing. Overview
Software Testing Overview Software is NOT simply programming! Complex development process required Domain of Software Engineering Top Down software development popular The WaterFall model... November 28,
More informationIntro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming
Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals
More informationSample Exam Syllabus
ISTQB Foundation Level 2011 Syllabus Version 2.9 Release Date: December 16th, 2017. Version.2.9 Page 1 of 46 Dec 16th, 2017 Copyright 2017 (hereinafter called ISTQB ). All rights reserved. The authors
More informationText Input and Conditionals
Text Input and Conditionals Text Input Many programs allow the user to enter information, like a username and password. Python makes taking input from the user seamless with a single line of code: input()
More informationCS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L
CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction At this point, you are ready to beginning programming at a lower level How do you actually write your
More informationICOM 4015 Advanced Programming Laboratory. Chapter 1 Introduction to Eclipse, Java and JUnit
ICOM 4015 Advanced Programming Laboratory Chapter 1 Introduction to Eclipse, Java and JUnit University of Puerto Rico Electrical and Computer Engineering Department by Juan E. Surís 1 Introduction This
More informationLecture 15 Software Testing
Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered
More informationLightweight Verification of Array Indexing
Lightweight Verification of Array Indexing Martin Kellogg*, Vlastimil Dort**, Suzanne Millstein*, Michael D. Ernst* * University of Washington, Seattle ** Charles University, Prague The problem: unsafe
More informationUnit Testing as Hypothesis Testing
Unit Testing as Hypothesis Testing Jonathan Clark September 19, 2012 You should test your code. Why? To find bugs. Even for seasoned programmers, bugs are an inevitable reality. Today, we ll take an unconventional
More informationExample Algorithms. CSE 2320 Algorithms and Data Structures Alexandra Stefan. University of Texas at Arlington. Last updated 9/7/2016
Example Algorithms CSE 2320 Algorithms and Data Structures Alexandra Stefan University of Texas at Arlington Last updated 9/7/2016 1 Summary Binary Search See the notation conventions (e.g. log 2 N = lg
More informationCMSC 201 Fall 2018 Python Coding Standards
CMSC 201 Fall 2018 Python Coding Standards The purpose of these coding standards is to make programs readable and maintainable. In the real world you may need to update your own code more than 6 months
More informationPROGRAM READABILITY. A program's readability readability, which is a measure of how
PROGRAM READABILITY A convention is a group of agreed to or generally accepted rules. A programming convention is one that a seasoned programmer follows when writing his or her code. There s no quicker
More informationMarketplace Simulations Accessibility Conformance Report Based on Voluntary Product Accessibility Template (VPAT ) 1
Marketplace Simulations Accessibility Conformance Report Based on Voluntary Product Accessibility Template (VPAT ) 1 Name of Product: Marketplace Simulations Date: September 20, 2017 Contact information:
More informationLecture 7: Software Processes. Refresher: Software Always Evolves
Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)
More informationChapter 5. Software Tools
Chapter 5 Software Tools 1 Introduction The demands of modern life require user-interface architects to build reliable, standard, safe, inexpensive, effective, and widely acceptable user interfaces on
More informationWeek - 01 Lecture - 04 Downloading and installing Python
Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and
More informationLevel 3 Computing Year 2 Lecturer: Phil Smith
Level 3 Computing Year 2 Lecturer: Phil Smith Previously We learnt what a computer program does. What a procedural program does. What a procedure is. We had a first look at IDLE. Now Learning Outcomes
More information1. In waterfall model, output of one phase is input to next phase. True or false.
1. In waterfall model, output of one phase is input to next phase. True or false. a) True b) False ANSWER: a) True Comment: The output of requirement gathering is creation of URS (User requirement specification)
More informationAlgorithms in Systems Engineering IE172. Midterm Review. Dr. Ted Ralphs
Algorithms in Systems Engineering IE172 Midterm Review Dr. Ted Ralphs IE172 Midterm Review 1 Textbook Sections Covered on Midterm Chapters 1-5 IE172 Review: Algorithms and Programming 2 Introduction to
More informationCPS122 Lecture: From Python to Java
Objectives: CPS122 Lecture: From Python to Java last revised January 7, 2013 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.
More information9691 COMPUTING. 9691/23 Paper 2 (Written Paper), maximum raw mark 75
CAMBRIDGE INTERNATIONAL EXAMINATIONS Cambridge International Advanced Subsidiary and Advanced Level MARK SCHEME for the May/June 2015 series 9691 COMPUTING 9691/23 Paper 2 (Written Paper), maximum raw
More informationExpert Test Manager: Operational Module Course Outline
Expert Test Manager: Operational Module Course Outline General Description A truly successful test organization not only has solid, relevant test objectives and a test strategy, but it also has the means
More informationSystems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development
More information[Sample] Quality Report: <<project>>
Client: Document no: Author: XYZ-001-D01-A Byran Wills-Heath [Sample] Overall Score Habitability Scalability Reliability BLUEFRUIT is a Registered Trade Mark of Absolute Software Ltd Registered
More informationConnecting with Computer Science, 2e. Chapter 15 Programming II
Connecting with Computer Science, 2e Chapter 15 Programming II Objectives In this chapter you will: Gain an understanding of the basics of high-level programming languages, using Java and C++ as examples
More informationLinked List Nodes (reminder)
Outline linked lists reminders: nodes, implementation, invariants circular linked list doubly-linked lists iterators the Java foreach statement iterator implementation the ListIterator interface Linked
More informationWinter 2019 CISC101 1/17/2019
CISC101 Reminders Today TA emails are listed on the Labs page of the course web site. More assignments are posted. Commanding the CPU the use of a Stack. Computer Languages History of Python. Features
More informationCurriculum Map Grade(s): Subject: AP Computer Science
Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History
More informationCIS220 In Class/Lab 1: Due Sunday night at midnight. Submit all files through Canvas (25 pts)
CIS220 In Class/Lab 1: Due Sunday night at midnight. Submit all files through Canvas (25 pts) Problem 0: Install Eclipse + CDT (or, as an alternative, Netbeans). Follow the instructions on my web site.
More information1. WHAT AREAS OF LEARNING DOES THIS ASSESSMENT ADDRESS? 2. WHY IS THE COMPLETION OF THIS ASSESSMENT IMPORTANT?
12 SDD Task 1: RAD Programming Group Task Due Date: 1/12/2017 Date Distributed: 31/10/2017 Task Weighting: 15% Outcomes H4.2 applies appropriate development methods to solve software problems H5.1 applies
More informationSome good development practices (not only in NLP)
Some good development practices (not only in NLP) Zdeněk Žabokrtský, Jan Štěpánek Contents: - testing - bug reporting - benchmarking - profiling - code reviewing Testing AHHHHHHH!!!! NOT TESTING! Anything
More informationIntro. Scheme Basics. scm> 5 5. scm>
Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if
More information