Scenario
Imagine you are in charge of a small 3-person development group who will be developing a KWIC index generation tool for an online course. Specifically, your product should have the following features:
· Its input will be a group of HTML files representing the online notes from one lecture.
· The titles of each page in the group will be indexed.
· The tool will be run once a week with a new lecture's worth of HTML pages. The tool should add the new index entries to the existing index.
· The output of the indexing tool will be HTML that is ready to post on the web.
· The execution platform will be a Windows 10 PC.
Be sure to include the following elements in the solution:
1. Evaluation Criteria: Devise a list of key design decisions (either a choice to support some kind of change, or a choice to commit to something unchangeable) that are relevant to the system at hand. Be specific; something like "support a change in function" is too general--"support a change from indexing page titles to indexing all words on the page" is better. Your goal is to provide a set of design decisions that is more comprehensive than the list Garlan and Shaw used in Figure 10 on p. 21, and that will provide an effective way to compare the architectures for this specific scenario.
2. Evaluate 4 Architectures: Evaluate each of the 4 architectures against your set of criteria, briefly discussing the strengths or weaknesses it has with respect to each design decision you have chosen.