Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
|
|
- Shanon O’Connor’
- 5 years ago
- Views:
Transcription
1 1 Last update: 15 October 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout
2 2 Lecture 1: Issues of software quality
3 Agenda for today 3 Introduction Some statistics Quality criteria Quality approaches Components
4 Course overview 4 Three visible ideas that can help advance software quality: Components Contracts Patterns Goal of this course: Present each concept Explain how to combine them
5 Textbooks 5 Karine Arnout: From Patterns to Components, Ph.D. thesis, Download it here. Bertrand Meyer: Object-Oriented Software Construction, 2 nd edition, Prentice Hall, Recommended: Erich Gamma, et al. Design Patterns: Elements of Reusable Object-Oriented Software, Addison- Wesley, Richard Mitchell, Jim McKim: Design by Contract, by example, Addison-Wesley, 2001.
6 Grading 6 Exam (2h): 40% 2 February 2005 Project: 60% Deadline: 4 February 2005 Extension of a Pattern Wizard
7 Pattern Wizard 7 Automatically generates code from patterns. To be extended. Generated code
8 Contacts 8 Responsible assistants: Dr. Karine Arnout, Karine.Arnout@inf.ethz.ch, RZ-J4 Till G. Bay, Till.Bay@inf.ethz.ch, RZ-J22 Course web page: Course address: tc@se.inf.ethz.ch (To join Prof. Dr. Bertrand Meyer, Dr. Karine Arnout and Till Bay)
9 Registration 9 Please send an To: tc@se.inf.ethz.ch Subject: TC course participant Content: Your name Preferred address Status Diplom student (semester?), Ph.D. student, other. Taking the course for credit or not Attach a picture (JPEG, GIF, PNG) if you wish
10 Agenda for today 10 Introduction Some statistics Quality criteria Quality approaches Components
11 A sad story 11 Standish Group Research Study CHAOS, 1995 Fully successful (on-time, on-budget, with all features as initially specified) 16% 53% Unsuccessful (late, over-budget, or fewer features than originally specified) 31% Failure (cancelled prior to completion) On average, unsuccessful projects are: Over time: 222% longer than planned Over budget: by 189% over budget Incomplete functionality: 61% of planned features.
12 which is not improving over years 12 NIST report on testing, 2002 Estimated costs resulting from bad-quality software: 22.2 to 59.5 billion dollars! Financial industry: 3.8 billion dollars Auto/aerospace industry: 1.8 billion dollars
13 Not only figures 13 But also money Ariane 5 Year security attacks Buffer overflow and loss of human lives London Ambulance System Therac-25
14 Agenda for today 14 Introduction Some statistics Quality criteria Quality approaches Components
15 What is software quality? 15 Defining the attributes of software quality and determining the metrics to assess the relative value of each attribute are not formalized processes. Not only is there a lack of commonly agreed upon definitions of software quality, different users place different values on each attribute depending on the product s use. NIST report on testing, May 2002.
16 Software quality model, McCall et al Product operation criteria Correctness, reliability, integrity, usability, efficiency Product revision criteria Maintainability, flexibility, testability Product transition criteria Interoperability, reusability, portability
17 Software quality factors, Meyer External factors: perceptible to the users Efficiency, ease-of-use, Internal factors: only perceptible to programmers Modularity, readability Without internal factors, no external ones!
18 Other external factors 18 Reliability: Correctness + Robustness SPECIFICATION Correctness Robustness Correctness: Software performs according to specification, in cases defined by its specification Robustness: Software reacts reasonably to cases not covered by its specification. Other external factors: Integrity, extendibility, portability, reusability
19 Software reusability: A definition 19 Reusability is the ability of software elements to serve for the construction of many different applications. Bertrand Meyer, Object-Oriented Software Construction, 2 nd edition, 1997
20 Agenda for today 20 Introduction Some statistics Quality criteria Quality approaches Components
21 Approaches to software quality 21 A priori Build software right from the start. A posteriori Test, test, and retest.
22 Technical answers 22 Formal specification and verification Fully formal: Z, B,... Partly formal: Design by Contract Programming language support Static typing Garbage collection No goto Information hiding Clear syntax Style standards
23 Managerial answers 23 Capability Maturity Model ISO 9001 Buy from market leaders Get software in source from Code reviews
24 Technical & managerial answer: Components 24 New buzzwords : Reuse Components COTS (Commercial Off-The-Shelf) CBD (Component-Based Development) Different kinds of components: O-O libraries: Eiffel, C#, Java, STL,... Binary components: CORBA, COM, EJB,.NET
25 Agenda for today 25 Introduction Some statistics Quality criteria Quality approaches Components
26 Issues 26 Organizational and managerial issues Not covered in this course Technical issues What form of components? Quality of components
27 What form of component? (1/2) 27 The general pattern for a searching routine: has (t: TABLE; x: ELEMENT): BOOLEAN is -- Does item x appear in table t? local pos: POSITION do from pos := initial_position (t, x) until exhausted (t, pos) or else found (t, x, pos) loop pos := next (t, x, pos) end Result := found (t, x, pos) end
28 What form of components (2/2) 28 Reusability requirements Routine grouping Type variation Implementation variation Other requirements Representation independence Factoring out common behaviors
29 Factoring out common behaviors (1/3) 29 Example: the set of sequential table implementations TABLE has start after found forth SEQUENTIAL_ TABLE TREE_ TABLE HASH_ TABLE ARRAY_ TABLE LINKED_ TABLE FILE_ TABLE
30 Factoring out common behaviors (2/3) 30 before item after 1 back forth count start index
31 Factoring out common behaviors (3/3) 31 A common routine text for has: has (t: SEQUENTIAL_TABLE; x: ELEMENT): BOOLEAN is -- Does x appear in the table? do from start (t) until after (t) or else found (t, x) loop forth (t) end Result := not after (t) end
32 Software component: A definition 32 A software component is a reusable module with the following supplementary properties: It can be used by other modules (its clients ). The supplier of a component does not need to know who its clients are. Clients can use a component on the sole basis of its official information. (This is a broad view of component.)
33 Expected benefits 33 Benefits for the users Timeliness Maintainability Reliability Efficiency Interoperability Other qualities COMMON DESIRABLE Debugging Functionality Envisaged Early releases Benefits for the suppliers Interoperability Investment
34 Major software issues before components 34 Quality Correctness Robustness Extendibility Reusability Ease-of-use Productivity Time to market Number of developers
35 Major software issues after components 35 Quality Correctness Robustness Extendibility Reusability Ease-of-use Productivity Time to market Number of developers
36 Component quality 36 Bad-quality components are a major risk. Deficiencies scale up. The architecture of component-based systems is significantly more demanding than that of traditional monolithic integrated solutions. In the context of component software, full comprehension of established design reuse techniques is most important. Clemens Szyperski, Component Software, 1998
37 Perfectionism 37 Component design should be the Formula-1 racing of software engineering. Bertrand Meyer
38 Software reuse vs. design reuse 38 Reuse of architectural and design experience is probably the single most valuable strategy in the basket of reuse ideas Clemens Szyperski, Component Software, 1998, p 132. Seamless development reconciles design and implementation by covering the whole software lifecycle. From Patterns to Components
39 Complementary material 39 From Patterns to Components: Chapter 2: The benefits of reuse OOSC2: Chapter 3: Modularity Chapter 4: Approaches to reusability
40 40 End of lecture 1
Advanced Topics in Object Technology
1 Advanced Topics in Object Technology Bertrand Meyer Contact 2 : http://se.inf.ethz.ch Course assistant: Karine Arnout http://se.inf.ethz.ch/people/arnout 3 Lecture 1: Introduction, Quality issues, Lifecycle
More informationObject-Oriented Software Construction
1 Object-Oriented Software Construction Bertrand Meyer Contact 2 Chair of Software Engineering: http://se.inf.ethz.ch Course assistant: Joseph N. Ruskiewicz http://se.inf.ethz.ch/people/ruskiewicz 3 Lecture
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 5: Design patterns Agenda for today 3 Overview Benefits of patterns
More informationContract Wizard II: Developing a GUI
Contract Wizard II: Developing a GUI PROJECT PLAN Diploma project Project period 2004-04-26 2004-08-25 Student name Petra Marty Status 9 th semester Email address martypet@student.ethz.ch Supervisor name
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 12: Componentization Agenda for today 3 Componentization Componentizability
More informationw3.ualg.pt/~jvo/poo
POO - Programação Orientada por Objetos OOP - Object-oriented programming 2015/2016 José Valente de Oliveira jvo@ualg.pt 1 www.ualg.pt w3.ualg.pt/~jvo/poo 1 http://www.fct.ualg.pt/gcal?curso=lei What is
More informationObject Oriented Programming
Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 7: Pattern Wizard, project presentation Agenda for today 3 Pattern Wizard
More informationConcurrency Patterns in SCOOP
Concurrency Patterns in SCOOP Master Thesis Project Plan Project period: 10. March to 8. September 2014 Student name: Roman Schmocker, 09-911-215 Status: 4. semester, Msc in Computer Science Email address:
More information10. Software Testing Fundamental Concepts
10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost
More informationITIL Managing Across the Lifecycle Course
ITIL Managing Across the Lifecycle Course Duration: 5 Days Course Delivery: Classroom Language: English Course Overview ITIL 2011 edition is comprised of five core publications: Service Strategy, Service
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Introduction to Design. toad
Principles of Software Construction: Objects, Design and Concurrency Introduction to Design 15-214 toad Christian Kästner Charlie Garrod School of Computer Science 2012-14 C Kästner, C Garrod, J Aldrich,
More informationThe software lifecycle and its documents
The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 03: Program Development Life Cycle Readings: Not Covered in Textbook Program Development
More informationCSCI 201L Syllabus Principles of Software Development Spring 2018
L Syllabus Principles of Software Development Spring 2018 Instructor: Jeffrey Miller, Ph.D. Email: jeffrey.miller@usc.edu Web Page: http://www-scf.usc.edu/~csci201 Office: SAL 342 Phone: 213-740-7129 Lectures:
More informationKOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)
Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department
More informationMaster Thesis Project Plan. Reusable Mathematical Models
Master Thesis Project Plan Reusable Mathematical Models Tobias K. Widmer widmer@id.ethz.ch Supervisors: Prof. Dr. B. Meyer B. Schoeller Chair of Software Engineering Department of Computer Science, ETH
More informationITE 205 Software Design and Programming I
Computer Science Department cs.salemstate.edu ITE 205 Software Design and Programming I 4 cr. Catalog description: This course introduces a set of fundamental design principles and problem-solving techniques
More informationCourse specification
The University of Southern Queensland Course specification Description: Object-Oriented Programming in C++ Subject Cat-nbr Class Term Mode Units Campus CSC 2402 30366 1, 2004 ONC 1.00 TWMBA Academic group:
More informationReflection Library for Eiffel PROJECT PLAN
Reflection Library for Eiffel PROJECT PLAN Master thesis Project period: Monday, 2004-03-15 Wednesday, 2004-09-15 Student: Beat Fluri (fluribe@student.ethz.ch) Status: 9th semester Supervising Assistant:
More informationSoftware Architectures
Software Architectures 2 SWS Lecture 1 SWS Lab Classes Hans-Werner Sehring Miguel Garcia Arbeitsbereich Softwaresysteme (STS) TU Hamburg-Harburg HW.Sehring@tuhh.de Miguel.Garcia@tuhh.de http://www.sts.tu-harburg.de/teaching/ss-05/swarch/entry.html
More informationC-QM: A PRACTICAL QUALITY MODEL FOR EVALUATING COTS COMPONENTS
C-QM: A PRACTICAL QUALITY MODEL FOR EVALUATING COTS COMPONENTS Soo Dong Kim, Ji Hwan Park Department of Computer Science Soongsil University 1-1 Sangdo-5-Dong, Dongjak-Ku, Seoul South Korea, 156-743 want
More informationSoftware Engineering
CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang : Introduction Wednesday, January 18 th sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Software Engineering Software
More informationB. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics
Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory
More informationCourse 7. Reusability, interoperability. S. Motogna - Software Quality
Course 7 Reusability, interoperability Reusability Reusability Definition: Extent to which a program can be used in other applications - related to the packaging and scope of the functions that programs
More informationNext-Generation Architecture for Virtual Prototyping
Next-Generation Architecture for Virtual Prototyping Dr. Bipin Chadha John Welsh Principal Member Manager Lockheed Martin ATL Lockheed Martin ATL (609) 338-3865 (609) 338-3865 bchadha@atl.lmco.com jwelsh@atl.lmco.com
More informationFrequently asked questions on the Exam Period
Frequently asked questions on the Exam Period - Autumn 2018/2019-1. What can I do if I passed the exam, but I am not satisfied with my mark? You can take a grade improvement examination: retaking a successful
More informationSpring 2017 FRE-GY 6883 Financial Computing Song Tang, Ph.D
Spring 2017 FRE-GY 6883 Financial Computing Song Tang, Ph.D. st290@nyu.edu, 646-283-4578 Overview: This course covers programming applications to financial engineering, including C++ and Java and the various
More informationAn Approach to Software Component Specification
Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software
More informationCS 307: Software Engineering. Lecture 10: Software Design and Architecture
CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationCourse specification
The University of Southern Queensland Course specification Description: Object-Oriented Programming in C++ Subject CSC Cat-nbr 2402 Class 40341 Term 1, 2005 Mode ONC Units 1.00 Campus Toowoomba Academic
More informationEiffel: Analysis, Design and Programming. ETH Zurich, September-December Exception handling
Eiffel: Analysis, Design and Programming ETH Zurich, September-December 2008-6- Exception handling What is an exception? An abnormal event Not a very precise definition Informally: something that you don
More informationSoftware Architecture
Chair of Software Engineering Software rchitecture Bertrand Meyer, Carlo. Furia, Martin Nordio ETH Zurich, February-May 2011 Lecture 2: The software lifecycle Software lifecycle models escribe an overall
More informationSoftware Architecture and Engineering Introduction Peter Müller
Software Architecture and Engineering Introduction Peter Müller Chair of Programming Methodology Spring Semester 2018 1. Introduction Software Failures 2 1. Introduction 1.1 Software Failures 1.2 Challenges
More informationEXAMINATION [The sum of points equals to 100]
Student name and surname: Student ID: EXAMINATION [The sum of points equals to 100] PART I: Meeting Scheduling example Description: Electronic meeting Scheduling system helps meeting initiator to schedule
More informationQUALITY METRICS IMPLEMENTATION IN COMPONENT BASED SOFTWARE ENGINEERING USING AI BACK PROPAGATION ALGORITHM SOFTWARE COMPONENT
I.J.E.M.S., VOL.3(2) 2012: 109-114 ISSN 2229-600X QUALITY METRICS IMPLEMENTATION IN COMPONENT BASED SOFTWARE ENGINEERING USING AI BACK PROPAGATION ALGORITHM SOFTWARE COMPONENT Sidhu Pravneet SPCET, Mohali,
More informationHuman Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and
More informationPC204. Lecture 5 Programming Methodologies. Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved.
PC204 Lecture 5 Programming Methodologies Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved. Programming Paradigms Software Engineering Exploratory Programming
More informationBOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus
BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus 1. Course Objectives Welcome to MET CS342 Data Structures with Java. The intent of this
More informationHuman Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process
Human Computer Interaction Lecture 06 [ HCI in Software Process ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI06 - HCI in Software Process 1 HCI in the software process Software
More informationIndividual Project. Agnieszka Jastrzębska Władysław Homenda Lucjan Stapp
Individual Project Individual Project Target: 1. Improvement of software development skill 2. to industrial method of building application in practical way Individual Project Slide 2/50 Individual Project
More information2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:
College of San Mateo Official Course Outline 1. COURSE ID: CIS 278 TITLE: (CS1) Programming Methods: C++ C-ID: COMP 122 Units: 4.0 units Hours/Semester: 48.0-54.0 Lecture hours; 48.0-54.0 Lab hours; and
More informationObject-Oriented Analysis and Design
0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature
More informationVerification and Validation
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Verification and Validation 1 Verification and Validation
More informationLecture 4: Observer Pattern, Event Library and Componentization
Software Architecture Bertrand Meyer & Till Bay ETH Zurich, February-May 2008 Lecture 4: Observer Pattern, Event Library and Componentization Program overview Date Topic Who? last week Introduction; A
More informationCOURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015
****************************************************************************** YEAR COURSE OFFERED: 2015 SEMESTER COURSE OFFERED: SPRING DEPARTMENT: COMPUTER SCIENCE COURSE NUMBER: 20019 Room and Time:
More informationProgramming II. Modularity 2017/18
Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How
More informationTEL2813/IS2820 Security Management
TEL2813/IS2820 Security Management Security Management Models And Practices Lecture 6 Jan 27, 2005 Introduction To create or maintain a secure environment 1. Design working security plan 2. Implement management
More informationSoftware Reengineering P1: Intro & Organization. Martin Pinzger Delft University of Technology
Software Reengineering P1: Intro & Organization Martin Pinzger Delft University of Technology Greenfield software development 2 Non-greenfield software development? 3 How often did you...... encounter
More informationEIFFEL TEST STUDIO Locating faults in external code Master Thesis Project Plan
EIFFEL TEST STUDIO Locating faults in external code Master Thesis Project Plan Reto Ghioldi Department of Computer Science ETH Zürich September 6, 2005 Project period 8.September 2005-9.March 2006 Student
More informationEinführung in die Programmierung Introduction to Programming
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Lecture 3: Dealing with Objects II Programming languages The programming language is
More informationDepartment of Computer & Information Sciences. CSCI-342: Introduction to Information Security Syllabus
Department of Computer & Information Sciences CSCI-342: Introduction to Information Security Syllabus Course Description This course provides an introduction to the various basic technical and administrative
More informationProposed Unified ility Definition Framework. Andrew Long October 2012
Identify, Innovate Explore, Engineer - Execute 1 1 Proposed Unified ility Definition Framework Andrew Long October 2012 Identify, Innovate Explore, Engineer - Execute 2 2 Motivation Increased interest
More informationCPSC 427a: Object-Oriented Programming
CPSC 427a: Object-Oriented Programming Michael J. Fischer Lecture 1 September 2, 2010 CPSC 427a 1/54 Overview Course information Goals Learning C++ Programming standards Comparison of C and C++ Example
More informationObject-Oriented Software Construction
1 Object-Oriented Software Construction Bertrand Meyer 2 Lecture 2: EiffelStudio and project presentation Agenda for today 3 EiffelStudio: The ISE Eiffel environment Project presentation Agenda for today
More informationCourse specification
The University of Southern Queensland Course specification Description: Object-Oriented Programming in C++ Subject CSC Cat-nbr 2402 Class 35101 Term 2, 2004 Mode ONC Units 1.00 Campus WIBAY Academic group:
More informationStatic program checking and verification
Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Static program checking and verification Correctness
More informationSpring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques
1 CPSC2620 Advanced Programming Spring 2003 Instructor: Dr. Shahadat Hossain 2 Today s Agenda Administrative Matters Course Information Introduction to Programming Techniques 3 Course Assessment Lectures:
More informationCourse title: WEB DESIGN AND PROGRAMMING
Course title: WEB DESIGN AND PROGRAMMING Lecturers Full Prof. Dragutin Kermek, Ph.D., Matija Novak, M.Inf., Matija Kaniški, M.Inf. Language of Croatian and English instruction: Schedule: 75 teaching hours
More informationSOFTWARE ENGINEERING
SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering
More informationSoftware Architecture
Chair of Software Engineering Software Architecture Prof. Dr. Bertrand Meyer Lecture 7: Patterns, Observer, MVC Patterns in software development Design pattern: A document that describes a general solution
More informationCS 241 Data Organization. August 21, 2018
CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationHCI in the software process
chapter 6 HCI in the software process HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software
More informationHCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle
HCI in the software process chapter 6 HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software
More informationCS 241 Data Organization using C
CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am
More informationCourse Syllabus Internal Control And Auditing ACNT 2331
Semester with Course Reference Number (CRN) Instructor contact information (phone number and email address) Office Location and Hours Course Location/Times Course Semester Credit Hours (SCH) (lecture,
More informationSecurity Engineering for Software
Security Engineering for Software CS996 CISM Jia An Chen 03/31/04 Current State of Software Security Fundamental lack of planning for security Most security issues come to light only after completion of
More informationANALYTICAL STUDY OF MAINTAINABILITY MODELS FOR QUALITY EVALUATION
ANALYTICAL STUDY OF MAINTAINABILITY MODELS FOR QUALITY EVALUATION Rimmi Saini Computer Science & Engineering Department,Greater Noida Institute of Engineering & Technology, Greater Noida,U.P., 201306,India
More informationSOFTWARE ENGINEERING
SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering
More informationReview Software Engineering October, 7, Adrian Iftene
Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)
More informationCleveland State University
Cleveland State University CIS 260/500 Introduction to Programming (4 credits). Spring 2015 Section 2/ 50 Class Nbr. 1810/1855 Tue, Thu 12:30 PM 2:20 PM Section 2/ 50 Class Nbr. 1813/1856. Tue, Thu 4:00
More informationChapter 9 Quality and Change Management
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
More informationYour Instructor. CSE Content. Notes. Notes. Notes. Summer May 4, 2010
Tools - Tools - Summer 2010 Department of Computer Science and Engineering York University Toronto May 4, 2010 1 / 45 Tools - Your Instructor (Pshemo) Lectures: Tuesday 6.00-8.00pm in CSE1006 Lab: Tuesday
More informationWHO SHOULD ATTEND? ITIL Foundation is suitable for anyone working in IT services requiring more information about the ITIL best practice framework.
Learning Objectives and Course Descriptions: FOUNDATION IN IT SERVICE MANAGEMENT This official ITIL Foundation certification course provides you with a general overview of the IT Service Management Lifecycle
More informationPearson Education 2007 Chapter 9 (RASD 3/e)
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
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 informationSan José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015
Course and Contact Information San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015 Instructor: Aikaterini Potika Office Location: MacQuarrie Hall 215
More informationUsing ITIL to Measure Your BCP
Using ITIL to Measure Your BCP 1 Agenda ITIL v3 Overview Why Use ITIL ITIL Continual Improvement Process Critical Success Factors and Key Performance Indicators Creating Metrics Scoring System Sample BCP
More informationThe «SQALE» Models for assessing the Quality of Software Source Code
The «SQALE» Models for assessing the Quality of Software Source Code Quality Model and Analysis Model The need to assess and know the quality of the software one has required or payed for is not new. When
More informationSecurity Management Models And Practices Feb 5, 2008
TEL2813/IS2820 Security Management Security Management Models And Practices Feb 5, 2008 Objectives Overview basic standards and best practices Overview of ISO 17799 Overview of NIST SP documents related
More informationInterface (API) Design
Interface (API) Design Architect s Perspective R. Kuehl/J. Scott Hawker p. 1 What is an API? Exposes the public facing functionality of a software component Operations, inputs, and outputs Exposes functionality
More informationFIT3056 Secure and trusted software systems. Unit Guide. Semester 2, 2010
FIT3056 Secure and trusted software systems Unit Guide Semester 2, 2010 The information contained in this unit guide is correct at time of publication. The University has the right to change any of the
More informationENERGY 211 / CME 211 Computer Programming in C++ for Earth Scientists and Engineers
ENERGY 211 / CME 211 Computer Programming in C++ for Earth Scientists and Engineers Lecture 1 September 22, 2008 Why This Course? To help students improve or acquire the programming skills they need for
More informationCompulsory course in Computer Science
Compulsory course in Computer Science University of Macau Faculty of Science and Technology Department of Computer and Information Science SFTW241 Programming Languages Architecture I Syllabus 2 nd Semester
More informationWhy testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties
Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be
More informationLecturer: Sebastian Coope Ashton Building, Room G.18
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 http://www.csc.liv.ac.uk/~pbell/comp201.html Lecture 13 Design
More informationSTEP Data Governance: At a Glance
STEP Data Governance: At a Glance Master data is the heart of business optimization and refers to organizational data, such as product, asset, location, supplier and customer information. Companies today
More informationEnsuring a Rigorous Curriculum: Practices and Goals
Ensuring a Rigorous Curriculum: Practices and Goals Allen B. Tucker Bowdoin College www.bowdoin.edu/~allen April 12, 2002 1 of 30 Goals of an Undergraduate Program To prepare graduates for the computing
More informationAP Computer Science AB
AP Computer Science AB Dr. Tyler Krebs Voice Mail: 431-8938 Classroom: B128 Office: TV Studio Characteristics We Value in This Classroom: 1. Respect. (Show respect for everyone and everything.) 2. Integrity.
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 8: Design by Contract (1/2) Agenda for today 3 Design by Contract: definition
More informationCSE Computer Security (Fall 2007)
CSE 543 - Computer Security (Fall 2007) Lecture 1 - Introduction Professor: Trent Jaeger URL: http://www.cse.psu.edu/~tjaeger/cse543-f07/ Some bedtime stories This course We are going to explore why these
More informationCOLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus
Carolyn England COD Main #: 942-4125 Voicemail Ext. 4125 Office: BIC1544B (Division Office TEC1034) Mailbox: BIC1E01 Office Hours: M 12:05 pm 1:45 pm Tu 12:05 pm 1:45 pm W 12:05 pm 1:45 pm Th 9:00 am 10:40
More informationFrequently Asked Questions
December 2001 Introduction International Standard ISO/IEC 17799:2000 Information Security Management, Code of Practice for Information Security Management Frequently Asked Questions The National Institute
More informationIntensive Introduction to Computer Science. Course Overview Programming in Scratch
Unit 1, Part 1 Intensive Introduction to Computer Science Course Overview Programming in Scratch Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Welcome to CS S-111! Computer science
More informationSYLLABUS. Computer Science
SYLLABUS 1. Information regarding the programme 1.1 Higher education institution Babeş Bolyai University 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Department Department of Computer Science
More informationLecture 21: Undo/Redo
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer October 2006 February 2007 Lecture 21: Undo/Redo 2 Further reference Chapter 21 of my
More informationObject-Oriented Principles and Practice / C++
Object-Oriented Principles and Practice / C++ Alice E. Fischer January 23, 2018 OOPP / C++ Lecture 1... 1/16 OOPP / C++ Mechanics Programming Context Course Goals Course Goals OOPP / C++ Lecture 1... 2/16
More informationQuality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures.
Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE William W. McMillan Meaning of Quality Error-free How define an error? Client is happy (we get paid!). User is happy (we are loved!). Stable (we
More informationSoftware Engineering 2 A practical course in software engineering. Ekkart Kindler
Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview
More information