#軟件工程本質和意義,過程技術是怎樣的技術?
` 為什么需要【軟件工程】理論?其與【軟件項目管理】是怎樣的關系?
#軟件工程與項目管理# 研究軟件工程和項目管理,主要目的是為了找到一種工程技術和管理技術,用于幫助商業軟件的生產的可行性,經濟性。軟件工程有怎何技術?項目管理有可何技術么? 軟件工程主要技術是標識軟件工程任務內容,例如開發測試部署;項目管理找到一些節省成本的控制技術。2月22日
` 軟件工程與軟件項目管理的任務內容
#軟件工程與項目管理# 軟件工程學與軟件項目管理不完全一樣,但有重疊的地方。【軟件工程】強調相對于單人手藝的工業大任務大生產,【項目管理】關心任務目標(計劃)和成本控制關系(協調)。但有些比較的模糊,例如需求分析。需求分析顯然是一種產品計劃,屬于項目管理,但是需求分析本也是工程流程一步。2月22日
` 軟件工程過程有多個子部分,軟件項目管理是其中一部分(成本控制)
#軟件工程與項目管理# 軟件工程實指軟件規模商業生產與制造。既然軟件工程是大規模任務,單個人只能有限負責部分工程任務,那么軟件工程師只是一個專稱。根據軟件工程的不子工程任務分,軟件工程師涵蓋分析師、架構師,設計師,開發,測試,部署和管理等。2月23日
` 文檔很重要
#軟件工程# 軟件工程最新認識包括,第一,【軟件項目管理】是【軟件工程】中關注成本控制的子部分;第二,軟件工程意義及各個部分內容;第三,文檔,全面文檔是軟件工程(商業軟件)形式的一部分;第四,開發是軟件構建很小的一部分,構建包括開發測試部署等多個部分。2月27日
` 軟件工程是工程,有一般工程(大任務),也有自己特有的性質
#軟件工程# 看到強調軟件過程模型對是軟件產品質量和生產效率重要性觀點,我有自己的懷疑。其實任何一種工程都有一種過程,真正【決定軟件質量】是【軟件項目特有的一種管理技術】,而不是一種過程模型這么粗糙的理解。這種【管理技術的重心】是為不同軟件工程任務安排(或儲備)合格的專業人員,并進行激勵。2月27日
#軟件工程# 關于軟件解決的問題,軟件產品形式,軟件產品提供是一種計算服務,滿足一種信息處理需求,【相對有形產品有明顯的區別】。這區別也決定產品生產過程。2月27日
` 所謂通用過程技術,其實類似植物生長(生根發葉開花結果)規律一樣,軟件構建本身固有過程規律
#軟件工程# 最近在研究軟件過程技術(例如主流的UP,通用過程),發現這種消散復雜軟件項目存在風險的策略(技術),可以應用到任何復雜事務上去,例如風險創業本身就是,還有學習,還有人生選擇。它那迭代(iteration)和演化(increment),是一種普遍原理。3月29日
#軟件工程# 為什么有UP和UML?軟件制造過程有一個自然的遞進屬性,例如線性瀑布,從設計到生產到測試和發布。由于軟件工程任務艱巨,被劃出多個專業(多個工作角色)來相繼分段接力完成工程任務,UP就是一個過程理論。每個工作角色都有自己特定的工作環境(操作原語、基本術語、推理分析、工作輸入,和輸出),軟件制造非常的依賴文檔,工作處理輸入,交流交接、過程產物和產品形式全是文檔符號。UML既為特定工程師角色提供操作原語,也是相鄰角色交流提供了符號工具。4月1日
#軟件工程# 有了工程師工作角色與環境的理論,我們在研究(并學習成為)某工程師角色時,就有據可依。例如需求分析師,他的輸入是某個應用領域的市場數據,處理是需求用例,輸出是需求說明書……軟件設計師接力SRS,用軟件構架設計理論處理,輸出某軟件的概念架構設計,如此具往……4月1日
``````
#軟件工程# 很多工作角色,理論之外需要有很多個具體的處理,需要工作者個人額外經驗。例如需求分析師對市場數據的分析,分析的結果(最后的輸出)就滲入了其個人經驗。這是在工作角色(能力)之外的權責分析。就是工作者對自己的個人經驗判斷負責。例如需求分析師要對需求結果負責。4月1日
=====
#創業##軟件工程# 成功的創業者本質就是順利調配組織中各stakeholder的合作。需求文檔(SRS)就是這個目的的載體。注意stakeholder手里的資源不僅僅是時間和資金,還有知識(能力),下賭目標也不僅僅是資金,還會有能力、生活等目標。3月2日
#軟件工程##創業# stake原意“下賭注”,stakeholder就是下賭注者。stakeholder基本屬性有,下押的資源,下押的目的(興趣),下押的判斷,和對判斷結果的負責(成了獲利,敗了賠本)。其實在一個組織中,任何角色都是下注者,只是資源多責任大的常常被強調為代表。3月2日
#軟件工程# 在想一個問題,做產品總是為了「客戶需求」提供服務,為其產生價值。但是從「用戶也是stakeholder」的角度說,企業也有需求要客戶來滿足,那就是付費使用產品。所以,當我們說產品的功能需求其實是針對最終用戶而言的,一個項目運營下來有各種面對不同holders的需求。3月2日
====
#軟件工程# 什么叫工程?其實很簡單, 就是一件需要兩個或以上的專業人員協作完成的項目,就叫工程。注意專業人員的界定。它一般指,當兩件事很難由一個人高技巧完成時,我們說這兩個事分為兩個專業。2月29日
#純粹過程理論,與實踐效果控制技術
#軟件工程# 絕對固化的軟件過程和高度反饋的過程都是“不存在”,大部分類型軟件項目的性質在處于中間位置。具體操作是靠經驗,過程模型理論知識價值有限。作為軟件創業者,項目管理者,保證質量和效率如果不能靠自己(常常是這樣),也須有一種評估專業人員工作效果的能力的技術。2月27日
#軟件工程##企業管理# 成功創辦并運營一家企業看去上很難,但是從最本質的一層看可又非常的精簡,那是什么?那是掌握【合理分割和評估責任與權利的技術】。還有就是一種關于學習的文化。3月4日
#創業# 需求文檔與商業計劃書是什么關系?需求文檔屬于內部產品文檔,由項目分析師撰寫,給設計師;BP有面對外部融資的部分文檔,由創業者/企業主撰寫,召集holder,BP也有計劃部分,但較宏觀抽象。3月11日
#軟件產品與需求(本質、意義 與種類)
#軟件工程# 在我看來,需求不僅僅是面對最終用戶,只是這種需求比較特殊,它驅動整個工程項目;工程中【所有人員都有自己的需求】(要被滿足),「請求者」知道最精確最有價值的需求,「提供需求實現者」有能力實現這些需求滿足。二者都是專業人員,stakeholder.3月4日
#軟件工程# 用戶需求不是工程中唯一的需求,但是是“最大的”最終的需求,也是工程動力原點。工程內部過程有面對【內部工程師的需求】,那這些需求有怎么樣的特性呢?又怎樣匯集成用戶需求?例如一支PHP軟件,除用戶需求網站服務,PHP產品專業人員會知道有哪些非功能需求,這就是竅門。3月4日
#軟件工程# 面對內部工程師的需求統稱「內部需求」(包括傳統的非功能需求),相對于面對最終用戶的用戶需求。對于軟件工程,內部需求最大的特點是抽象,專深,例如UX,不像用戶需求那容易驗證和評估;其次,軟件項目比較復雜,需求和專業工程師都在演化之中,增加評估難度,管理成本高。3月4日
` 需求就是價值,需求種類與產品種類
#軟件工程# 做產品(創業),(軟件)需求還是很研究價值。因為需求就是價值,發掘需求就是發掘財富。用戶需求的確認在一些類型產品(例如主觀性軟件)是一件“工程”任務。需求種類以用戶「需要特性」分為多種,產品同樣。3月29日
#以一擋十,自我定位的確認
#軟件工程# 手頭上的軟件項目其實比較的小,故對全面的軟件工程(包括項目管理)的理論知識,我不想有太大的投入,我不需知道所有軟件項目應該進行工程控制,我只想了解自己手頭項目的特性就行了。但是,話回來,我想指導自己項目的順利合理執行,相當的工程理論知識亦必不可能少。2月27日
#軟件工程# 我斗膽的地方還不僅僅是企圖以一擋十,事實我連一都沒有,i try to beat everything with nothing。因為沒有任何成功的實踐經驗,不是任何一個領域的專家。3月9日
#軟件工程# 項目走到今天無退路(包括我自己),步步為營是目前唯一選擇。在眾多專業職務上,我只能選其一二。不是專家的部分只能合理評估產品品質,有待適當預算(budget)周期再精化。3月9日
#軟件工程# 用軟件工程理論了解商業軟件制造過程后,想到了一個句話,初生牛犢不怕虎,忽然醒覺。主要后覺自己的斗膽。幾近以一擋十。即使是很小的商業軟件也遠遠超一個人的能力,需多個不同領域的專家,stakeholder,來通力合作,包括創業,金融,市場。3月9日
#軟件工程##創業# 軟件商業項目天生是復雜困難的,再加我手頭是個高風險型軟件項目(需要作可行性證明),困難更是重重。還有,我沒有軟件項目管理方面成功經驗,我說,斗膽一點沒有錯。我能做的是,了解自己能力、興趣所在,定位困難,并確立相對的應對策略。3月22日
#軟件工程# 不是會寫代碼就能開軟件公司,同樣,不是有想法就可以當CEO。這個月的軟件工程理論研究讓我體會到,無論規模多大的商業軟件項目都是一項極大的風險投資。因為完整的軟件商業項目橫跨了多個專業(disciplines),包括企業家、軟件項目管理,成功湊合這些專業本身風險巨大。3月30日