MOOC北京大學(xué)軟件工程-第七周-面向?qū)ο蠓治?0-1)
一、面向?qū)ο蠓治龈攀?/p>
OOA的最終目的是產(chǎn)生一個只能直接反映問題域的OOA模型 ×
OOA過程中建立模型規(guī)約可以集中進(jìn)行,也可以分散在各個活動中 √
面向?qū)ο蠓治龇椒ㄅc結(jié)構(gòu)化分析方法的區(qū)別之一是(一個以問題域的成分為為幾點來構(gòu)造一個模塊,而另一個不是)
二、識別類
與實現(xiàn)條件有關(guān)的對象是OOA階段需要重點關(guān)注的對象 ×
如果一個交互是由系統(tǒng)外的參與者發(fā)起的,第一個處理該交互的對象是主動對象 √
在對象分類過程中,對于屬性及操作相似的類需要考慮能夠抽象出一個一般類或部分類 √
以下說法錯誤的是(轎車和貨車都是車,所以可以直接以一個類“車”代替兩個類)
三、識別屬性和操作
OOA過程中,為了提高操作的執(zhí)行速度,可以考慮增加一些屬性來保持操作的階段性執(zhí)行結(jié)果 ×
一個類的屬性必須適合這個類和它的全部特殊類的所有對象,同時,一個類中的操作也應(yīng)適合這個類及其所有特殊類的每一個對象實例 √
在OOA過程中,不需要考慮任何主動對象和主動操作 ×
以下哪項不屬于類范圍的操作(創(chuàng)建類的某個對象)
四、識別對象之間的關(guān)系
在面向?qū)ο蠓治鲭A段,對于繼承關(guān)系的簡化以下說法正確的是(以上說法均正確)
關(guān)聯(lián)關(guān)系可用動詞或動賓結(jié)構(gòu)來命名,關(guān)聯(lián)的命名不可缺省 ×
兩個對象之間的關(guān)聯(lián)關(guān)系只能有一個 ×
在初步建立類之間的關(guān)系時,可以暫時使用關(guān)聯(lián)。在最終的類圖中,若能用其他關(guān)系明確地指明類之間關(guān)系的含義,就不要使用關(guān)聯(lián) ×
依賴關(guān)系是一種使用關(guān)系,如果被使用的類發(fā)生變化,那么另一個類的操作也會受到影響 √
五、面向?qū)ο笤O(shè)計概述
需求是不斷變化的,為了加強(qiáng)可維護(hù)性在設(shè)計上需要適應(yīng)不可預(yù)見的變化。以下術(shù)語的易變性最低的是(類)
與結(jié)構(gòu)化的分析和設(shè)計類似,面向?qū)ο蟮姆治龊驮O(shè)計之間也存在一定的鴻溝 ×
從OOA到OOD的過程以下描述最恰當(dāng)?shù)氖牵?strong>調(diào)整和增補(bǔ))
OOD模型的4個部分均采用與OOA一致的概念、表示法、活動及策略 ×
六、問題域部分的概念
所有的實現(xiàn)因素都能通過一些在OOD中新定義的獨立組成部分而實行有效的隔離 ×
以下實現(xiàn)條件對OOD模型問題域部分影響最大的是(編程語言)
在OOA中未完成的細(xì)節(jié)定義需要在OOD完成,所以O(shè)OD的主要任務(wù)是對OOA的細(xì)化 ×
七、如何進(jìn)行問題域部分的設(shè)計
OOA強(qiáng)調(diào)如實地反映問題域,OOD考慮實現(xiàn)問題,當(dāng)所用語言不支持多繼承和多態(tài),此時需要按編程語言調(diào)整多繼承和多態(tài) √
相同的操作名在同一個類中可以被定義多次,按參數(shù)的個數(shù)、種類或次序等的不同對它們進(jìn)行區(qū)分,這種現(xiàn)象在面向?qū)ο蠓椒ㄖ斜环Q為(重載)
以下屬于進(jìn)行問題域部分的設(shè)計需要考慮的方面有(提高性能、考慮復(fù)用、編程語言、永久存儲)