Handed out: Thursday, January 31, 2008 Due: Thursday, February 7, 2008, at the beginning of class This assignment and subsequent ones concern the design and implmentation of an interactive program called "ICritters". Your task for this assignment is to draw a UML diagram of the overall program. ICritters is a combination social-networking/tamagotchi (virtual pet)/news-filtering system. The owner of an ICritter gets a single virtual pet (an ICritter) that they manage through both affection and treats. In return, the ICritter scours the web, interacting with other ICritters and bringing home interesting tidbits for their (hopefully) beloved owner. The tidbits might consist of news stories, articles from blogs, mp3s, videos, and maybe even another ICritter owner's homepage - a way to meet new friends with similar interests online! The ICritters should know about their experiences and the preferences of their owner, although they also might make differing decisions based on their mood or personality. An ICritter also has some likes and dislikes as to how it is handled by its owner. The ICritter may develop a fondness for a certain treat, or a certain type of affection. Some of these tendencies may be randomly decided upon the inception of the ICritter, other tendencies may have to do with the type of the ICritter. An ICritter will have an visual representation that the owner interacts with, the representation could be a static image or animated based on the owner's decision. Some example ICritters could be: + cat-like: - more independent, self-willed and arbitrary - a bit proud - not as interested in user-affection, more interested in user-treats + dog-like (maybe have breeds too): - very interested in user-affection and treats equally (some randomness) - slavishly devoted + the pseudo-penguin: - Likes popular items Administrative: + Turnin will consist of a single 8.5 x 11 sheet of paper with your diagram at the start of class Thursday Feb. 7 + Don't forget to put your name and your section leader's name on your page. Grading: + Use as many UML constructs as possible (comprehensiveness is important). + Neatness and legibility are important CSc335 (OO Design and Programming) Assignment 2 Spring 2008:4.2 Tips: + The system has been only vaguely described, so your job is to design something that makes sense to you and use UML to convey that design to the reader (i.e. grader :). + Use the handouts and examples for ideas on how to use all the UML constructs. Extra Credit: + Up to a 10% bonus for using a UML tool and producing a good diagram using the tool. + Up to a 5% bonus for writing an instructive paragraph describing the pros and cons of the UML drawing tool you chose, if indeed you used a tool..