[PDF] CSE 2221 - Design by Contract OSU CSE. 20. The word





Previous PDF Next PDF



OSU CSE

7 февр. 2019 г. https://cse.osu.edu/current-students/undergraduate-research. You are able ... degree/dissertations-theses/document-preparation. • Successfully ...



CSE 2221 - Stack

25 мар. 2021 г. OSU CSE. 18. Page 19. top. T top(). • Returns the entry at the the top (left ... • OSU CSE Components API: Stack. – http://web.cse.ohio-state.edu ...



CSE 2221 - Design by Contract

26 янв. 2021 г. • The API for the OSU CSE components is at: http://web.cse.ohio ... means spacing and line- breaks are retained in generated documentation.



Department of Computer Science and Engineering BS CSE

17 янв. 2020 г. Project: Design Development



CSE 2231 - Kernel Implementations IV

8 февр. 2019 г. (document) the key design decisions illustrated in a commutative ... OSU CSE. 50. Trick question! This value of digits can never arise from ...





Bachelor of Science in Computer Science and Engineering

22 мар. 2023 г. Documentation (Web Applications or. Interactive Systems or Systems Software). 4 ... More information is available at https://cse.osu.edu/current-.



CSE 2231 - Java Interfaces

• javadoc — The Java API Documentation. Generator. – http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html. 6 May 2019. OSU CSE. 39.





CSE 2221 - Arrays and References

4 окт. 2022 г. what does equals do? 4 October 2022. OSU CSE. 6. Page 7. One of the ...



CSE 3901: Project: Design Development

https://coe-portal.cse.ohio-state.edu/pdf-exports/CSE/CSE-3901.pdf



CSE 2221 - Design by Contract

OSU CSE. 20. The word interface has two related but distinct meanings: • a unit of Java code that contains Javadoc comments used to produce documentation.



CSE 2221 - XML Documents

<title>. Java for Everyone: Late Objects. </title> </book>. 5 May 2016. OSU CSE. 5. This is not part of the actual document/file!



CSE 3903: Project: Design Development

https://coe-portal.cse.ohio-state.edu/pdf-exports/CSE/CSE-3903.pdf



CSE 2231 - Hashing

14 sept. 2020 that the duration of a call is independent of the values of all the arguments including the receiver. 14 September 2020. OSU CSE.



CSE 3902: Project: Design Development

https://coe-portal.cse.ohio-state.edu/pdf-exports/CSE/CSE-3902.pdf



Department of Computer Science and Engineering BS CSE

12 mar. 2021 Introduction to Ohio State and Computer Science and Engineering ... Project: Design Development



CSE 2231 - BugsWorld Introduction

27 fév. 2019 various aspects of a game called. BugsWorld: – The Game. – The Simulator. – The Language. – The Compiler. 27 February 2019. OSU CSE.



CSE 2221 - Set

22 mar. 2021 OSU CSE. 4. Set. Set1L implements implements. SetKernel extends. Standard extends. Set2. Set3. Standard has contracts for three methods:.



CSE 2231 - Common Methods

Object: equals hashCode



Department of Computer Science and Engineering BS CSE

CSE 3903 Project: Design Development and Documentation of System Software 4 Choose one of the following: CSE 5911 Capstone Design: Software Applications 4 CSE 5912 Capstone Design: Game Design and Development 4 CSE 5913 Capstone Design: Computer Animation 4 CSE 5914 Capstone Design: Knowledge-Based Systems 4



Best Computer Science Engineering(CSE) colleges in Andhra Pradesh(AP

Department of Computer Science and Engineering BS CSE Sample Schedule Autumn Spring Admission to the CSE major requires student to apply and meet the following requirements: Completion of the courses shown above in italics or honors versions thereof At least 15 hours earned at Ohio State



BS Computer Science and Engineering 2020-2021 Academic Year

This guide is intended for students with extensive programming experience who successfully complete the placement test for CSE 2221 Students without programming experience will need to complete CSE 1222/1223 prior to taking CSE 2221 Year Autumn PHYSICS 1250 (Mechanics Thermal Waves) MATH 1151 (Calculus 1)



Department of Computer Science and Engineering BS CSE

Department of Computer Science and Engineering BS CSE Requirements Choose one of the following: Choose one of the following: Choose one of the following: Department of Computer Science and Engineering Year 1 Year 2 Year 3 Year 4 BS CSE Sample Schedule An application to the major must be submitted online at



CSE 2221 - Design by Contract

• The API for the OSU CSE components is at: http://web cse ohio-state edu/software/common/doc/ 26 January 2021 OSU CSE 20 The word interface has two related but distinct meanings: • a unit of Java code that contains Javadoc comments used to produce documentation • the resulting documentation



Searches related to osu cse documentation filetype:pdf

The Sequencecomponent family allows you to manipulate strings of entries of any (arbitrary) type through direct access by position similar to an array Another generic type like Queueand Set One possible best practice alternative to the built-in Java array from the OSU CSE components Standard extends Sequence-Kernel extends implements Sequence

What are the programs offered by the Department of CSE?

    The Department offers UG, PG & Ph.D. programmes in Computer Science and Engineering and related areas. The Department also offers an industry aligned program B.Tech. Computer Science and Business Systems (CSBS) in association with Tata Consultancy Services (TCS). All the programs offered by the Dept. of CSE are approved by AICTE, New Delhi.

How do I open an example OSU file?

    Windows can't open this file: example.osu. To open this file, Windows needs to know what program you want to use to open it. Windows can go online to look it up automatically, or you can manually select one from a list of programs that are installed on your computer.

What is the OSCE study guide?

    Developed to be a unique study guide for medical students preparing for their OSCE examinations. It summarizes important history and physical examination skills and is a practical review for all level of medical students. The book is organized by major body systems, and is designed to facilitate both individual and group study.

How to open CSE files?

    Choose the Open with entry from the file menu accessed by right-mouse clicking on the CSE file To finalize the process, select Look for another app on this PC entry and using the file explorer select the Web Research installation folder. Confirm by checking Always use this app to open CSE files box and clicking OK button.

Design-by-Contract

26 January 2021OSU CSE1

Systems Thinking

•A systemis any part of anything that you want to think about as an indivisible unit •An interfaceisa description of the

“boundary"between a system and

everything else, that also describes how to think about that system as a unit •A subsystem (component)is a system that is used inside, i.e., as a part of, another system - a relative notion!

26 January 2021OSU CSE2

Example: Ice/Water Dispenser

Select water, crushed ice, or cubed ice.

Place a glass against the pad and push.

26 January 2021OSU CSE3

People's Roles wrtSystems

•A clientis a person (or a role played by some agent) viewing a system “from the outside "as an indivisible unit •An implementeris a person (or a role played by some agent) viewing a system

“from the inside"as an assembly of

subsystems/components

26 January 2021OSU CSE4

Describing Behavior: Part 1

•One side of the coin: information hiding is a technique for describing system behavior in which you intentionally leave out

“internal implementation details"of the

system

26 January 2021OSU CSE5

Describing Behavior: Part 2

•Other side of the coin (and a necessary consequence of information hiding): abstraction is a technique in which you create a valid cover story to counteract the effects of hiding some internal implementation details -Presumably the hidden information is relevant to the system behavior, so even if you hide it you still need to account for its presence!

26 January 2021OSU CSE6

Overview of Design-by-Contract

•Alsoknown as programming-to-the- interface •Articulated clearly only in the 1980s •Design-by-contract has become the standard policygoverning “separation of concerns"across modern software engineering •This is how software components are really used...

26 January 2021OSU CSE7

Recall: Mathematical Models

•Each variablein the program has a type -Examples: int, double, ... •Each program type has a mathematical type thatmodelsit: you should think of any variable of that program type as having a value from its mathematical model 's mathematical space/domain -Examples (respectively): integer, real, ...

26 January 2021OSU CSE8

Informal Models

•Models are not always formal mathematical models like integers, real numbers, etc., but can be based on informalconcepts from other situations •Example of an anthropomorphic description of behavior: -"This TV remembersthe last channel you watched." •More examples to come...

26 January 2021OSU CSE9

Structure of a Method Contract

•Each method has: -A precondition(requiresclause) that characterizes the responsibility of the program that calls (uses) that method (client code) -A postcondition(ensuresclause) that characterizes the responsibility of the program that implementsthat method (implementation code in the method body)

26 January 2021OSU CSE10

Meaning of a Method Contract

•If its precondition is true when a method is called, then the method will terminate - return to the calling program - and the postconditionwill be true when it does return •If its precondition is not true when a method is called, then the method may do anything (including not terminate)

26 January 2021OSU CSE11

Responsibilities and Rewards

•Responsibility: Making sure the preconditionis true when a method is called is the responsibility of the client •Reward: The client may assume the postconditionis true when the method returns

26 January 2021OSU CSE12

Responsibilities and Rewards

•Responsibility: Making sure the postconditionis true when a method returns is the responsibility of the implementer •Reward: The implementer may assume the precondition is true when the method is called

26 January 2021OSU CSE13

Recall: Static (Class) Methods

•A static method(class method) is one that: -Has zero or more formal parametersof various types - placeholders for the argumentsthat appear in the call between (...) -Returns a value of a particular return typeto the calling program; or, returns nothing, denoted by a return type of void •Example of a call and its arguments: doublea, b; doublec = sqrt(a*a + b*b, 0.001);

26 January 2021OSU CSE14

Recall: Static (Class) Methods

•A static method(class method) is one that: -Has zero or more formal parametersof various types - placeholders for the argumentsthat appear in the call between (...) -Returns a value of a particular return typeto the calling program; or, returns nothing, denoted by a return type of void •Example of a call and its arguments: doublea, b; doublec = sqrt(a*a + b*b, 0.001);

What does this method do?

How do you know?

26 January 2021OSU CSE15

Example of a Contract

paramx number to take the square root of paramepsilon allowed relative error * @return the approximate square root of x * @requires *x > 0andepsilon > 0 * @ensures
 * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] * 
privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE16

Example of a Contract

paramx number to take the square root of paramepsilon allowed relative error * @return the approximate square root of x * @requires *x > 0andepsilon > 0 * @ensures
 * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] * 
privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE17

A Java comment that starts

with the symbols is called a Javadoc comment ; it goes before the method header.

Javadoc

•The standard documentation technique for

Java is called Javadoc

•You place special Javadoccomments enclosed in /** ... */ in your code, and the javadoctool generates nicely formatted web -based documentation from them

26 January 2021OSU CSE18

APIs •The resulting documentation is known as the

API (application programming

interface)for the Java code to which the

Javadoctags are attached

•The API for the OSU CSE components is at:

26 January 2021OSU CSE19

APIs •The resulting documentation is known as the

API (application programming

interface)for the Java code to which the

Javadoctags are attached

•The API for the OSU CSE components is at:

26 January 2021OSU CSE20

The word interfacehas two

related but distinct meanings: •a unit of Java code that contains Javadoccomments used to produce documentation •the resulting documentation

Example of a Contract

* @paramx number to take the square root of paramepsilon allowed relative error * @return the approximate square root of x * @requires *x > 0andepsilon > 0 * @ensures
 * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] * 
privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE21

The Javadoctag@param

is needed for each formal parameter; you describe the parameter's role in the method.

Example of a Contract

paramx number to take the square root of paramepsilon allowed relative error * @returnthe approximate square root of x * @requires *x > 0andepsilon > 0 * @ensures
 * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] * 
privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE22

The Javadoctag@return

is needed if the method returns a value; you describe the returned value.

Example of a Contract

paramx number to take the square root of paramepsilon allowed relative error * @return the approximate square root of x * @requires * x > 0andepsilon > 0 * @ensures
 * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] * 
privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE23

The Javadoctag

@requires introduces the preconditionfor the sqrt method.

Example of a Contract

paramx number to take the square root of paramepsilon allowed relative error * @return the approximate square root of x * @requires * x > 0andepsilon > 0 * @ensures
 * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] * 
privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE24

The Javadoctag

@ensures introduces the postconditionfor the sqrt method.

Example of a Contract

paramx number to take the square root of paramepsilon allowed relative error * @return the approximate square root of x * @requires *x > 0andepsilon > 0 * @ensures
 * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] * 
privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE25

Javadoccomments may

contain HTML -like tags; e.g.,
 ... 
means spacing and line breaks are retained in generated documentation.

Abbreviated Javadoc

•For this course: -Any actual code you see in *.java fileswill have the full

Javadoccomments, as above

-Some code you see in these slides will not have the Javadoc tags @param, @return, and formatting tags
; plus, "keywords" in the Javadoc and mathematics will be bold faced for easy reading •This allows you to focus on the contract content: the requires and ensures clauses themselves 

26 January 2021OSU CSE26

Example Contract (Abbreviated)

* @requires * x > 0andepsilon > 0 * @ensures * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE27

Example Contract (Abbreviated)

* @requires * x > 0andepsilon > 0 * @ensures * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x]} privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE28

This is the precondition, indicating that

the argumentspassed in for the formal parametersxand epsilon both must be positive before a client may call sqrt

Example Contract (Abbreviated)

* @requires * x > 0andepsilon > 0 * @ensures * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x]} privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE29

The precondition is a statement about

the models of the arguments; here, it is a formalmathematical statement about mathematical reals.

Example Contract (Abbreviated)

* @requires * x > 0andepsilon > 0 * @ensures * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE30

This is the postcondition, indicating

that the return value fromsqrtis non -negative and ... what does the rest say?

Example Contract (Abbreviated)

* @requires * x > 0andepsilon > 0 * @ensures * sqrt>= 0and * [sqrtis within relative error epsilon of the actual square root of x] privatestaticdoublesqrt(doublex, doubleepsilon)

26 January 2021OSU CSE31

The first part of the

postconditionhere is written in mathematicalnotation; it is not program code! The second part - inside [...] - is written in English.

Using a MethodContract

•A static method's contract refers to its formal parameters, and (only if it returns a value, not void ) to the name of the method (which stands for the return value) •To determine whether the precondition andquotesdbs_dbs12.pdfusesText_18
[PDF] oswego ny newspapers online

[PDF] osxpmem

[PDF] other names for seven deadly sins

[PDF] otis 12 gauge shotgun cleaning kit

[PDF] otpf 3rd edition pdf

[PDF] ott business model pdf

[PDF] ottawa application login

[PDF] ottawa catholic school board calendar 2019 2020

[PDF] ottawa catholic school board strike

[PDF] ottawa county flu deaths 2019

[PDF] otto blockly

[PDF] otube oracle

[PDF] ou acheter tisane a paris

[PDF] ou apprendre l'anglais pays

[PDF] ou classe de mot