2022哈工大软件构造我的学习笔记(1)
一、軟件多維視圖
軟件多維視圖包括moment/period,build/run time,code/component level三個(gè)維度共個(gè)視圖。
1.build time下關(guān)注:
Code-level view:source code源代碼 ---- how source code are logically organized by basic program blocks such as functions, classes, methods, interfaces, etc, and the dependencies among them 即代碼的邏輯組織。
Component-level view:architecture結(jié)構(gòu) ---- how source code are physically organized by files, directories, packages, libraries, and the dependencies among them 即代碼的物理組織
Moment view: what do source code and component look like in a specific time 特定時(shí)刻的軟件形態(tài)?
Period view: how do they evolve/change along with time 軟件形態(tài)隨時(shí)間的變化
2.run time下關(guān)注:
Code-level view: source code ---- what do the in-memory states of an executable program look like and how do program units (objects, functions, etc) interact with each other? 代碼層面:邏輯實(shí)體在內(nèi)存中如何呈現(xiàn)??
Component-level view: architecture ---- how are software packages deployed into physical environment (OS, network, hardware, etc) and how do they interact? 構(gòu)件層面:物理實(shí)體在物理硬件環(huán)境中如何呈現(xiàn)?
Moment view: how do programs behave in a specific time 邏輯/物理實(shí)體在內(nèi)存/硬件環(huán)境中特定時(shí)刻的形態(tài)如何?
Period view: how do they behave along with time 邏輯/物理實(shí)體在內(nèi)存/ 硬件環(huán)境中的形態(tài)隨時(shí)間如何變化?
各維度視圖包含的內(nèi)容在歷年考試題中是考過(guò)的,需要記住這張圖:
二、內(nèi)部質(zhì)量屬性和外部質(zhì)量屬性
External quality factors affect users 外部質(zhì)量因素影響用戶
Internal quality factors affect the software itself and its developers內(nèi)部質(zhì)量因素影響軟件本身和它的開(kāi)發(fā)者
External quality results from internal quality 外部質(zhì)量取決于內(nèi)部質(zhì)量
這部分每年都會(huì)占比一部分的小分:
外部質(zhì)量屬性包括:Correctness正確性、Robustness健壯性、Extendibility可拓展性、Reusability可復(fù)用性、Compatibility兼容性、Efficiency效率、Portability (可移植性)、Ease of use (易用性)、Functionality功能性、Timeliness (及時(shí)性)
內(nèi)部質(zhì)量屬性包括:Source code related factors such as Lines of Code (LOC), Cyclomatic Complexity, etc 、?Architecture-related factors such as coupling, cohesion, etc。源代碼相關(guān)因素,如代碼行(LOC),環(huán)形復(fù)雜性等,架構(gòu)相關(guān)因素,如耦合,內(nèi)聚等。Readability可讀性 ? Understandability 易于理解? Clearness清楚 ? Size大小
三、數(shù)據(jù)類(lèi)型
基本數(shù)據(jù)類(lèi)型:小寫(xiě)的,如int、long、boolean、double、char等
對(duì)象數(shù)據(jù)類(lèi)型:大寫(xiě)的,能放進(jìn)<>里的,如String、BigInteger等
?可變的能改變地址空間內(nèi)的值,不可變的只能改變指向的地址空間。
總結(jié)
以上是生活随笔為你收集整理的2022哈工大软件构造我的学习笔记(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: git repack多包使用及相关性能测
- 下一篇: U8打补丁