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