jgs CSE 564 Software Design Lecture 06: Programming in the Large Dr. Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
jgs 564 00000110 Homework Read: § Programming in the Large vs Programming in the Small F. DeRemer International Conference on Reliable Software April 1975 § Teaching Object-Oriented Thinking Kent Beck (JUnit 👀) International conference on OOPSLA October 1989
jgs 564 00000110 Programming in the large (1975) Programming in the Large vs Programming in the Small F. DeRemer International Conference on Reliable Software April 1975 50 most influential and technically excellent publications programming languages ACM
jgs 564 00000110 Programming in the large (1975) § High-cohesion and loose-coupling § Programming versus Structuring § (Develop) Many small programs(modules) written by different people. § (Architecture) Structuring a large collection of modules to form a "system" § Care for the trees without lose sight of the forest § Changes become difficult if operates across module boundaries § Programming in the large involves setting up modules that will not need altering in the event of probable changes.
jgs 564 00000110 Teaching Object-Oriented Thinking (1989) Teaching Object-Oriented Thinking Kent Beck International conference on OOPSLA 1989 Creator of eXtreme programming and Creator of Unit Testing Framework (JUnit for Java with Erich Gamma) ACM
jgs 564 00000110 Teaching Object-Oriented Thinking (1989) Class name, responsibilities, and collaborators • Designs can be characterized at an abstract level as having processes, data flows, and data stores, regardless of implementation language or operating environment. • A Diagram for Object-Oriented Programs Cunningham, W. and Beck, K.: OOPSLA, 1986.
jgs 564 00000110 Assignment 02 Submit to Canvas (individually or pairs): § Source Code – Java source code o Show your skills for readability (make your code easy to read) o Use Javadoc o If you are not familiar with Java Guidelines, review this: https://google.github.io/styleguide/javaguide.html o Code SHOULD compile and run § A PDF file a paper describing: o 3 screenshots with the input and output for small, medium, and big scenarios, respectively o A conclusion addressing the quality (and limitations) of your solution
jgs CSE 564 Software Design Javier Gonzalez-Sanchez, Ph.D. [email protected] Fall 2021 Copyright. These slides can only be used as study material for the class CSE564 at ASU. They cannot be distributed or used for another purpose.