Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSE564 Lecture 07

CSE564 Lecture 07

Software Design
Object-Oriented Design
(202102)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez

September 07, 2020
Tweet

Transcript

  1. jgs CSE 564 Software Design Lecture 07: Object-Oriented Design Dr.

    Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. jgs 564 00000111 Quiz 02 § Due Date: Today Feb

    03, 11:59 PM (AZ time). § Submit Individually § Most questions about Lecture 2, 3, 4 and 6
  3. jgs 564 00000111 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 Class diagram 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
  4. jgs Previously

  5. jgs 564 00000111 The Unified Process And Unified Modeling Language

  6. jgs And …

  7. jgs 564 00000111 Object Oriented Relationships Association Directed Association Reflexive

    Association Multiplicity Aggregation Composition Generalization Realization
  8. jgs 564 00000111 Warning!

  9. jgs 564 00000111 Warning!

  10. jgs 564 00000111 Object Oriented World | Example

  11. jgs Assignment 02

  12. jgs Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 13

    [ integer <* <* (* float ) > > ] [ (* <* text > ) ] integer home, wxy; float whatever, a, b; text something; main () { home if( 1 == 1){ if( wxy == 123){ while(a1 < x7) { whatever } } } } home () { while(a > b) { if(123 != 456) { something } } } A New Design
  13. jgs 564 00000111 Programming Assignment 02 • Only BINARY, DELIMITER,

    and OPERATOR are implemented. You will implement the rest of the required tokens (rules).
  14. jgs 564 00000111 Ours Tokens Which tokens are needed for

    a programming language? a) Reserved words a) Special Symbols: Operators and delimiters a) Identifiers b) Literals or constants
  15. jgs 564 00000111 Drafting a Lexer § Keywords = §

    Operator = § Delimiter = § ID =
  16. jgs 564 00000111 Drafting a Lexer § Float = §

    Integer = § Hexadecimal = § Octal = § Binary = § String = § Char =
  17. jgs 564 00000111 Assignment 02 *** ~100 ~40 LOC

  18. jgs 564 00000111 Token.java

  19. jgs 564 00000111 Gui.java

  20. jgs 564 00000111 Lexer.java

  21. jgs 564 00000111 input.txt hello;world cse340 asu 2013/05/31 // end

    boolean $xx= ((((((((23WE + 44 - 3 / 2 % 45 <=17) > 0xfffff.34.45;
  22. jgs 564 00000111 Output IDENTIFIER hello DELIMITER ; IDENTIFIER world

    IDENTIFIER cse340 IDENTIFIER asu INTEGER 2013 OPERATOR / OCTAL 05 OPERATOR / INTEGER 31 OPERATOR / OPERATOR / IDENTIFIER end KEYWORD boolean IDENTIFIER $xx OPERATOR = DELIMITER ( DELIMITER ( DELIMITER ( DELIMITER ( DELIMITER ( DELIMITER ( DELIMITER ( DELIMITER ( ERROR 23WE OPERATOR + INTEGER 44 OPERATOR - INTEGER 3 OPERATOR / INTEGER 2 OPERATOR % INTEGER 45 OPERATOR <= INTEGER 17 DELIMITER ) OPERATOR > ERROR 0xfffff.34.45 DELIMITER ;
  23. jgs 564 00000111 Questions

  24. jgs 564 00000111 PS. Using IF-ELSE It is not a

    good idea! February 13th, 2008 by Rich Sharpe. Posted in Software Quality, Software Quality Metrics
  25. jgs CSE 564 Computer Systems Fundamentals Javier Gonzalez-Sanchez javiergs@asu.edu Fall

    2020 Disclaimer. These slides can only be used as study material for the class CSE564 at ASU. They cannot be distributed or used for another purpose.