jgs CSE 564 Software Design Lecture 20: Connecting the Dots II Dr. Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
jgs 564 00010100 Announcement § Quiz 5 is open and due November 16 (before our lecture time) 30 minutes Individual. § Assignment 4 is open and due November 18 (before our lecture time) Programming assignment It is a team project. I create the teams. No, you cannot change your team Report to us if someone is not working or able to be contacted
jgs 564 00010100 Step 1. Menu File Connections Action New Load Save TSP – nearest neighbor Clusters User connect TSP - pro Move ⬁ Connect ↘ * Double click a city to edit Create ✩
jgs 564 00010100 Step 3. Connections § TSP – pro The most direct solution would be to try all permutations (ordered combinations) and see which one is cheapest (using brute-force search). The running time for this approach lies within a polynomial factor of O (n!), the factorial of the number of cities, so this solution becomes impractical even for only 20 cities. https://en.wikipedia.org/wiki/Travelling_salesman_problem § Keep the GUI drawing lines. § Use multithreading
jgs 564 00010100 Step 5. Customize Cities File Connections Action D B A C • Shape • Color • Size * Double click a city to edit We are going to have problems detecting “selection” (contains)
jgs 564 00010100 Key Ideas Manufacturing VS. Craftmanship Take advantage of § SOLID principles § Design Patterns § Low Coupling § High Cohesion Grades are individual, then a) How to stablish a limit to my responsibilities and the others? b) How to facilitate integration? c) Component Oriented Approach
jgs 564 00010100 Idea (and this is NOT a class diagram) wrapper2 Main wrapper1 Factory decoration Envelope Box Gift wrapper3 ball Supervisor Is big > 10, box Is small < 5, envelop Is not big and It is not small, no decoration
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.