Presentation is loading. Please wait.

Presentation is loading. Please wait.

(c) 2010 University of California, Irvine – André van der Hoek1February 21, 2010 – 18:05:18 Informatics 122 Software Design II Lecture 10 Nick Lopez Duplication.

Similar presentations


Presentation on theme: "(c) 2010 University of California, Irvine – André van der Hoek1February 21, 2010 – 18:05:18 Informatics 122 Software Design II Lecture 10 Nick Lopez Duplication."— Presentation transcript:

1 (c) 2010 University of California, Irvine – André van der Hoek1February 21, 2010 – 18:05:18 Informatics 122 Software Design II Lecture 10 Nick Lopez Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

2 (c) 2010 University of California, Irvine – André van der Hoek2February 21, 2010 – 18:05:18 Today’s Lecture Final design project

3 (c) 2010 University of California, Irvine – André van der Hoek3February 21, 2010 – 18:05:19 Final Design Project Design and implement a developer community portal for Software Aesthetics With a team of 4 or 5 The effort should be spread out across the developers (subteams), with each subteam responsible for the design and implementation a part of the system Everyone, of course, is responsible for the overall design and implementation

4 (c) 2010 University of California, Irvine – André van der Hoek4February 21, 2010 – 18:05:19 Software Aesthetics portal: context What are design aesthetics? We’ve been talking about it a lot, but what does the development community have to say about aesthetics? Is beauty in the eye of the beholder? What is beautiful in software, how can it be abstracted and represented? Many successful community portals out there stackoverflow.com Portals for publishing tutorials, code examples, etc.. Forums for different technologies… What do community portals have in common The community provides content The users of the community receive some benefits from participating

5 (c) 2010 University of California, Irvine – André van der Hoek5February 21, 2010 – 18:05:19 Goals and stakeholders The Software Aesthetics Community portal (come up with a nicer name) will allow us to research with the support of the community what are software aesthetics Main actors Researchers interested in understanding what aesthetics are Developers that will contribute content The main goal is to collect a base of examples of beautiful and ugly code Something we can later use to perform different types of analyses But since the community participation is critical, promoting this participation is also a main goal

6 (c) 2010 University of California, Irvine – André van der Hoek6February 21, 2010 – 18:05:19 Requirements (from the community perspective) The Software Aesthetics Community portal allows the development community to publish “beautiful (or ugly) software” Code, diagrams, screenshots and any other form of visualization of code with (initially) a simple description Design for extensibility, implement the basic features for now (upload a file + a simple text description) The community can comment, reply and build discussions regarding posts Think of interesting ways in which community can participate (liking, tagging, etc..) Design for extensibility, implement the basic features for now (a simple forum) Your design must include mechanism to increase and reward participation Promoting users to register to the community Think intangible benefits such as reputation (as in stackoverflow.com/), useful source for information regarding reusable components, etc… Providing interesting ways in which users will find useful information Again, design for extensibility…

7 (c) 2010 University of California, Irvine – André van der Hoek7February 21, 2010 – 18:05:19 Requirements (from the research perspective) Collecting and storing data provided by the community Providing extensible visualizations, reports and other ways to access designs aesthetics data Implementing 1 simple visualizations/reports should be enough Designing for configurable/extensible/flexible mechanism to change how community participants will add “beautiful software pieces” Designing configurable/extensible/flexible mechanism to change the visibility of information/reports/etc For example reading other peoples comments might skew someone else’s perception of aesthetics, so we could hide comments before a user posts their own

8 (c) 2010 University of California, Irvine – André van der Hoek8February 21, 2010 – 18:05:19 Requirements (bonus requirements) As the community grows, we want to be able to establish meta- discussion regarding software aesthetics Grouping and relating examples This discussion will involve researchers and community developers The discussion will not be open for all public to comment on, but could be visible The discussion should allow researchers to find and refer to many examples published by the community How could freeform tagging help? Bonus for: Designing for these features (no implementation needed) Implementing them partially

9 (c) 2010 University of California, Irvine – André van der Hoek9February 21, 2010 – 18:05:19 Deliverables The Software aesthetics community portal itself Documentation including: Interface design (not the focus, but still relevant) Implementation design Use case diagrams Class diagrams Patterns you used Frameworks/components, etc.. you are reusing Instructions for deployment and management of the portal

10 (c) 2010 University of California, Irvine – André van der Hoek10February 21, 2010 – 18:05:19 Reuse As much as you can!! But keep me on the loop… (a significant part of the code should be yours!) Be clear about what you are reusing, define the criteria why you picked something to reuse

11 (c) 2010 University of California, Irvine – André van der Hoek11February 21, 2010 – 18:05:19 Final Design Project March 7 preliminary design presentations (max 10 minutes per team) Main requirements What are you reusing! Technologies, framweworks, etc… preliminary design document March 9 first demo (max 10 minutes per team) Updated design document

12 (c) 2010 University of California, Irvine – André van der Hoek12February 21, 2010 – 18:05:19 Final Design Project March 17 final design and retrospective on design presentation (max 10 minutes per team) final demo (max 5 minutes per team) updated design document with a description of how and why this evolved from the original design

13 (c) 2010 University of California, Irvine – André van der Hoek13February 21, 2010 – 18:05:19 Grading Criteria Stakeholder: the community developer How is the experience of registering, creating a new “software aesthetics entry”, and commenting on previous entries What mechanisms are designed (not all have to be implemented) for promoting participation Stakeholder: researcher How is the portal supporting them in overseeing and accessing its info How flexible is the portal to accommodate their future needs Stakeholder: future developers of the portal Understandability and quality of documentation. Could it serve as a guide for implementation? Understandability and quality of the code. Extensibility/flexibilty of the system in extending reports and changing visibility of elements

14 (c) 2010 University of California, Irvine – André van der Hoek14February 21, 2010 – 18:05:19 Grading Criteria Stakeholder: you What are your contributions to the design and the code? Quality of design deliverables: Is the design complete and accurate according to the code? Did the design include patterns? Does it make sense to use these patterns in this context? Did the group define criteria for reuse? Did they follow this criteria to evaluate and pick parts to reuse? Will the design accommodate for the anticipated future changes? How?

15 (c) 2010 University of California, Irvine – André van der Hoek15February 21, 2010 – 18:05:19 Miscellaneous Team assignments… You Pick!! Use Subversion (this is good practice, but we might also use it to verify who wrote which code – check in your own code!)


Download ppt "(c) 2010 University of California, Irvine – André van der Hoek1February 21, 2010 – 18:05:18 Informatics 122 Software Design II Lecture 10 Nick Lopez Duplication."

Similar presentations


Ads by Google