COSC 310: So*ware Engineering. Dr. Bowen Hui University of Bri>sh Columbia Okanagan

Size: px
Start display at page:

Download "COSC 310: So*ware Engineering. Dr. Bowen Hui University of Bri>sh Columbia Okanagan"

Transcription

1 COSC 310: So*ware Engineering Dr. Bowen Hui University of Bri>sh Columbia Okanagan 1

2 Admin A2 is up Don t forget to keep doing peer evalua>ons Deadline can be extended but shortens A3 >meframe Labs This week: set up team repo Next week: prac>ce choosing SDLC 2

3 So*ware Process Is a set of ac>vi>es that produce so*ware product A structured way of carrying out ac>vi>es E.g., Course registra>on process Course credit transfer process Online payment process 3

4 Fundamental So*ware Ac>vi>es Planning resource alloca>on and management Requirements Specifica>on iden>fies necessary features Design architecture, modules, interfaces Development implementa>on Tes>ng valida>on of correctness Documenta>on describes product Maintenance ongoing error correc>on Evolu>on ongoing requirements changes 4

5 Goals of So*ware Ac>vi>es Clarify steps to be performed Produce tangible work products Enable others to review work products Specify next steps 5

6 Typical Stages of So*ware Development 6

7 So*ware Development Cost 7

8 Scenario 1 Assume: Cost of maintenance is 75% of total cost Cost of development is 25% of total cost If development cost is $250K, what is the maintenance cost? 8

9 Scenario 2 Client asks for accoun>ng informa>on system to be built in order to support 20 users Users all need new computers Client requires so*ware to be completed in 4 weeks Budget is $50K for hardware and so*ware Is this a good deal? 9

10 Scenario 3 Rela>ve cost of fixing errors at various stages are: Specifica>on (3) Design (5) Implementa>on (50) Maintenance a*er deploy (300) If cost to find and fix an error in design is $100, what are the costs for other stages? 10

11 Simple So*ware Process (School work) Read ques>on on assignment Think about it for a few minutes (design?) Start coding compile when done coding Compile get 100+ errors Ditch assignment Resume coding next day can t understand it so restart coding Compile get 50+ errors Ditch assignment again Night before due date: marathon coding Program mostly works submit + never see it again 11

12 Simple So*ware Process (School work) Read ques>on on assignment Think about it for a few minutes (design?) Start coding compile when done coding Compile get 100+ errors Ditch assignment Resume coding next day can t understand it so restart coding Compile get 50+ errors Ditch assignment again Night before due date: marathon coding Program mostly works submit + never see it again 12

13 Simple So*ware Process (School work) Read ques>on on assignment Think about it for a few minutes (design?) Start coding compile when done coding Compile get 100+ errors Ditch assignment Resume coding next day can t understand it so restart coding Compile get 50+ errors Ditch assignment again Night before due date: marathon coding Program mostly works submit + never see it again 13

14 Simple So*ware Process (School work) Read ques>on on assignment Think about it for a few minutes (design?) Start coding compile when done coding Compile get 100+ errors Ditch assignment Resume coding next day can t understand it so restart coding Compile get 50+ errors Ditch assignment again Night before due date: marathon coding Program mostly works submit + never see it again 14

15 Simple So*ware Process (School work) Read ques>on on assignment Think about it for a few minutes (design?) Start coding compile when done coding Compile get 100+ errors Ditch assignment Resume coding next day can t understand it so restart coding Compile get 50+ errors Ditch assignment again Night before due date: marathon coding Program mostly works submit + never see it again 15

16 How to Improve Process? 16

17 How to Improve Process? Ask clarifica>on ques>ons if specs aren t clear Design different solu>ons, consider the best one Repeat: code + test a bit at a >me Clean up code as you go 17

18 Managing Big Projects Complexity grows quickly for large projects Different teams working on different ac>vi>es Necessary to facilitate communica>on Need standardiza>ons and careful management in order to stay within budget and >me Helpful to use CASE tools to support large projects 18

19 Produc>vity Work Analysis (McConnell) Lille alen>on paid to process 19

20 Produc>vity Work Analysis (McConnell) Early alen>on paid to process 20

21 Why Should You Care? As a programmer: Know the lingo Understand the big picture Understand your role Feel less frustrated As a project leader: 21

22 Why Should You Care? As a programmer: As a project leader: Assess risks Choose appropriate process model Have successful project 22

23 Process Management So*ware lifecycle (SDLC) describes the process of so*ware development ac>vi>es Discipline of defining, implemen>ng, maintaining process in a project Adopted/created by PM Measures project progress Ensures correct execu>on of organiza>on s procedures and policies 23

24 Starter SDLC Models Do- un>l- Done Waterfall V- Shaped Rapid Prototyping Rapid applica>on development (RAD) Incremental Spiral Agile Development Scrum XP 24

25 Do- Un>l- Done 25

26 Waterfall (several variants) 26

27 Waterfall (several variants) Need: well understood and stable requirements upfront Easy to plan and staff Itera>ons are costly 27

28 V- Shaped Need: well understood and stable requirements upfront Easy to plan and staff Itera>ons are costly 28

29 V- Shaped Need: well understood and stable requirements upfront Strong emphasis on verifica>on and valida>on Good for systems requiring high reliability 29

30 Rapid Prototyping Models Single hardest part of building so*ware is deciding what to build Challenge for team Devise process that will discover, define, develop real requirements Central idea Create a prototype of so*ware that may require us to throw away at the next itera>on Prototype = easy to build, readily modifiable/extensible, par>ally specified working model of overall system Good approach if system is something new 30

31 Rapid Prototyping Model 31

32 Just a Proof- of- Concept Prototype has limited func>onality Limited func>onality Limited platorm interoperability Need to manage client expecta>ons Non- func>onal requirements not considered Reliability? Performance? Usability? 32

33 When to use Rapid Prototyping? When requirements are ill- understood Too complex Always evolving requirements Medium or high risk projects When only proof- of- concept is needed Suitable for UI intensive systems and research projects O*en used in combina>on with other SDLC 33

34 Three Types of Rapid Prototyping Rapid applica>on development (RAD) Incremental Spiral 34

35 RAD Created by IBM 1980s Quick turnaround >me: ~60 days Users involved in ALL phases Heavy dependence on: Code generators Screen generators Other produc>vity tools More work for users in planning and design 35

36 RAD Model 36

37 When to use RAD Requirements are well- understood Low risk projects where performance and reliability are not an issue Short development >mes High end- user involvement Automated tools available Ex: informa>on system 37

38 Incremental 38

39 Main features of Incremental Does not allow itera>ons Complete system defini>on required in order to create meaningful chunks Divide- and- conquer approach Priori>zes important func>onality 39

40 Spiral Focuses on risk analysis and management Cost Life High- profile missions Takes advantage of strengths from: Waterfall Prototyping Incremental 40

41 Main features of Spiral Reviews (requirements, design, product) Specific deliverables Coding is de- emphasized waterfall Allows users to see system early on Splits large effort into chunks Implement high risk func>ons first prototyping incremental 41

42 42

43 Simplified View of Spiral 43

44 When to use Spiral? Requirements are too complex or evolving Medium to high risk projects New technology or proof of concept only See system early on How many loops? Ex: aerospace (Mars rover), defense apps, engineering projects 44

45 Agile Development Lightweight approach Adapt quickly and painlessly to evolving requirements Use short, frequent itera>ons (~15 days) Highly collabora>ve Does not require PM Self- organizing teams Minimal management Some s>ll use a PM for communica>on purposes Well- known methods: Scrum Extreme programming (XP) 45

46 Major Disadvantages Examples? 46

47 Major Disadvantages Difficult to integrate inexperienced programmers May fall back to cowboy coding Hard to es>mate schedule comple>on Increases risk of scope creep How many itera>ons? Can be inefficient No authority to make decisions 47

48 Scrum 48

49 XP Prac>ces common sense principles to the extreme Follows SE prac>ces that support high quality so*ware Code for today, not for tomorrow Just- in- >me design Emphasize customer involvement Test- driven development Write test stubs first then fill in code Con>nuous integra>on tes>ng Pair programming environment Short itera>ons with fact delivery 49

50 How to choose an SDLC Requirements Defined and stable early on? Is early func>onality a requirement? Project team User involvement Project type/risk 50

51 How to choose an SDLC Requirements Project team Training available? Likely to have changing team members? User involvement Project type/risk 51

52 How to choose an SDLC Requirements Project team User involvement Do they want to be involved? How much? Does client want to track progress? Project type/risk 52

53 How to choose an SDLC Requirements Project team User involvement Project type/risk Funding stable through lifecycle? Reusable components available? 53

54 54

55 55

56 56

57 57

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 8 Introduc

More information

18-642: Software Development Processes

18-642: Software Development Processes 18-642: Software Development Processes 9/6/2017 Coding Is Essentially 0% of Creating Software http://e.ubmelectronics.com/2013embeddedstudy/index.html 2 Old-School Waterfall Development Cycle Bugs SPECIFY

More information

Founda'ons of So,ware Engineering. Process: Agile Prac.ces Claire Le Goues

Founda'ons of So,ware Engineering. Process: Agile Prac.ces Claire Le Goues Founda'ons of So,ware Engineering Process: Agile Prac.ces Claire Le Goues 1 Learning goals Define agile as both a set of itera.ve process prac.ces and a business approach for aligning customer needs with

More information

Founda'ons of So,ware Engineering. Lecture 11 Intro to QA, Tes2ng Claire Le Goues

Founda'ons of So,ware Engineering. Lecture 11 Intro to QA, Tes2ng Claire Le Goues Founda'ons of So,ware Engineering Lecture 11 Intro to QA, Tes2ng Claire Le Goues 1 Learning goals Define so;ware analysis. Reason about QA ac2vi2es with respect to coverage and coverage/adequacy criteria,

More information

System Development Life Cycle Methods/Approaches/Models

System Development Life Cycle Methods/Approaches/Models Week 11 System Development Life Cycle Methods/Approaches/Models Approaches to System Development System Development Life Cycle Methods/Approaches/Models Waterfall Model Prototype Model Spiral Model Extreme

More information

F.P. Brooks, No Silver Bullet: Essence and Accidents of Software Engineering CIS 422

F.P. Brooks, No Silver Bullet: Essence and Accidents of Software Engineering CIS 422 The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements...no

More information

Dilbert Scott Adams. CSc 233 Spring 2012

Dilbert Scott Adams. CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department

More information

csc444h: so(ware engineering I matt medland

csc444h: so(ware engineering I matt medland csc444h: so(ware engineering I matt medland matt@cs.utoronto.ca http://www.cs.utoronto.ca/~matt/csc444 tes2ng top- 10 infrastructure source code control including other types of testing reproducible builds

More information

Architectural Requirements Phase. See Sommerville Chapters 11, 12, 13, 14, 18.2

Architectural Requirements Phase. See Sommerville Chapters 11, 12, 13, 14, 18.2 Architectural Requirements Phase See Sommerville Chapters 11, 12, 13, 14, 18.2 1 Architectural Requirements Phase So7ware requirements concerned construc>on of a logical model Architectural requirements

More information

L7: Tes(ng. Smoke tes(ng. The test- vee Black- box vs. white- box tes(ng Tes(ng methods. Four levels of tes(ng. Case study

L7: Tes(ng. Smoke tes(ng. The test- vee Black- box vs. white- box tes(ng Tes(ng methods. Four levels of tes(ng. Case study Smoke tes(ng L7: Tes(ng The test- vee Black- box vs. white- box tes(ng Tes(ng methods Matrix test Step- by- step test Automated test scripts Four levels of tes(ng Debugging Unit tes?ng Integra?on tes?ng

More information

Getting DCIM Right the First or Second Time Around. PRESENTED BY Chris James CEO, DCIMPro

Getting DCIM Right the First or Second Time Around. PRESENTED BY Chris James CEO, DCIMPro Getting DCIM Right the First or Second Time Around. PRESENTED BY Chris James CEO, DCIMPro Agenda: What are the Core Elements of DCIM? What is DCIM and why? The DCIM Maturation Model What is a Successful

More information

How to sleep *ght and keep your applica*ons running on IPv6 transi*on. The importance of IPv6 Applica*on Tes*ng

How to sleep *ght and keep your applica*ons running on IPv6 transi*on. The importance of IPv6 Applica*on Tes*ng How to sleep *ght and keep your applica*ons running on IPv6 transi*on The importance of IPv6 Applica*on Tes*ng About this presenta*on It presents a generic methodology to test the IPv6 func*onality of

More information

Rapid Application Development [RAD]

Rapid Application Development [RAD] Rapid Application Development [RAD] RAD In Solution Delivery,, Beyond Prototypes www.lytecube.com Author: Girish Bellalcheru CTO, Lytecube.com Abstract Rapid application development has traditionally been

More information

Objectives. Connecting with Computer Science 2

Objectives. Connecting with Computer Science 2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering process models Understand what a design document is and how it should be used during

More information

What were his cri+cisms? Classical Methodologies:

What were his cri+cisms? Classical Methodologies: 1 2 Classifica+on In this scheme there are several methodologies, such as Process- oriented, Blended, Object Oriented, Rapid development, People oriented and Organisa+onal oriented. According to David

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary

More information

So#ware Tes+ng Made Easy

So#ware Tes+ng Made Easy So#ware Tes+ng Made Easy Common Sense Tips and Sugges+ons Robert McLay and Doug James April 8, 2014 Overview A Bit of Context Tips and Sugges+ons References and Final Thoughts You re busy. You might wonder

More information

Introduction to Securing Critical Infrastructure

Introduction to Securing Critical Infrastructure Her kan tekst skrives Her kan tekst skrives Introduction to Securing Critical Infrastructure Her kan tekst skrives Keith Frederick CISSP, CAP, CRISC, Author securenok.com Topics A)acks on the Oil and Gas

More information

Why Rails and Design for an Applica5on

Why Rails and Design for an Applica5on Why Rails and Design for an Applica5on CITS3403 Agile Web Development Reference: Ruby et al, Chapter 5 First there was Ruby... Ruby is the interpreted scripting language for quick and easy objectoriented

More information

Systems Analysis and Design

Systems Analysis and Design Systems Analysis and Design Michael Brydon Summer 2003 Slide 1 Introduction to the Course Course structure Lectures: material from the Dennis text Labs: in-lab assignments, demonstrations, and consulting

More information

Introduction to Software Engineering

Introduction to Software Engineering Chapter 1 Introduction to Software Engineering Content 1. Introduction 2. Components 3. Layered Technologies 4. Generic View of Software Engineering 4. Generic View of Software Engineering 5. Study of

More information

Cybersecurity Curricular Guidelines

Cybersecurity Curricular Guidelines Cybersecurity Curricular Guidelines Ma2 Bishop, University of California Davis, co-chair Diana Burley The George Washington University, co-chair Sco2 Buck, Intel Corp. Joseph J. Ekstrom, Brigham Young

More information

Agile is from Mars Usability is from Venus

Agile is from Mars Usability is from Venus Agile is from Mars Usability is from Venus Teale Shapcott Brisbane Agile Academy Meetup February 9 th, 2010 Teale Shapcott Systems Analyst (Usability) Business Technology Suncorp @teale http://au.linkedin.com/in/shapcott

More information

System Modeling Environment

System Modeling Environment System Modeling Environment Requirements, Architecture and Implementa

More information

CS 315 Intro to Human Computer Interac4on (HCI)

CS 315 Intro to Human Computer Interac4on (HCI) 1 CS 315 Intro to Human Computer Interac4on (HCI) 2 HCI So what is it? 3 4 Hall of Fame or Shame? Page setup in IE5 (example courtesy of James Landay) 5 Hall of Shame! Page setup in IE5 Page preview nice,

More information

User-Centered Development

User-Centered Development Software Lifecycle CS470 User-Centered Development User-centered development refers to a design process for creating a system that meets the needs of the user Users should be included in the design process

More information

Josh Bloch Charlie Garrod Darya Melicher

Josh Bloch Charlie Garrod Darya Melicher Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 1: Introduc9on Course overview and introduc9on to so3ware design Josh Bloch Charlie Garrod Darya Melicher 1 So3ware is everywhere

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 12 Black Box Tes?ng CISC327-2003 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Black Box Tes?ng Outline Last?me we con?nued with black box tes?ng and

More information

Evaluating and Improving Software Usability

Evaluating and Improving Software Usability Evaluating and Improving Software Usability 902 : Thursday, 9:30am - 10:45am Philip Lew www.xbosoft.com Understand, Evaluate and Improve 2 Agenda Introduc7on Importance of usability What is usability?

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

Second. Incremental development model

Second. Incremental development model 3 rd Stage Lecture time: 8:30 AM-2:30 PM Instructor: Ali Kadhum AL-Quraby Lecture No. : 4 Subject: Software Engineering Class room no.: Department of computer science Second. Incremental development model

More information

CLOUD SERVICES. Cloud Value Assessment.

CLOUD SERVICES. Cloud Value Assessment. CLOUD SERVICES Cloud Value Assessment www.cloudcomrade.com Comrade a companion who shares one's ac8vi8es or is a fellow member of an organiza8on 2 Today s Agenda! Why Companies Should Consider Moving Business

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

Build Your Own ASP.NET 4 Website Using C# & VB. Chapter 1: Introducing ASP.NET and the.net Pla;orm

Build Your Own ASP.NET 4 Website Using C# & VB. Chapter 1: Introducing ASP.NET and the.net Pla;orm Build Your Own ASP.NET 4 Website Using C# & VB Chapter 1: Introducing ASP.NET and the.net Pla;orm Outlines IntroducIon What is ASP.NET? Advantages of ASP.NET Installing the Required SoOware WriIng your

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

So#ware Engineering I. Based on materials by Ken Birman, Cornell

So#ware Engineering I. Based on materials by Ken Birman, Cornell So#ware Engineering I Based on materials by Ken Birman, Cornell 1 So#ware Engineering The art by which we start with a problem statement and gradually evolve a solu@on There are whole books on this topic

More information

Systems 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, 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

ISSN: [Kaur* et al., 6(10): October, 2017] Impact Factor: 4.116

ISSN: [Kaur* et al., 6(10): October, 2017] Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY COMPARATIVE ANALYSIS OF SOFTWARE DEVELOPMENT MODELS Sandeep Kaur* *Department of computer Science & Engineering, Guru Nanak Dev

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 12 Black Box Tes?ng CISC327-2003 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Black Box Tes?ng Outline Last?me we con?nued with black box tes?ng and

More information

SE420 - Software Quality Assurance

SE420 - Software Quality Assurance SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal Administrivia Software Process CS169 Lecture 2 Added 20 more so far Will limit enrollment to ~65 students Only one TA so far Start thinking about project proposal Bonus points for proposals that will be

More information

Software Engineering Lifecycles. Controlling Complexity

Software Engineering Lifecycles. Controlling Complexity Software Engineering Lifecycles Class url:http://laser.cs.umass.edu/courses/cs320.spring11/ Controlling Complexity Separation of Concerns Planning Ahead Do a little work now to make later work easier The

More information

CMPSC 24: Lecture 1 So4ware Development Process

CMPSC 24: Lecture 1 So4ware Development Process CMPSC 24: Lecture 1 So4ware Development Process Divyakant Agrawal Department of Computer Science UC Santa Barbara Syllabus and other course informaion hjp://www.cs.ucsb.edu/~agrawal/spring2010/ cmpsc24.html

More information

Integrating Selenium with Confluence and JIRA

Integrating Selenium with Confluence and JIRA Integrating Selenium with Confluence and JIRA Open Source Test Management within Confluence, Automation of Selenium, Reporting, and Traceability Andrew Lampitt, Co-Founder Sanjiva Nath, CEO and Founder

More information

From Continuous Integration To Continuous Delivery With Jenkins

From Continuous Integration To Continuous Delivery With Jenkins From Continuous Integration To Continuous Delivery With Cyrille Le Clerc, Solution Architect, CloudBees About Me @cyrilleleclerc CTO Solu9on Architect Open Source Cyrille Le Clerc DevOps, Infra as Code,

More information

COSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan

COSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan COSC 341 Human Computer Interaction Dr. Bowen Hui University of British Columbia Okanagan 1 Recall: Learning About Your User Common ways to elicit user feedback: Interviews Focus groups Expert reviews

More information

Con$nuous Deployment with Docker Andrew Aslinger. Oct

Con$nuous Deployment with Docker Andrew Aslinger. Oct Con$nuous Deployment with Docker Andrew Aslinger Oct 9. 2014 Who is Andrew #1 So#ware / Systems Architect for OpenWhere Passion for UX, Big Data, and Cloud/DevOps Previously Designed and Implemented automated

More information

Review of the DCMI Abstract Model

Review of the DCMI Abstract Model Review of the DCMI Abstract Model Thomas Baker, DCMI Joint Mee>ng of the DCMI Architecture Forum and W3C Library Linked Data Incubator Group 22 October 2010 DRAFT SLIDES 2010-10- 06 Early 2000s DC straddling

More information

Design Principles & Prac4ces

Design Principles & Prac4ces Design Principles & Prac4ces Robert France Robert B. France 1 Understanding complexity Accidental versus Essen4al complexity Essen%al complexity: Complexity that is inherent in the problem or the solu4on

More information

Agile Development

Agile Development Agile Development 12-04-2013 Many flavors: Waterfall, Spiral Rapid Application Development (DSDM) Xtreme Programming (XP, an agile methodology) Usability Engineering Model, Star Iteration is done throughout

More information

CSc 120. Introduc/on to Computer Programming II. 02: Problem Decomposi1on and Program Development. Adapted from slides by Dr.

CSc 120. Introduc/on to Computer Programming II. 02: Problem Decomposi1on and Program Development. Adapted from slides by Dr. CSc 120 Introduc/on to Computer Programming II Adapted from slides by Dr. Saumya Debray 02: Problem Decomposi1on and Program Development A common student lament "I have this big programming assignment.

More information

New PCI DSS Version 3.0: Can it Reduce Breaches? Dharshan Shanthamurthy, CEO, SISA Informa2on Security Inc. Core Competencies C11

New PCI DSS Version 3.0: Can it Reduce Breaches? Dharshan Shanthamurthy, CEO, SISA Informa2on Security Inc. Core Competencies C11 New PCI DSS Version 3.0: Can it Reduce Breaches? Dharshan Shanthamurthy, CEO, SISA Informa2on Security Inc. Core Competencies C11 SISA Informa2on Security Formal Risk Assessment Specialists Authors of

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

Decision Support Systems

Decision Support Systems Decision Support Systems 2011/2012 Week 3. Lecture 6 Previous Class Dimensions & Measures Dimensions: Item Time Loca0on Measures: Quan0ty Sales TransID ItemName ItemID Date Store Qty T0001 Computer I23

More information

NFS 3/25/14. Overview. Intui>on. Disconnec>on. Challenges

NFS 3/25/14. Overview. Intui>on. Disconnec>on. Challenges NFS Overview Sharing files is useful Network file systems give users seamless integra>on of a shared file system with the local file system Many op>ons: NFS, SMB/CIFS, AFS, etc. Security an important considera>on

More information

COSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan

COSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan COSC 121: Computer Programming II Dr. Bowen Hui University of Bri?sh Columbia Okanagan 1 Quick Review Inheritance models IS- A rela?onship Different from impor?ng classes Inherited classes can be organized

More information

RAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0

RAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0 software development simplified RAD, Rules, and Compatibility: What's Coming in Kuali Rice 2.0 Eric Westfall - Indiana University JASIG 2011 For those who don t know Kuali Rice consists of mul8ple sub-

More information

Making Research Data Public: Why, What, and How. Fall 2016

Making Research Data Public: Why, What, and How. Fall 2016 Making Research Data Public: Why, What, and How Fall 2016 Research Data Service (RDS) The Research Data Service provides the Illinois research community with exper:se, tools, and infrastructure to manage

More information

The Design Space of Software Development Methodologies

The Design Space of Software Development Methodologies The Design Space of Software Development Methodologies Kadie Clancy, CS2310 Term Project I. INTRODUCTION The success of a software development project depends on the underlying framework used to plan and

More information

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process Agile Accessibility Ensuring accessibility throughout the Agile development process Presenters: Andrew Nielson, CSM, PMP, MPA Ann Marie Davis, CSM, PMP, M. Ed. Cammie Truesdell, M. Ed. Overview What is

More information

CMSC 435: Software Engineering Section 0201

CMSC 435: Software Engineering Section 0201 CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!

More information

HIDDEN SLIDE Summary These slides are meant to be used as is to give an upper level view of perfsonar for an audience that is not familiar with the

HIDDEN SLIDE Summary These slides are meant to be used as is to give an upper level view of perfsonar for an audience that is not familiar with the HIDDEN SLIDE Summary These slides are meant to be used as is to give an upper level view of perfsonar for an audience that is not familiar with the concept. You *ARE* allowed to delete things you don t

More information

Implementing ATDD: A Practical Approach

Implementing ATDD: A Practical Approach Implementing ATDD: A Practical Approach December 4, 2014 By: Chris Lawson What exactly is ATDD? A lot of theory wri6en about ATDD, jus

More information

Test Driven Development

Test Driven Development Test Driven Development driving the development of quality software through tests presented by Introduction and Agenda Andy Painter, Davisbase Consulting 15+ years in software development. 5+ years working

More information

Chapter 1: Introduction to Systems Analysis

Chapter 1: Introduction to Systems Analysis Systems Analysis and Design With UML 2.0 An Object-Oriented Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan Dennis, Barbara Wixom, and David Tegarden 2005

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

Usability Tes2ng Usability and Correctness. About Face (1995) Alan Cooper. About Face (1995) Alan Cooper. Why Evaluate?

Usability Tes2ng Usability and Correctness. About Face (1995) Alan Cooper. About Face (1995) Alan Cooper. Why Evaluate? 2 Usability and Correctness Usability How easy is the system to use? How learnable is the system? Correctness Does the system do what it says it will do? Usability and correctness are two different criteria.

More information

Cyber Security Capabilities

Cyber Security Capabilities Cyber Security Capabilities Informa:on Assurance ü Vulnerability Assessment ü Penetra8on Tes8ng ü Informa8on Security Assessment ü Applica8on Security Evalua8on ü Network Traffic Assessment ü Cri8cality

More information

SM 3511 Interface Design. Institutionalizing interface design

SM 3511 Interface Design. Institutionalizing interface design SM 3511 Interface Design Institutionalizing interface design Eric Schaffer, 2013. Institutionalization of UX: A Step-by-Step Guide to a User Experience Practice (2nd Edition) A champion (usually reports

More information

Software Development Process Models

Software Development Process Models Software Development Process Models From classical notions to more agile approaches th@cs.toronto.edu, BA8134 Code & Fix or Cowboy Coding 1) Write program 2) Test and fix program Problems: program users

More information

CS487 Midterm Exam Summer 2005

CS487 Midterm Exam Summer 2005 1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of

More information

The Process of UX Design

The Process of UX Design The Process of UX Design CMPT 363 Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exupéry What does a holis,c

More information

OBJECT-ORIENTED MODELING AND DESIGN. Process Overview

OBJECT-ORIENTED MODELING AND DESIGN. Process Overview OBJECT-ORIENTED MODELING AND DESIGN Process Overview CONTENTS: 1. Development Stages. 2. Development Life Cycle. 3. Summary. A software Development process provides a basis for the organized production

More information

So#ware Test and Analysis

So#ware Test and Analysis So#ware Test and Analysis Luciano Baresi Politecnico di Milano Leonardo Mariani (University of Milano Bicocca) Mo=va=ons So#ware systems permeate (almost) every aspect of our life So#ware is buggy In 2002

More information

Randomized Branch Sampling (RBS): Size software projects without wasting time analyzing each user story. Dimitar Bakardzhiev

Randomized Branch Sampling (RBS): Size software projects without wasting time analyzing each user story. Dimitar Bakardzhiev Randomized Branch Sampling (RBS): Size software projects without wasting time analyzing each user story Dimitar Bakardzhiev How big is our project? Sizing es4mates the probable size of a piece of so9ware

More information

TDDD04 Software Testing

TDDD04 Software Testing TDDD04 Software Testing Lecture Notes 7 March June 2010 Mohsen Torabzadeh-Tari (presenter), (originator) Department of Computer and Information Science Linköping University, Sweden Outline of the Lecture

More information

Halkyn Consulting Ltd 15 Llys y Nant, Pentre Halkyn HOLYWELL, Flintshire, CH8 8LN

Halkyn Consulting Ltd 15 Llys y Nant, Pentre Halkyn HOLYWELL, Flintshire, CH8 8LN Halkyn Consulting Ltd 15 Llys y Nant, Pentre Halkyn HOLYWELL, Flintshire, CH8 8LN http://www.halkynconsulting.co.uk info@halkynconsulting.co.uk Password Security By T Wake CISSP CISM CEH 20/06/2011 Contents

More information

Informa(cs 231: What is Design? October 9, 2012

Informa(cs 231: What is Design? October 9, 2012 Informa(cs 231: What is Design? October 9, 2012 IDEO s Deep Dive Excellent example of the user- centered design process IDEO s Deep Dive Video Part 1 - hgp://www.youtube.com/watch?v=oon05q030qo Part 2

More information

Using C Language Extensions for Developing Embedded So:ware - A Case Study

Using C Language Extensions for Developing Embedded So:ware - A Case Study Using C Language Extensions for Developing Embedded So:ware - A Case Study Markus Völter Arie van Deursen Stephan Eberle Bernd Kolb voelter@acm.org Arie.vanDeursen@tudel:.nl stephan.eberle@itemis.com Bernd.kolb@itemis.de

More information

(Objective-CS605 Software Engeenring-II)

(Objective-CS605 Software Engeenring-II) Which one of the following is NOT a useful indicator of software quality? Correctness Code size (Page 67) Maintainability Integrity Usability Which one of the following does not belong to a strategy for

More information

November 1 st 2010, Internet2 Fall Member Mee5ng Jason Zurawski Research Liaison

November 1 st 2010, Internet2 Fall Member Mee5ng Jason Zurawski Research Liaison November 1 st 2010, Internet2 Fall Member Mee5ng Jason Zurawski Research Liaison Agenda DYNES (Eric/Jason) SC10 Ac5vi5es (All) LHCOPN Update (Jason) Other Hot Topics? 2 11/1/10, 2010 Internet2 DYNES Background

More information

Security does not live on UI level T

Security does not live on UI level T Security does not live on UI level T-1105220 LECTURE 28032013 Jarmo Parkkinen What would google do? Google 2 step sign in surface Normal website user name + password Verifica9on code SMS or voice 6 digits

More information

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations

More information

Chapter 8 Software Testing. Chapter 8 So-ware tes0ng

Chapter 8 Software Testing. Chapter 8 So-ware tes0ng Chapter 8 Software Testing 1 Topics covered ² Introduction to testing ² Stages for testing software system are: Development testing Release testing User testing ² Test-driven development as interleave

More information

Enterprise Architecture CS 4720 Web & Mobile Systems

Enterprise Architecture CS 4720 Web & Mobile Systems Enterprise Architecture Web & Mobile Systems The Concept of a Web Service Each service is built around a func=on/feature That func=on is surrounded by a specified set of protocols (SOAP, POX, WSDL, WSD,

More information

Test-driven development

Test-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 information

Migra(on from TETRA to MC- LTE. Johann Janzen. Presales Engineer. Presenta(on on behalf of the TETRA + Cri(cal Communica(ons Associa(on

Migra(on from TETRA to MC- LTE. Johann Janzen. Presales Engineer. Presenta(on on behalf of the TETRA + Cri(cal Communica(ons Associa(on Migra(on from TETRA to MC- LTE Johann Janzen Presales Engineer 1 Overview Migra.on scenarios and.meline Interworking of TETRA and LTE How long will we need TETRA networks? 2 Migra+on scenarios and +meline

More information

JUnit tes)ng. Elisa Turrini

JUnit tes)ng. Elisa Turrini JUnit tes)ng Elisa Turrini Automated Tes)ng Code that isn t tested doesn t work Code that isn t regression tested suffers from code rot (breaks eventually) If it is not automated it is not done! Boring

More information

Best Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server

Best Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server Copyright 2013 Splunk Inc. Best Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server Gen: Zaimi Professional Services #splunkconf Legal No:ces During the course of this presenta:on,

More information

EMA Digital Supply Chain Ini3a3ves. Sean Bersell/EMA

EMA Digital Supply Chain Ini3a3ves. Sean Bersell/EMA EMA Digital Supply Chain Ini3a3ves Sean Bersell/EMA Digital Supply Chain Ini3a3ves Digital Supply Chain Commi6ee Fric9on Points Workgroups Standards, Specifica9ons, Best Prac9ces Digital Supply Chain Ini3a3ves

More information

Next hop in rou-ng Summary of Future Internet WP1 work. Hannu Flinck

Next hop in rou-ng Summary of Future Internet WP1 work. Hannu Flinck Next hop in rou-ng Summary of Future Internet WP1 work Hannu Flinck Original focus on Rou-ng Scalability Mo$va$on: Internet Architecture Board stated (in RFC 4984): rou-ng scalability is the most important

More information

Strategies for Selecting the Right Open Source Framework for Cross-Browser Testing

Strategies for Selecting the Right Open Source Framework for Cross-Browser Testing BW6 Test Automation Wednesday, June 6th, 2018, 1:30 PM Strategies for Selecting the Right Open Source Framework for Cross-Browser Testing Presented by: Eran Kinsbruner Perfecto Brought to you by: 350 Corporate

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 2-2 Systems Engineering for OO January 17, 2018 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL in Agile

More information

COSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan

COSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan COSC 121: Computer Programming II Dr. Bowen Hui University of Bri?sh Columbia Okanagan 1 A1 Posted over the weekend Two ques?ons (s?ll long ques?ons) Review of main concepts from COSC 111 Prac?ce coding

More information

The Need for Agile Project Management

The Need for Agile Project Management The Need for Agile Project Management by Mike Cohn 21 Comments originally published in Agile Times Newsletter on 2003-01-01 One of the common misperceptions about agile processes is that there is no need

More information

CAREER PATH FOR THE NEXT GENERATION RECORDS MANAGER

CAREER PATH FOR THE NEXT GENERATION RECORDS MANAGER CAREER PATH FOR THE NEXT GENERATION RECORDS MANAGER San Jose State University October 1,2014 Presented by: Jim Merrifield, IGP, CIP, ERMs Jim Merrifield, IGP, CIP, ERMs Director of Informa.on Governance

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 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 information

Top 10 Web Application Vulnerabilities

Top 10 Web Application Vulnerabilities Top 10 Web Application Vulnerabilities Why you should care about them plus a live hacking demo!! Why should you care?! Insecure so*ware is undermining our financial, healthcare, defense, energy, and other

More information