CSE403 ● Software engineering ● sp12 Week 7-10 MondayTuesdayWednesdayThursdayFriday Joel test & interviewing No reading GroupsReviewsSectionProgress report.

Slides:



Advertisements
Similar presentations
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION DEBUGGING Autumn 2011 Bug-Date: Sept 9, 1947.
Advertisements

CARLIN LAW GROUP, APC (619) Know Your Indemnity Obligation Know Your Risk Know Your Insurance Company by KEVIN R. CARLIN, ESQ.
Software Engineering 2003 Jyrki Nummenmaa 1 OBJECT ARCHITECTURE DESIGN These slides continue with our example application, based on the simplified.
Contracts and Communication John G. Huisman Fleissner Davis and Johnson
 You will be able to: › Explain what is meant by an expert system and describe its components and applications.
1 Chapter Three Using Methods. 2 Objectives Learn how to write methods with no arguments and no return value Learn about implementation hiding and how.
Data Protection Act 1998 section 56: Enforced Subject Access – What you need to know.
Sometimes a person who entered into a contract must transfer the contract rights or duties to another person (third party) –Examples: sublease of your.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
Families of Software Systems Notkin: 3 of 3 lectures on change.
Chapter 15: Business Entities
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Software maintenance Managing the processes of system change.
WEEK 10: CONSTRUCTIVE DISMISSAL AND TERMINATION BENEFITS
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Legal Document Preparation Class 2Slide 1 Elements of a Contract to be Considered in Drafting The writing should clearly indicate the presence of an offer.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Copyright 2008 The Prinz Law Office.1 Getting Started with Drafting a Nondisclosure Agreement: A Brief Guide to the Elements and Key Considerations By.
CSE403 ● Software engineering ● sp12 Week 7-10 MondayTuesdayWednesdayThursdayFriday Reading dueGroups Beta due SectionProgress report due Readings out.
CSE403 Software Engineering Autumn 2001 Design (Information Hiding) Gary Kimura Lecture #8 October 17, 2001.
Chapter 2 Introducing Interfaces Summary prepared by Kirk Scott.
BEHAVIORAL HEALTH CODING CHANGES 2013 EFFECTIVE JANUARY 1 ST, 2013.
1 Inheritance. 2 Why use inheritance?  The most important aspect of inheritance is that it expresses a relationship between the new class and the base.
ACP Learning Pack Session Three 1 ACP Learning Pack Session Three:- The affect of the Mental Capacity Act 2005 on advance care planning.
Reading Test Questions on Multiple Choice Tests. SQ3R Method 1.Survey – Scanning the section will help you organize your thoughts. LOOK FOR: titles, headings,
ASU Course Registration System System Analysis Communication Diagram Use Case: Select Courses to Teach.
Object Oriented Software Development
Requirements for a Retainer Agreement Start with a Written Contract! ALWAYS!
Introduction to Design (and Zen) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These.
THE IMPORTANCE OF CONTRACT REVIEW Kristina Phillips PestSure I would like to emphasize that the discussion set forth above is only an insurance/risk management.
Easy Read Summary Mental Capacity Act Mental Capacity Act A Summary The Mental Capacity Act 2005 will help people to make their own decisions.
You Choose the Ending For the Reporting Data to Educational Partners Module Submitted by Toni Bowen.
SWE 513: Software Engineering
CSE503: SOFTWARE ENGINEERING DESIGN II David Notkin Spring 2011.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Promises, Reliance and Psychological Lock-In Rebecca Stone & Alexander Stremitzer IMPRS Jena, July 28.
Threads. Readings r Silberschatz et al : Chapter 4.
Week 7-10 MondayTuesdayWednesdayThursdayFriday Joel test & interviewing No reading GroupsReviewsSectionProgress report due Readings out Reading dueGroups.
Contract Law.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
CS223: Software Engineering Lecture 13: Software Architecture.
1 Ethical Issues in Computer Science CSCI 328, Fall 2013 Session 5 Analogical Reasoning.
Reviews Chapter 5 Applied Software Project Management, Stellman & Greene See also:
Qualified Settlement Funds & Structured Settlements from the Settlement Planner’s Perspective Jason D. Lazarus, Esq., CSSC Settlement Planner ASNP National.
CSE403 ● Software engineering ● sp12 Week MondayTuesdayWednesdayThursdayFriday Midterm II reviewGroupsMidterm II [Notkin gone] No section Progress.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
XML 2002 Annotation Management in an XML CMS A Case Study.
Week 5-6 MondayTuesdayWednesdayThursdayFriday Testing I No reading Group meetings MidtermNo Section Testing II Progress report due Readings out Testing.
ENCAPSULATION. WHY ENCAPSULATE? So far, the objects we have designed have all of their methods and variables visible to any part of the program that has.
Doctor – Patient Contract Dr Hidayathulla Shaikh, Lecturer, College of Dentistry, Majmaah University.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Eastern Mediterranean University
Sign critical appraisal course: exercise 1
1.04 Contracts.
I. Why You Might Be Called
Chapter 1- Introduction
By Dr. Abdulrahman H. Altalhi
Design by Contract Fall 2016 Version.
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
CSE 403: Notkin #2 of 3 on software change
Applying for a TA Position in CSE
Types of ap multiple choice questions
OBJECT ARCHITECTURE DESIGN
CSE403 Software Engineering Autumn 2000 Design (Information Hiding)
Jim Fawcett CSE687 – Object Oriented Design Spring 2014
Presentation transcript:

CSE403 ● Software engineering ● sp12 Week 7-10 MondayTuesdayWednesdayThursdayFriday Joel test & interviewing No reading GroupsReviewsSectionProgress report due Readings out Reading dueGroups Beta due SectionProgress report due Readings out No reading due GroupsMidterm II Reading covered [Notkin gone] No section Progress report due Memorial Day Holiday GroupsFinal release due Project Pres. I Project Pres. II Project Pres. III

Recall information hiding The core notion of Parnas’ information hiding is connecting design with anticipated change Decide on likely changes Design interfaces that protect clients from those changes – the interfaces define a contract that the clients can rely on Implement the interface based on a best decision If the decision later changes, re-implement the interface but continue to satisfy the contract CSE403 Sp122

The information hiding “contract” Interfaces define the contract between the client and the implementation –The client doesn’t care how the contract is implemented –The implementation doesn’t care how the module is used Anticipated changes are supported as they are hidden by the interface CSE403 Sp123

What defines the contract? CSE403 Sp124 What is included in the contract? What is excluded from the contract?

Implied-in-fact contract ( wikipedia ) “Although the parties may not have exchanged words of agreement, their actions may indicate that an agreement existed anyway. –“For example, when a patient goes to a doctor's appointment, his actions indicate he intends to receive treatment in exchange for paying reasonable/fair doctor's fees. Likewise, by seeing the patient, the doctor's actions indicate he intends to treat the patient in exchange for payment of the bill. Therefore, it seems that a contract actually existed between the doctor and the patient, even though nobody spoke any words of agreement. … In such a case, the court will probably find that … the parties had an implied contract. If the patient refuses to pay after being examined, he will have breached the implied contract.” CSE403 Sp125 Can or does such an implied contract hold between a client or clients and an implementation?

Consider Oracle produces and publishes an API Notkin LLC uses that API and, furthermore, publicly and frequently asks questions about its use of the API Oracle later modifies the API Notkin LLC’s application breaks due to those modifications, which were not mentioned as possibilities during the public interactions Was there an implied-in-fact contract? CSE403 Sp126 I have no idea at all! I’m not a lawyer, and I don’t even play one on TV.

“It’s complicated” Is it the documentation and only the documentation? What if the documentation is silent on a point? Can the client infer parts of the contract? Isn’t the client always right? What if multiple clients end up with different expectations for the same implementation? CSE403 Sp127

Clients sometimes get some power Compiler directives –Implementation has several choices –Client can direct the implementation to use a specific choice register int i; change a cache size configure which backend database to use … This somewhat begs the question: the above concerns hold for any specific implementation chosen by the client CSE403 Sp128

This reasoning… …and identification of these problems as arising in programming languages, operating systems, and many more domains …led to the identification (by Kiczales et al.) of the notion of “open implementations” An open implementation has a standard “base” interface and a second “meta” interface –The meta interface helps the client control aspects of the implementation in explicit ways Further work led to the notion of aspect-oriented design and programming – I’ll introduce this with a fly-through of some slides from a Kiczales keynote CSE403 Sp129