| |
Mary Shaw and others at CMU once started a set of "model problems" in software architecture, intended to lay down a set of shared examples for the community to study, to allow them to compare and contrast results, etc. There is a relatively standard format for these problems, which is perhaps best seen in the page for the classic KWIC problem: the standard format addresses the history of the problem, the design considerations, and alternative solutions. There are another 10 or so model problems listed on the web page, most of them without significant content. (Indeed, the content for KWIC isn't especially complete.) Your assignment is simple (to state): take any one of the model problems (except KWIC) and flesh it out to a really significant degree. You don't necessarily need to expand every part (for instance, in some cases the history may be hard for you to acquire), and I would expect in general that the "design considerations" and "solutions" parts will be where you spend the bulk of your effort. You are permitted to work in pairs on this assignment (you'll share the same grade), if you want; I will have somewhat higher expectations in terms of what you produce if you work in pairs, for obvious reasons. A few odds & ends of comments:
|