構建之法閱讀筆記03

2022-05-05 19:12:08 字數 1639 閱讀 2221

軟體的開發是方便人們的生活,我們軟體的開發是服務於人,滿足大眾的需求,而不單單是給我們專業人員看,所以我這次閱讀筆記的關鍵字是「使用者體驗」。乙個軟體,使用者的第一印象很重要,乙個良好的使用者第一印象往往決定了使用者對軟體的評價。要設計乙個好的軟體,我們可以通過5w1h的方法來判斷。我們在開發軟體時,需要從使用者的角度來考慮問題,這裡我學習到了軟體團隊的設計師和軟體工程師的「同理心」。所謂同理心,就是理解別人的處境、心機、動機的能力。一顆為使用者著想的「同理心」是好的產品設計的出發點。軟體的服務始終都要記住使用者的選擇,要注意短期刺激和長期影響。同時,避免讓使用者犯簡單錯誤也是我們需要考慮的乙個重點。通過飛機上的遙控器這個例子讓我聯絡實際明白了避免使用者犯簡單錯誤的重要性。好的使用者體驗是大家所需要的,但是噹噹質量與使用者體驗衝突時,我們需要保證質量而不是注重使用者體驗。對於乙個軟體的使用者介面,我們可以通過一些著名的評價標準來規範自己的軟體使用者介面。

軟體開發完成後,我們需要對軟體進行測試。測試設計按測試設計的方法分類,有兩種方法,黑箱和白箱。所謂黑箱,是指在設計測試過程中,把系統軟體當做乙個「黑箱」,無法了解和使用系統的內部結構及知識。白箱是指在設計測試過程中,設計者可以看到系統的內部結構和使用系統的內部結構及知識。按測試的目的分,可分為功能測試、非功能測試兩種。測試方法多種多樣。有在前面學習的單元測試,還有**覆蓋率測試、構建驗證測試、驗收測試、「探索式」的測試、回歸測試、場景/整合/系統測試、夥伴測試、效能測試、壓力測試、內部/外部公開測試、易用性測試等。實戰中的測試是在專案的穩定階段執行的。團隊在這一階段的核心任務是在滿足最低接受條件的前提下,提高各個部分的質量。

軟體的質量強調軟體要符合使用者及利益相關者的需求。在學習前面的知識時。我們學到了「軟體=程式+軟體工程」。同理。軟體質量=程式質量+軟體工程質量。軟體的質量在於軟體外在功能的質量。軟體工程的質量就與軟體在時間、成本上滿足利益相關者的需求。衡量軟體工程的質量,我們可以借用一套比較成熟的理論--cmmi(capacity maturity model integrated,能力成熟度模型整合)。運用cmmi模型管理專案,不僅降低了專案的成本,而且提高了專案的質量和按期完成率。要達到一定的軟體質量,是要付出成本的。swebok特定義了軟體質量成本包括預防、評審、內部故障、外部故障這四個方面。磨刀不誤砍柴工,每個團隊在成本上的付出都會收到回報。

軟體測試和開發完成後,我們就進入穩定和發布階段。軟體專案需要進行會診。軟體團隊的各個角色代表組成了會議小組,處理每乙個影響產品發布的問題。複雜專案的會診時,我們要按時發布軟體可以採用設計變更(design change request,dcr)和zbb(zero bug build)招數。專案臨近結束時,可以採用最後回歸測試以及砍掉功能招數。通過不同頻率和不同覆蓋範圍的漸進發布。

在以前,我們結對開發編寫過四則運算的網頁版,由於自身的原因我們並沒有進行使用者體驗相關工作,完全按照自己的想法和套路來實行,介面搭建比較隨意,沒有進行使用者介面的規範和美化。同時,我們只是致力於老師驗收時能蒙混過關,對於自己開發的軟體沒有進行多次測試,導致軟體具有侷限性。

學習了這幾章後,我明白了以前我們的做法是不對的,我們應該在開發階段之前對軟體的使用者介面進行詳細搭建、美化,讓使用這個軟體的使用者對這個軟體的滿意度上公升。同時,我們在測試階段應仔細測試,找到軟體的問題所在,努力解決,而不是選擇蒙混過關。

在以後的學習過程中,我會努力在開發軟體時按標準出發,規範自己的軟體使用者介面,仔細測試自己的軟體,通過合適的測試用例來完成軟體的測試。同時盡自己的最大努力來保證自己軟體的質量。

構建之法閱讀筆記03

通過這幾天的閱讀,基本對本書又有了新的認識,讀完這本書是一回事,要想深入的理解又是另一回事。本書第一版出自2014年,當時軟體工程正在中國蓬勃發展,在此書出來之前大學裡的教材有些還是外國書籍的翻譯版本。豆瓣上對此書的介紹是 軟體工程牽涉的範圍很廣,同時也是一般院校的同學反映比較空洞乏味的課程。但是軟...

構建之法閱讀筆記03

今天自己又回過頭來詳細的閱讀了一遍 構建之法 的第二章,下面分享一下自己的體會。一.單元測試 之前自己在程式設計的過程中,從來沒有對自己的程式進行過單元測試,總覺得輸出了題目要求的結果就行了,沒有考慮過程式執行的中間過程或是對占有的記憶體進行釋放等問題。而書中詳細介紹了單元測試的重要性和如何進行單元...

構建之法閱讀筆記03

又到了一周的結尾,時間過得真快。這一周,閱讀了 構建之法 關於團隊和流程的部分。正好,這周我們用的就是結對開發的模式。算是理論加上實踐吧。和以往的單獨程式設計不同的是,團隊開發增加了與同學的交流討論,在問題的解決與實現方面不再是一人單扛,可以交換不同的思路,用不同的角度思考問題,把問題更好的解決。這...