程序代写案例-QUIZ 2
时间:2022-03-25
QUIZ 2
1. Part 1: short answers [40]
1.1. For a consultant job, you get access to a directory of zip-files, each
containing the source code of a separate release of a software system
that you have to maintain for the coming year. [10]
1.1.1. [Q1] Does it make sense to perform reflexion analysis on this data?
Explain why (not). [3]
1.1.2. [Q2] Assuming that reflexion analysis makes sense, would any
modifications be needed to the reflexion analysis approach that we
have discussed in class? [3]
1.1.3. [Q3] Assuming that reflexion analysis makes sense, would any
modifications be needed to the source sticky note approach that we
have discussed in class? If so, what would be the impact of those
modifications on the quality of the results? [4]
1.2. [Q4] Given deliverable 1 of your group's Jami course project, list the
steps needed to arrive at a reference architecture for "video-telephony
applications". Try to be as concrete as possible. [10]
1.3. [Q5] Provide and discuss 2 ways in which software architecture and
project scheduling are related to each other. [5]
1.4. Right or wrong, and motivate/explain your response. Your motivation
should not just repeat the statement, but clearly explain why it is
right/wrong based on the material we have seen in class. The motivation
of your response counts towards your marks, so please don't forget it. [5]
1.4.1. [Q6] A reference architecture represents an intermediate step in
between the conceptual and concrete architecture.
1.4.2. [Q7] A software product that does not match the reference architecture
of its domain is a bad product.
1
1.4.3. [Q8] Source sticky notes are post-it notes that developers attach to the
printed reports they put on their managers' desk.
1.4.4. [Q9] Having just found a divergency between conceptual and concrete
architecture of a given system, closer examination shows that it is due
to component B containing code for a feature that actually should have
been in component A. Hence, you decide to refactor the code such that
the feature's code is now part of component A.
1.4.5. [Q10] The cone of uncertainty only applies to large projects, since the
duration of small projects makes the cone too short to actually make an
impact.
1.5. [Q11] John D. Carmack II is a living legend in the video game industry,
being one of the founders of id Software in 1991, and being responsible
for the rendering engines driving (amongst others) popular 3D shooter
franchises like Doom and Quake. [10]
However, his wikipedia page mentions:
As a game developer, Carmack differed from many of his contemporaries by avoiding
commitment to a final release date for any game he was developing. Instead, when
asked for a release date on a new title, Carmack would usually reply that the game
would be released "when it's done.". In 2019, as a guest on the Joe Rogan podcast,
Carmack stated that his beliefs have changed over time. "I largely recant from that
now." On Rage's 6-year development time he says "I think we should have done
whatever it would have taken to ship it 2 years earlier". Carmack also reflects on the
internal development of Quake in this regard and describes it as "traumatic" and says id
Software could have split the game into two parts and shipped it earlier.
Why would Carmack's beliefs have changed? Explain using the concepts and theories we have seen
this term. Where possible, provide graphical illustrations to support your textual explanation.
2. PART2: design exercise [30]
uFolder is a web app that allows both families and professionals to securely declare their personal
tax information, then, after payment of a fee (depending on the size of the family or company), to
show a preview of the calculated taxes and to file them automatically to both the provincial and
federal tax services using those services' web (REST) APIs.
Each province and profession has different tax rules, and the different governments make small
updates to tax rules each year, yet at all times uFolder is supposed to follow the right rules for each
customer in its calculations.
uFolder also allows to pay any outstanding tax balance using a secure payment system that could be
linked to someone's chequeing account. This system includes safety checks to ensure that the right
amount of money flows from the right bank account to the right tax service, providing notifications
2
if something went wrong.
The remainder of this question focuses on the (simplified) use case "the user pays the uFolder fee,
gets an overview of the taxes due, submits the tax declaration to the Ontario tax service and pays
the balance due".
2.1. [Q12] In order to come up with a conceptual architecture of uFolder, first
use a sequence diagram for the selected use case to identify the
required components and their interactions. /15
2.2. [Q13] Using the sequence diagram, propose a conceptual architecture
for the selected use case. Use a boxes-and-arrows diagram to explain
the components and interactions in your architecture, but also provide a
brief explanation of each component and interaction in terms of
architectural styles, reference architectures or any other architectural
decision you have made. /15
3. PART 3: project scheduling [40]
3
3.1. [Q14] Draw the scheduling network for this project. Determine the
earliest and latest start and finish date for each activity. [10]
3.2. [Q15] What is the critical path for this project? Also, explain using an
example what that means in the context of the project. [10]
3.3. [Q16] Thus far, we assumed that the duration of the activities is perfectly
known, however, the four tasks below have durations that are in fact
probabilistic estimations based on parameters a, m and b. Taking into
account these parameters, what is the probability that the project will
finish within 12 weeks? [10]
act. a m b t var.
B 1 3 5 3 4/9
C 1 1 7 2 1
D 3 4 11 5 16/9
E 3 4 5 4 1/9
3.4. [Q17] Activity A has been progressing as expected, yet, after finishing A,
the project managers realize that they have severely underestimated the
duration of activity D: the parameter "m" should be 7 instead of 4. Does
this change the probability of finishing within 12 weeks? Motivate your
answer, also providing the new value of the probability, if applicable. [10]
4
essay、essay代写