Itanho se Object-oriented Aslyia d D Pall 209 ment g bo o pel workahop Jtrodtion (4) s0% lon 50% 30% Beration 1 10% Beration 2 herntion S eration 3 heration 4 Why is it inmportant to hold four consecutive requirements workshope in the early IID iterations bedao (each tteration being timeboxed)? ho odl 00 un r O alog abeur Perhaps with the Waterfall process, we hold requirements workahops too What makos IID t otally different from Waterfall? e ll 00 albitadai () (2 points) Abstraction. Ahetraction ie an important technigue for denigning software systema D Jkstra has said: The purpose of abstraction is not to be vague, but to create anew semattic e in which one can be absolutely precise." What does abstraction exactly mean ro tien o o boo o ylaco taib MUds belala as s (g) (2 points) Abstract Base Classes (ABCS). What is the main purpose of having ABCS in Python, a popular object-oriented programming language? aio aol nola Jolg atwollol odt baat (aI) asmolob latminoni heo suiteoll (atioq S) () anoltup owt yarwollot edt ms bas uriteA bn 3MU gainga dood a'aaara (h) (2 points) Information Erpert. Imagine a domain model for an online library catalog system. Ac- cording to the Information Erpert principle for O0 design, "Assign a responsibility to the class that has the information needed to respond to it", what class should be assigned the responsbility of searching for a book? CONT'D.. Page 3 of 9 ...aT400 Class Code: 14+ Introduction to Object-oriented Analysis and Design (1) (2 poits) Duck typing. "If it walks like a duck or swinms like a duck, it is a duck". Duck typing achieves polymorphism without inheritance and method overriding. To see this, what is the output of the following code? er lyeir), A aYAMA CTVURO-TOTLIO OT KOTOUGORTVI wwwpdiyy w duek Daek () (anp)oa takeoff(airpiane) saoebiA manime yllatrn ba al anoluntf aoinm rats of leagie ads bovison d voc lit ug di toa o 0) (2 points) Distinction between aggregation and composition. Aggregation and compostion are two common relationships between objects. What is the differene between aggregation and compostion? olalood tast roy bodoslloo uad sotallgivai od linu bet tis (wolnd) sidat auiba sdt ai nidros stirw don od Do not u 2om pr poogja rpe TO nn co spe eng o roer a docao o boe goog ra 30 12 20 Introduction to Object-oriented Analysis and Design 2. (15 points) Responsiblity-driven design bepon) With responaiblity-driven design, objects have knowing renponsibilities and doing reiponalbilities. We of Computer Science. Below is our draft Software Requirementa Specifieation (SRS) after the first are Beveloping a courte schedulinK oftware agPplication for an undergraduate office in a Department O on spaon aoggo aa geas oga omoo w onpaps oL opjonope no yM dogeIOM sna mboa paaago og TIM Osanoo y uoeony soon pae noreaog moomo ynapnys uoeogu omoo iff more than 4 students have selected this course and at least one instructor is available to teach this course. An instructor is not available if he has time conflicts (eg., on leave, teaching another course at the same time), or if he has already been scheduled two other courses in the next semester. The course schedule will be published online. (ay (1 point) Draw a use case diagram for the above course scheduling sottware. Thialsb aalb av aboo anites vode nd to Ingdro da alW (sialoq ) (h) (b) (2 points) Name a number of essential objects for the course scheduling software. () (1 borar) OPG ang lae ep p Ju comacut pe tanpat of yeee pa io ad diowdiod of svad t'anb oW alquaia stiurp ai sla al abrtw to edea ahas ma rou. tavos ba 1o avo abodtem olqonia ow salob zui bleoo w alquue fasdtag do ait lo aihensd aiteib ods a Jadw d't olotna (c) (3 points) A Class Responsibility Collaborator (CRC) model, which includes a number of CRC cards, is a useful for both object-oriented analysis and object-oriented design. What are the three components in each card? Itanho se Object-oriented Aslyia d D Pall 209 ment g bo o pel workahop Jtrodtion (4) s0% lon 50% 30% Beration 1 10% Beration 2 herntion S eration 3 heration 4 Why is it inmportant to hold four consecutive requirements workshope in the early IID iterations bedao (each tteration being timeboxed)? ho odl 00 un r O alog abeur Perhaps with the Waterfall process, we hold requirements workahops too What makos IID t otally different from Waterfall? e ll 00 albitadai () (2 points) Abstraction. Ahetraction ie an important technigue for denigning software systema D Jkstra has said: The purpose of abstraction is not to be vague, but to create anew semattic e in which one can be absolutely precise." What does abstraction exactly mean ro tien o o boo o ylaco taib MUds belala as s (g) (2 points) Abstract Base Classes (ABCS). What is the main purpose of having ABCS in Python, a popular object-oriented programming language? aio aol nola Jolg atwollol odt baat (aI) asmolob latminoni heo suiteoll (atioq S) () anoltup owt yarwollot edt ms bas uriteA bn 3MU gainga dood a'aaara (h) (2 points) Information Erpert. Imagine a domain model for an online library catalog system. Ac- cording to the Information Erpert principle for O0 design, "Assign a responsibility to the class that has the information needed to respond to it", what class should be assigned the responsbility of searching for a book? CONT'D.. Page 3 of 9 ...aT400 Class Code: 14+ Introduction to Object-oriented Analysis and Design (1) (2 poits) Duck typing. "If it walks like a duck or swinms like a duck, it is a duck". Duck typing achieves polymorphism without inheritance and method overriding. To see this, what is the output of the following code? er lyeir), A aYAMA CTVURO-TOTLIO OT KOTOUGORTVI wwwpdiyy w duek Daek () (anp)oa takeoff(airpiane) saoebiA manime yllatrn ba al anoluntf aoinm rats of leagie ads bovison d voc lit ug di toa o 0) (2 points) Distinction between aggregation and composition. Aggregation and compostion are two common relationships between objects. What is the differene between aggregation and compostion? olalood tast roy bodoslloo uad sotallgivai od linu bet tis (wolnd) sidat auiba sdt ai nidros stirw don od Do not u 2om pr poogja rpe TO nn co spe eng o roer a docao o boe goog ra 30 12 20 Introduction to Object-oriented Analysis and Design 2. (15 points) Responsiblity-driven design bepon) With responaiblity-driven design, objects have knowing renponsibilities and doing reiponalbilities. We of Computer Science. Below is our draft Software Requirementa Specifieation (SRS) after the first are Beveloping a courte schedulinK oftware agPplication for an undergraduate office in a Department O on spaon aoggo aa geas oga omoo w onpaps oL opjonope no yM dogeIOM sna mboa paaago og TIM Osanoo y uoeony soon pae noreaog moomo ynapnys uoeogu omoo iff more than 4 students have selected this course and at least one instructor is available to teach this course. An instructor is not available if he has time conflicts (eg., on leave, teaching another course at the same time), or if he has already been scheduled two other courses in the next semester. The course schedule will be published online. (ay (1 point) Draw a use case diagram for the above course scheduling sottware. Thialsb aalb av aboo anites vode nd to Ingdro da alW (sialoq ) (h) (b) (2 points) Name a number of essential objects for the course scheduling software. () (1 borar) OPG ang lae ep p Ju comacut pe tanpat of yeee pa io ad diowdiod of svad t'anb oW alquaia stiurp ai sla al abrtw to edea ahas ma rou. tavos ba 1o avo abodtem olqonia ow salob zui bleoo w alquue fasdtag do ait lo aihensd aiteib ods a Jadw d't olotna (c) (3 points) A Class Responsibility Collaborator (CRC) model, which includes a number of CRC cards, is a useful for both object-oriented analysis and object-oriented design. What are the three components in each card