TEST DRIVEN DEVELOPMENT VS DESIGN BY CONTRACT
|
|
- Lily Page
- 5 years ago
- Views:
Transcription
1 TEST DRIVEN DEVELOPMENT VS DESIGN BY CONTRACT prof. Carlo Bellettini
2 Perhaps it is not a so silly question...
3 SUMMARY Simple presentation of Demo of The comparison between e
4 make the code simpler, nice to see, you have to be proud of your code :-D MANTRA
5 SOME INFO the name is misleading some one suggested to use Instead of Test Driven Development someone suggested to call it Behavioral Driven Development The main goal is a design goal... not a verification goal There are complex interaction with other extreme Programming practices
6 REFACTORING another way to exercise is to use some calisthenics rule... The code is simple enough when it: 0. Runs all the tests 1. Expresses every idea that we need to express 2. Contains no duplication 3. Has the minimum number of classes and functions (In this order)
7 HOW TO CHECK IT? The classical suggested way is: exercise yourself with a Kata
8 BOWLING KATA The game consists of 10 frames as shown above. In each frame the player has two opportunities to knock down 10 pins. The score for the frame is the total number of pins knocked down, plus bonuses for strikes and spares. A spare is when the player knocks down all 10 pins in two tries. The bonus for that frame is the number of pins knocked down by the next roll. So in frame 3 above, the score is 10 (the total number knocked down) plus a bonus of 5 (the number of pins knocked down on the next roll.) A strike is when the player knocks down all 10 pins on his first try. The bonus for that frame is the value of the next two balls rolled. In the tenth frame a player who rolls a spare or strike is allowed to roll the extra balls to complete the frame. However no more than three balls can be rolled in tenth frame.
9 LET S START THE DEMO
10 GENERAL MISUNDERSTANDINGS (IN COMPARISON TOO) but we saw in the previous lessons that this is not the intention of Meyer... it was the childhood approach is often viewed as using assertion or defensive programming, i.e., testing the contract at run-time When you write code the way, you get the code and its unit-tests at the same time
11 SOME COMMON POINTS the compiler help us to check for syntax & semantics of the language, and by type checking with syntax of the application. e try yo give an help in checking the semantics of the application It s all about specifying the desired behavior and using some sort of automation to check that the specification is being satisfied Both concepts want to improve software quality by providing a set of conceptual building blocks that allow you to prevent bugs before making them. DbC and are about code-based specification
12 DESIGN AS A SIDE EFFECT Moreover contracts lead to components with very few dependencies (promoting the SRP) since it s difficult to write contracts for components with many responsibilities. drives the API design as you go with your tests. [...] This kind of specification is functional and example-driven
13 AND TESTING
14 AND TESTING is not testing it is a design technique
15 AND TESTING is not testing it is a design technique is bad testing the common argument used to demonstrate it is to say that it does guarantee no coverage criteria
16 AND TESTING is not testing it is a design technique is bad testing the common argument used to demonstrate it is to say that it does guarantee no coverage criteria What kind of testing is? black-box or white-box?
17 WHAT IS EASIER? In my mind is more "inductive". You start with examples (test cases) and your code embodies the general solution to those examples. seems more "deductive", after gathering requirements you determine object behavior and contracts. You then code the specific implementation of those contracts. Writing contracts is somewhat difficult, more so than tests that are concrete examples of behavior, this may be part of the reason is more popular than. [ is easier to write and to maintain because no special test cases need to be specified, just conditions for method parameters, expected results and state invariant that must be preserved [
18 I think there is overlap between DbC and, however, I don't think there is duplicated work: introducing DbC will probably result in a reduction of test cases. Let me explain. In, tests aren't really tests. They are behavioral specifications. However, they are also design tools: by writing the test first, you use the external API of your object under test that you haven't actually written yet in the same way that a user would. That way, you design the API in a way that makes sense to a user, and not in the way that makes it easiest for you to implement. Something like queue.full? instead of queue.num_entries == queue.size. This second part cannot be replaced by Contracts. The first part can be partially replaced by contracts, at least for unit tests. tests serve as specifications of behavior, both to other developers (unit tests) and domain experts (acceptance tests). Contracts also specify behavior, to other developers, to domain experts, but also to the compiler and the runtime library. But contracts have fixed granularity: you have method pre- and postconditions, object invariants, module contracts and so on. Maybe loop variants and invariants. Unit tests however, test units of behavior. Those might be smaller than a method or consist of multiple methods. That's not something you can do with contracts. And for the "big picture" you still need integration tests, functional tests and acceptance tests. And there is another important part of that DbC doesn't cover: the middle D. In, tests drive your development process: you never write a single line of implementation code unless you have a failing test, you never write a single line of test code unless your tests all pass, you only write the minimal amount of implementation code to make the tests pass, you only write the minimal amount of test code to produce a failing test. In conclusion: use tests to design the "flow", the "feel" of the API. Use contracts to design the, well, contract of the API. Use tests to provide the "rhythm" for the development process. Something like this: 1. Write an acceptance test for a feature 2. Write a unit test for a unit that implements a part of that feature 3. Using the method signature you designed in step 2, write the method prototype 4. Add the postcondition 5. Add the precondition 6. Implement the method body 7. If the acceptance test passes, goto 1, otherwise goto 2 If you want to know what Bertrand Meyer, the inventor of Design by Contract, thinks about combining and DbC, there is a nice paper by his group, called Contract-Driven Design = Test-Driven Development - Writing Test Cases. The basic premise is that contracts provide an abstract representation of all possible cases, whereas test cases only test specific cases. Therefore, a suitable test harness can be automatically generated from the contracts.
19 HOW TO ADD CONTRACTS Contracts extend the definition of a code element, but how? language level (Eiffel) execution framework level (Code Contract in.net) library level annotation in java (c4j) aspect orientation (Contract4J)
20 The first big problem putting down this lesson has been that I did find no dilbert s comics on the argument... problems with real world contracts and in the software world so, this is not referring to design by contract, but with real world2 contracts, but I think that the metaphor could be used in both ways... so... the long time and effort due in understanding and writing a usefull and approved contract is a problem in dbc approach too
21 REFERENCES the two links that express better my ideas code-contracts/comparison-of-dbc-and-tdd-part-1 interesting exposition
22 PROBABLY INTERESTING READING... Contract Driven Development =Test Driven Development Writing Test Cases [
23
24
25
26
27 Design?
28 Design?
29 Design?
30
31
32
33 Formal verification?
34 Formal verification?
35 Formal verification?
36 Formal verification? Support for evolution of the software?
37 Formal verification? Support for evolution of the software?
38 Formal verification? Support for evolution of the software?
39 Formal verification? Support for evolution of the software? - short iteration, continuos integration?
40 Formal verification? Support for evolution of the software? - short iteration, continuos integration?
41 Formal verification? Support for evolution of the software? - short iteration, continuos integration?
42 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change?
43 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change?
44 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change?
45 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance?
46 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance?
47 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance?
48 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers
49 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers
50 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers
51 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
52 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
53 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
54 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
55 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
56 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
57 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
58 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
59 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
60 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
61 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
62 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
63 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
64 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
65 Formal verification? Support for evolution of the software? - short iteration, continuos integration? - design for change? - inheritance? comunication towards developers comunication towards compiler
66 TOGETHER? This is a common results for example in comparison different verification techniques. METTERE FIGURA TESTING, INSPECTION... Redundancy If there is no inclusion relation, it makes sense to use both.
216 SENG%403% %Software%Development%in%Teams%&%Organizations. Benefits
Software%Development%in%Teams%&%Organizations Test>Driven%Design% (Development) Test>Driven%Development A%development%technique%wherein%you%test%your% code%before%you%even%write%it. Three%Laws%of%TDD:
More informationSoftware engineering Facts. CSC Compiler Construction Software Engineering Topics. What is software engineering? What is software?
Software engineering Facts CSC 4181 - Compiler Construction Software Engineering Topics Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software
More informationAgile Manifesto & XP
Agile Manifesto & XP Chapter 3.1-3.3 CMPT 276 Dr. B. Fraser Based on slides from Software Engineering 9 th ed, Sommerville. Slides 8 18-06-10 1 Topics 1) What is Agile trying to do? 2) How to choose plan-driven
More informationImplementation & Testing Plan. CS 307: Software Engineering Pascal Meunier
Implementation & Testing Plan CS 307: Software Engineering Pascal Meunier Why An Implementation Plan If you don't think about how you're going to do it, it's likely going to be: Haphazard Unmanageable
More informationAgile Manifesto Principles
Agile Manifesto Principles Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes
More informationA Brief Tour of Responsibility- Driven Design in Rebecca Wirfs-Brock
A Brief Tour of Responsibility- Driven Design in 2004 Rebecca Wirfs-Brock rebecca@wirfs-brock.com 1 What Is Responsibility-Driven Design? A way to design software that emphasizes behavioral modeling of
More informationMike Vincent. mvasoftware.net
Scrum and ALM Coach Over 30 years as software developer and architect Marketing director, construction project manager and structural engineer previously Microsoft MVP - Visual Studio ALM Professional
More informationAgile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development
Agile Software Development T-110.6130 Systems Engineering in Data Communications Software P, Aalto University Agile software development Structured and disciplined, fast-paced Iterative and Incremental
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 Friday 30 th September 2016 - Morning Answer any THREE questions
More informationWelcome to this IBM podcast, Agile in the. Enterprise: Yes You Can. I'm Kimberly Gist with IBM. If
IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Agile in the Enterprise: Yes You Can. I'm Kimberly Gist with IBM. If you love the idea of applying Agile practices in your large enterprise but think
More informationSystematic Testing#1. (adapted from lecture notes of the CSCI 3060U - Software Quality Assurance unit, J.S. Bradbury, J.R.
Systematic Testing#1 (adapted from lecture notes of the CSCI 3060U - Software Quality Assurance unit, J.S. Bradbury, J.R. Cordy, 2018) Nuno Pombo, Qualidade de Software, 2018/19 1 2 Introduction to Systematic
More informationHUMAN RELATIONS: A JOB ORIENTED APPROACH BY ANDREW J. DUBRIN DOWNLOAD EBOOK : HUMAN RELATIONS: A JOB ORIENTED APPROACH BY ANDREW J.
HUMAN RELATIONS: A JOB ORIENTED APPROACH BY ANDREW J. DUBRIN DOWNLOAD EBOOK : HUMAN RELATIONS: A JOB ORIENTED APPROACH BY Click link bellow and free register to download ebook: HUMAN RELATIONS: A JOB ORIENTED
More informationImplementation Methodology
Implementation Methodology Contents Introduction Challenges in large implementation projects 3 What we suggest to solve it? 3 How is it different? 3 Methodology Key concepts 4 Phases 6 Business Need Analysis
More informationWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile Projects Rebecca Wirfs-Brock rebecca@wirfs-brock.com Twitter: @rebeccawb www.wirfs-brock.com 2015 Wirfs-Brock Associates Three Questions??? What is the
More informationRequirements Verification and Validation
SEG3101 (Fall 2010) Requirements Verification and Validation SE502: Software Requirements Engineering 1 Table of Contents Introduction to Requirements Verification and Validation Requirements Verification
More informationFormal Techniques in Large-Scale Software Engineering
Formal Techniques in Large-Scale Software Engineering Mathai Joseph Tata Research Development and Design Centre Tata Consultancy Services 54B Hadapsar Industrial Estate Pune 411 013 India Draft of Paper
More informationHOW YOUR CAREER BACKGROUND CAN HELP YOU BECOME A BUSINESS ANALYST
By Laura Brandenburg Lesson Objective: After completing this lesson, you ll be able to identify strengths from your career background that will directly support your transition into business analysis.
More informationBugs are costly... Kinds of Quality Assurance
Bugs are costly... 1. Types of bugs (What type of bugs have you had in the past?) a. Race conditions and deadlocks b. Library misuse c. Logical errors (off by one, null, buffer overflow) d. Usability e.
More informationWelcome to this IBM podcast. What is product. line engineering? I'm Angelique Matheny with IBM. It's not
IBM Podcast [ MUSIC ] MATHENY: Welcome to this IBM podcast. What is product line engineering? I'm Angelique Matheny with IBM. It's not easy to build a smarter product. Now try to build more than one at
More informationSoftware Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur.
Software Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 14 Scrum Welcome to this lecture. Till now we had looked at some introductory
More informationRequirements Analysis. Overview
Requirements Analysis Overview What is requirement? Classification of requirements Iterative and evolutionary requirements analysis Use Cases Domain models N. Meng, B. Ryder 2 1 Requirements Definition
More informationV Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects
Lifecycle of Software Projects ECE450 Software Engineering II Lifecycle models are useful to compare project management strategies in abstract terms Birds-eye view strategy Detect strengths and weaknesses...
More informationBest Practices for Creating an Open Source Policy. Why Do You Need an Open Source Software Policy? The Process of Writing an Open Source Policy
Current Articles RSS Feed 866-399-6736 Best Practices for Creating an Open Source Policy Posted by Stormy Peters on Wed, Feb 25, 2009 Most companies using open source software know they need an open source
More informationProject Planning & Control Prof. Koshy Varghese Department of Civil Engineering Indian Institute of Technology, Madras
Project Planning & Control Prof. Koshy Varghese Department of Civil Engineering Indian Institute of Technology, Madras Lecture 10 Lesson 04 Gantt / Bar Chart History, Representation Progress Monitoring,
More informationQm 2 A community of consultants helping museums and cultural nonprofits Getting Results
By John Durel A plan without execution will not succeed. A solution without implementation will not solve the problem. A business that produces nothing of value will not be in business for long. A nonprofit
More informationSoftware Engineering Part 2
CS 0901341 Software Engineering Part 2 In this part, we look at 2.1 Software Process 2.2 Software Process Models 2.3 Tools and Techniques for Processing Modelling As we saw in the previous part, the concept
More informationPart 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?
Software engineering Facts CSC 4181 Compiler Construction Software Engineering Lectures Part 1 Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software
More informationRequirements elicitation: Finding the Voice of the Customer
Requirements elicitation: Finding the Voice of the Customer Establishing customer requirements for a software system Identify sources of user requirements on your project Identify different classes of
More informationObject-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design
Object-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design Aron Trauring T++ Technical Skills Training Program CUNY Institute for Software Design & Development (CISDD) New York Software
More informationSoftware Evolution. Software Evolution. in the textbook. Importance of evolution. Overview of software evolution. 1. Introduction
Software Evolution in the textbook Software Evolution!! Chapter 9 (abridged) 1. Introduction Importance and overview 2. Evolution processes (9.1) Change processes for software systems. 3. Software maintenance
More informationExtreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models 1.Determine objectives Cumulative cost Progress
More informationThe Ultimate Guide to B2B Customer Support
TeamSupport The Ultimate Guide to B2B Customer Support Hint: It's not the same as B2C! Table of Contents 1. How is B2B Customer Support Different from B2C? 2. The B2B Customer Service Evolution: From Money
More informationSOFTWARE DEVELOPMENT. Process, Models, Methods, Diagrams Software Development Life Cyles. Part - V
SOFTWARE DEVELOPMENT Process, Models, Methods, Diagrams Software Development Life Cyles Part - V Extreme Programming (XP) was conceived and developed by Kent Beck to address the specific needs of software
More informationDilbert Management tips Scott Adams
Dilbert Management tips Scott Adams 1 Dilbert Management tips Scott Adams 2 Dilbert Management tips Scott Adams 3 Dilbert Management tips Scott Adams 4 Dilbert Management tips Scott Adams 5 Dilbert Management
More informationEXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999.
XP XP extreme programming (slides partially from Andrew Black, Ras Bodik, and Dan Klawitter s letures) EXtreme Programming explained: embrace change by Kent Beck, Addison Wesley, September 1999. What is
More informationWebsite Content Creation Worksheet
Worksheet: Website Content Creation Let's face it. Coming up with website content can be a daunting task to tackle. Many times it's not that you don't know what to say, it's that you aren't sure exactly
More informationWhite Paper: Executive Search Firm How to Engage and Utilise Them Successfully. By Simon Fransca Khan of Leading Headhunters Hunter & Chase
White Paper: Executive Search Firm How to Engage and Utilise Them Successfully. By Simon Fransca Khan of Leading Headhunters Hunter & Chase Introduction Engaging an Executive Search firm or a Headhunter
More informationRequirements Engineering with Use Cases
Requirements Engineering with Use Cases Csaba Veres Outline What are use cases? What do they tell us? How can you write them (properly)? What is a use case? A use case specifies the behavior of a system
More informationContract Interpretation The grievance alleges that a provision of the contract, other than the just cause provision, was violated.
HANDLING GRIEVANCES 1. What is a Grievance? Grievances are defined under the contract. Be sure to know your timelines for filing a grievance and moving the grievance to the next step, if necessary. Generally,
More informationEstablishing a National Computer Security Incident Response Team (CSIRT) Transcript
Establishing a National Computer Security Incident Response Team (CSIRT) Transcript Part 1: The Role of a National CSIRT Julia Allen: Welcome to CERT's Podcast Series: Security for Business Leaders. The
More informationAgile Methods. Course "Softwareprozesse" Lutz Prechelt Freie Universität Berlin, Institut für Informatik
Course "Softwareprozesse" Agile Methods Lutz Prechelt Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Goals and priorities in SW development Principles of agile
More information"DEALING WITH THE MEDIA IN EMERGENCY SITUATIONS"
PRESENTER'S GUIDE "DEALING WITH THE MEDIA IN EMERGENCY SITUATIONS" Training for the OSHA HAZARDOUS WASTE OPERATIONS and EMERGENCY RESPONSE (HAZWOPER) REGULATION Quality Safety and Health Products, for
More informationdeveloper.* The Independent Magazine for Software Professionals Automating Software Development Processes by Tim Kitchens
developer.* The Independent Magazine for Software Professionals Automating Software Development Processes by Tim Kitchens Automating repetitive procedures can provide real value to software development
More informationScrum - Introduction. Petri Heiramo. Agile Coach, CST
Scrum - Introduction Petri Heiramo Agile Coach, CST Scrum Started in the Harvard BR. The relay race approach to product development may conflict with the goals of maximum speed and flexibility. Instead
More informationCS 5704: Software Engineering
CS 5704: Software Engineering Agile Methodologies Dr. Pardha S. Pyla 1 1 What is wrong with this? System requirements Software requirements Analysis Program design 1. Rigid/heavy weight process 2. Too
More informationThe slightest perception of something negative happening can affect an employee s emotional state.
Employee feedback is the core of personal and professional growth. Feedback can help an employee get better at what they do, and surprisingly employees crave feedback. Most managers don t provide enough
More informationAgile Test Plan How to Construct an Agile Test Plan
Agile Test Plan How to Construct an Agile Test Plan XBOSoft White Paper How to Construct an Agile Test Plan www.xbosoft.com 2 Agile is changing not only the way we develop software but the way we work
More informationChapter 6: Software Evolution and Reengineering
Chapter 6: Software Evolution and Reengineering Harald Gall Software Engineering Group www.ifi.unizh.ch/swe/ Universität Zürich Institut für Informatik Ian Sommerville 2004 Software Engineering, 7th edition.
More informationIn-House Solution Stack Hack How to create perfect-fit custom solutions that transcend quick fix hacks and become truly scalable
Surviving the Marshall DenHartog President DPS Telecom In-House Solution Stack Hack How to create perfect-fit custom solutions that transcend quick fix hacks and become truly scalable 1 What is a Solution
More informationLesson-22. Cost Analysis-I
Lesson-22 Cost Analysis-I Introduction to Cost We can look at the business firm from at least two points of view: productivity, inputs, and outputs or outputs and costs. In advanced microeconomics, these
More informationIn this video I want to share with you some thoughts about strategic or big picture planning. Thinking long term about some difficult topics that
In this video I want to share with you some thoughts about strategic or big picture planning. Thinking long term about some difficult topics that there may not be complete agreement about among al the
More informationAgile versus? Architecture
Agile versus? Architecture This presentation is about Software Architecture and its relationship to Agile practices. There is often a kind of tension between Agile Concepts and Architecture concepts. Why
More informationChapter 9 Software Evolution and Maintenance. Chapter 9 Software evolution
Chapter 9 Software Evolution and Maintenance 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance
More informationI Want You To Win This Game!
Part 1 I Want You To Win This Game! Today, we are learning a set of thinking tools that will change how we approach the creation of our Digital Product, and our business I believe that most Digital Products
More informationDarshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1
Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than
More informationChapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.
Chapter 2 Objectives What we mean by a process Software development products, processes, and resources Several models of the software development process Tools and techniques for process modeling 2.1 The
More information(800) Leader s Guide
www.edgetrainingsystems.com (800) 476 1405 Leader s Guide Copyright 2002 Edge Training Systems, Inc. All Rights Reserved This publication may not be reproduced, stored in a retrieval system, or transmitted
More informationSoftware Engineering Lecture 5 Agile Software Development
Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the
More informationAgile Quality Management
Agile Quality Management Panagiotis Sfetsos, PhD Assistant Professor, Department of Informatics, Alexander Technological Educational Institution E mail: sfetsos@it.teithe.gr Web Page: http://aetos.it.teithe.gr/~sfetsos/
More informationWelcome to this IBM podcast, Ten Things I Hate. About ALM, Part Two. I'm Angelique Matheny with IBM.
[ MUSIC ] Welcome to this IBM podcast, Ten Things I Hate About ALM, Part Two. I'm Angelique Matheny with IBM. Software is the invisible thread powering an increasing number of products and services today,
More informationCustomer Service Interview Questions
Customer Service Interview Questions Did you know? According to the U.S. Department of Labor Statistics, making a bad hiring decision can cost employers 30 percent of the individual's potential earnings
More informationBook Outline. Software Testing and Analysis: Process, Principles, and Techniques
Book Outline Software Testing and Analysis: Process, Principles, and Techniques Mauro PezzèandMichalYoung Working Outline as of March 2000 Software test and analysis are essential techniques for producing
More informationPlanning Your Success With Jimmy Petruzzi
Planning Your Success With Jimmy Petruzzi www.nlp-trainingcourses.com Good time management, as we have already hinted at, is largely about good planning and knowing how to set effective priorities. Understanding
More informationJohn Borys Agile Transformation Coach Accenture Digital
What Gives Agile Its Agility? John Borys Agile Transformation Coach Accenture Digital John s Bio Nineteen Years of Software Development Sixteen Years of Enterprise Java Development Eight years of Agile
More informationRequirements Analysis
Requirements Analysis Analysis and Design? Analysis emphasizes an investigation of the problem and requirements, rather than a solution. Analysis = requirements analysis + object analysis. Requirement
More informationASIC speaks on Improving and Maintaining Audit Quality & The Role of Others
CPA Australia Podcast - Episode 16 - Transcript ASIC speaks on Improving and Maintaining Audit Quality & The Role of Others INTRO: Hello and welcome to the CPA Australia Podcast your source for business,
More informationWriting For Internal Decision Makers
Writing For Internal Decision Makers Dan Miller Miller Consulting Group The Facts How you write your proposal depends on your audience. Academic proposals are very different from public library proposals.
More informationMore than Mobile Forms Halliburton s Implementation of an End to End Solution
CUSTOMER INTERVIEW More than Mobile Forms Halliburton s Implementation of an End to End Solution Hosted by: Mark Scott, VP Marketing, ProntoForms Yamina Hibbard, Global Asset Manager, Halliburton Mike
More informationSoftware Quality Assurance
Software Quality Assurance Software Testing Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (UM) Software Quality Assurance 2018 1 / 26 Table of Contents 1 Software Development Methodologies 2 Quality
More informationUser Stories and Use Cases
1/19 User Stories and Use Cases Mikael Svahnberg 1 2017-03-23 1 Mikael.Svahnberg@bth.se 2/19 User Stories User Stories are the currently preferred way in agile of writing requirements. Simpler structure
More informationThe Basics of ITIL Help Desk for SMB s
The Basics of ITIL Help Desk for SMB s This three-step process will provide you the information necessary to understand ITIL, help you write your strategic IT plan and develop the implementation plan for
More informationBefore getting into the details of our engagement, I d like to ask, what does your company do?
Before getting into the details of our engagement, I d like to ask, what does your company do? We re a multilevel marketing company, with sales of around two-hundred million dollars a year. We deal with
More informationApplicant Tracking Systems: A data-driven guide to making the right choice
Applicant Tracking Systems: A data-driven guide to making the right choice NOVEMBER 2016 Sponsored by Applicant Tracking Systems: A data-driven guide to making the right choice Today s job market is an
More informationCSC301. Scrum, detailed view of an agile process. CSC301, Winter 2016
CSC301 Scrum, detailed view of an agile process CSC301, Winter 2016 Today s Tour - Scrum We will take a tour of Scrum An agile process Well More framework than process Extremely popular in the last 5-10
More informationLed by the Author Attended by a peer group Varying level of formality Knowledge gathering Defect finding
Technical Review Walkthrough Review Inspection Review Informal Review A Technical Review is a type of peer review, and is considered to be a formal review type, even though no Managers are expected to
More informationSystems Engineering Concept
Systems Engineering Concept WHITE PAPER February 2017 The Systems Engineering Concept provides practical hands-on methods and tools, that enable companies to meet today s global business challenges through
More informationCareer and you: How to think strategically
Career and you: How to think strategically Realising you must make a decision You are going to graduate soon... a decision must be made Some may continue to study, but most of you will look for work and
More informationVolume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at
Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info A Study of Software Development Life Cycle Process Models
More informationWhy Your SIEM Isn t Adding Value And Why It May Not Be The Tool s Fault Co-management applied across the entire security environment
Why Your SIEM Isn t Adding Value And Why It May Not Be The Tool s Fault Co-management applied across the entire security environment Best Practices Whitepaper Make Security Possible Table of Contents Living
More informationRuminations on the paper by Parnas and Clements. COMP2110/2510 Software Design Software Design for SE October 29, 2008
Ruminations on the paper by Parnas and Clements COMP2110/2510 Software Design Software Design for SE October 29, 2008 Ideal Real Department of Computer Science The Australian National University 29.1 1
More informationI ot & Microservices A PERFECT
I ot & Microservices A PERFECT MATCH @perrynfowler Perryn Fowler is Head of Analytics at Urbanise NOW EVERY BUILDING CAN BE SMART DEMO SENSORS, FIRMWARE, ARDUINOS, HARDWARE IoT What is IoT - a lot of the
More informationCreating a High-Performance Management Environment
Creating a High-Performance Management Environment 2008 Executive War College Miami, FL May 13, 2008 Larry Siedlick, CEO Sunrise Medical Laboratories 1 Physician Office Market Share in the New York City
More informationClick here if your download doesn"t start automatically
Higher Probability Commodity Trading: A Comprehensive Guide to Commodity Market Analysis, Strategy Development, and Risk Management Techniques Aimed at Favorably Shifting the Odds of Success Click here
More informationThe Road from Software Testing to Theorem Proving
The Road from Software Testing to Theorem Proving A Short Compendium of my Favorite Software Verification Techniques Frédéric Painchaud DRDC Valcartier / Robustness and Software Analysis Group December
More informationSoftware Engineering. Lecture 2: The Personal Software Process
Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March June 2007 Lecture 2: The Personal Software Process PSP: the background CMMI: Capability Maturity Model Integration (originally:
More informationDelivering Software Certainty. Atomic Object, Grand Rapids based software development firm Started in 2001 by Carl Erickson and Bill Bereza
Delivering Software Certainty Atomic Object, Grand Rapids based software development firm Started in 2001 by Carl Erickson and Bill Bereza company photo 2008... Owning our own building lets us control
More informationIntroduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016
Introduction to Agile Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 1 Goals Introduction to Agile Life Cycles The Agile Manifesto and Agile Principles Agile Life Cycles
More informationFeature Selections & Change Orders: From Negative To Positive Once & For All
Feature Selections & Change Orders: From Negative To Positive Once & For All JANUARY 20, 2016 1:00 2:00 PM Presenter(s): Timothy Faller: Field Training Services/ Falcon Remodeling What It s About: Builders
More informationFoundations of Software Engineering. Process: Agile Practices Michael Hilton
Foundations of Software Engineering Process: Agile Practices Michael Hilton 1 Learning goals Define agile as both a set of iterative process practices and a business approach for aligning customer needs
More informationChapter 4 Document Driven Approach for Agile Methodology
Chapter 4 Document Driven Approach for Agile Methodology In this chapter, 4.1. Introduction 4.2. Documentation Selection Factors 4.3. Minimum Required Documents 4.4. Summary 4.1. Introduction In all, the
More information10 WAYS TO RECOGNIZE A GOOD AFFILIATE PROGRAM
10 WAYS TO RECOGNIZE A GOOD AFFILIATE PROGRAM KIM PHOENIX buyhealthplr.com 10 WAYSTO RECOGNIZEAGOOD AFFILIATE PROGRAM You Can Sell This Report Or Give It Away, But You Can NOT Alter This Report In Any
More informationThe Meaningful Hospitality Smart Hiring Guide
The Meaningful Hospitality Smart Hiring Guide This guide will help you make smart hires by teaching you: What to look for in potential employees What questions to ask in an interview How to ensure you
More informationDefining Requirements
Defining Requirements The scope of any project should represent the minimum amount of work needed to fulfil the customer s, or end user s requirements. Doing more work is wasteful; doing less means the
More informationThe analysis and design of a Smalltalk application.
The analysis and design of a Smalltalk application. The OO A&D Process The Spiral Model: No one will dispute that o-o programming is a different way to develop programs from traditional methods. However,
More informationChapter 14 Current trends in system development
Chapter 14 Current trends in system development Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Trends in System Development Methodologies
More informationADVANCES IN DOCUMENT MANAGEMENT TECHNOLOGY FOR HUMAN RESOURCES WHITE PAPER
ADVANCES IN DOCUMENT MANAGEMENT TECHNOLOGY FOR HUMAN RESOURCES For Human Resources Executives and their teams, choosing the right document management software solution is a daunting task. Finding the right
More informationFranklin Legacy Fund. Visioning Workshop For Public Distribution. November 2017
Franklin Legacy Fund Visioning Workshop For Public Distribution November 2017 Group Introductions Franklin Legacy Fund Team Introductions Name Title Role in Organizaiton Goals for Visioning Session Personal
More informationSoftware Testing(TYIT) Software Testing. Who does Testing?
Software Testing(TYIT) Software Testing Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. In simple words,
More information