CS-446_ECE-452-1005-Final_exam.pdf You should be able to do most of this final exam. Here are some exceptions: Q1. General programming guidelines. We haven't discussed this stuff, but you should know it. If you do not already know it now then we should discuss it later in class. There is more to say on this topic than is covered in question 1. Q4. Design patterns. You should be able to do this, but I'm not sure why the particular patterns were chosen for this problem. Let's go over this in the tutorial tomorrow. Q7. PERT charts for project planning. We haven't covered this, and I wasn't planning to, but it's easy and a classic idea, so maybe we will cover it sometime after the midterm. Q8. COCOMO method for estimating the cost of producing software. We haven't covered this, and I wasn't planning to, but maybe we should take a look at it after the midterm. Q8B. Software metrics. We probably won't discuss this. Software metrics are things like the number of classes, number of methods, etc. There are some more sophisticated measure than these examples which try to assess how complicated the software is. CS-446_ECE-452-1009-Final_exam.pdf Q1. This question is asking you to describe the architecture of your VOIP system (back then you were required to work on a VOIP system for the labs in this class). This question also uses the term "ownership architecture", which we have not discussed in class directly. The idea is to see how the social organization of the programmers relates to the structural organization of the code. We discussed the basis for this idea in our definitions of design: Conway's Law states that the organization of the code will mirror the organization of the people who produced it. Q2. This question is asking about tools for architectural extraction. PBS stands for "Portable Bookshelf System", which includes the tools used in the Bowman et al and Hassan & Holt case studies, as well as the tools that Ian Davis works on (our guest lecturer last week). However, we haven't discussed these tools in enough detail for you to really answer this question. Q3a. Web applications. Atif Khan will be covering this material before the midterm. Q3b. Asks about a paper that we have not read on the evolution of the Linux kernel. I have added this paper to our repository: GodfreyTu-LinuxEvolution.pdf. It's worth reading. Q4. You will be able to answer this after next week. By "Tarksi algebra" they mean "relational algebra" which is what Alloy is. We would recast this question in Alloy syntax. Q5. These are questions you should be able to answer. Parts A and B are are phrased in terms of the VOIP system that the students developed in that offering. Part C is independent of the VOIP system. Q6. Software metrics. See comments above. Q7. Design patterns. You should be able to do this.