軟體工程 第一次作業

2022-05-06 11:18:09 字數 3725 閱讀 6445

第一章 概論  計算機專業術語

軟體=程式+軟體工程

程式=資料機構+演算法

軟體企業=軟體+商業模式

軟體架構 (software architecture)

軟體設計與實現 (soft design,implementation and debug)

源**管理(source code control)

配置管理(software configuration management)

質量保障(quality assurance)

軟體測試(test)

需求分析(requirement analysis)

程式理解(program comprehension)

軟體維護(software maintenance)

服務運營(service operation)

軟體的生命週期(software life cycle , slc)

軟體專案的管理

使用者體驗(user experience)

國際化和本地化(globalization & localization)

軟體開發的不同階段:

(1)玩具階段

(2)業餘愛好階段

(3)探索階段

(4)成熟的產業階段

軟體的特殊性

(1)複雜性(complexity)

(2)不可見性(invisibility)

(3)易變性

(4)服從性

(5)非連續性

電腦科學偏理論的領域

(1)計算機理論

(2)資訊和編碼理論

(3)演算法和資料理論

(4)形式化方法

(5)程式語言

偏實踐的領域

(1)計算機體系結構

(2)平行計算和分布式系統

(3)實時系統和嵌入式系統

(4)作業系統

(5)計算機網路

(6)科學計算

(7)安全和密碼學

(8)人工智慧:模式識別、機器學習、資料探勘、資訊提取等

(9)計算機圖形學、計算機視覺、多**

(10)資料庫和大規模資料處理

(11)全球資訊網

(12)自然語言處理和語音

(13)人機互動

(14)軟體工程

二、通讀

「構建之法」過程中發現的問題:

(1):為什麼現在很多的軟體工程作業還是沒有書中強調的具有實際意義,到底該如何實現具有實際意義的軟體工程作業?

書中p37-41頁:

我讀了書中37頁的內容,發現作者在強調學校設計有實際意義的軟體工程作業,發現很多老師反映軟體工程的作業題目不好出,學生的「大作業」也是了無心意,自學軟體開發的讀者往往也想          不出什麼有新意的題目來練習。

怎麼辦,師生們身處在轟轟烈烈的軟體產業大環境,但是軟體工程課上做的題目還是非常的簡陋,沒有起到應有的作用,這的確是一件很有諷刺意義的事情。普遍的作業都缺乏軟體工程作業必         要的兩個基本要素:複雜性和易變性。

書中只是提到什麼是有實際意義的軟體工程作業,並沒有說如何具體的去實現去改變目前的現狀,所以我對這節內容有些疑惑!

(2):軟體工程師該如何避免進入思維誤區,避免走些不該走的彎路,使自己的工作更加效率?

p48頁

書中3.2只提到了軟體工程師的思維誤區在那些地方,但是並沒有說到底如何讓工程師去實際的避免這些個思維誤區。

書中具體分析了軟體工程師的一些具體的誤區都在**,例如①分析麻痺,②不分主次,想解決所有依賴問題③過早優化④過早擴大化/泛化。軟體開發有它自己的獨特的規律,如果不了解這            些特性,軟體工程師就會產生一些不切實際的想法,在開發過程中走很多的彎路。

(3):第8章的需求分析,獲取使用者的具體需求的調研過程中程式比較的麻煩,效率並不是很高,是不是可以借助大資料功能來去完成這個需求分析,會不會相對之前而言既效率又精準?

p151頁

書中先是講了軟體需求:1.獲取和引導需求,分析和定義需求,驗證需求,在軟體產品的生命週期中管理需求。

2.軟體產品的利益相關者

3.獲取使用者需求——使用者調研:焦點小組,深入面談,卡片分類,使用者調查問卷,使用者日誌研究,人類學調查。

通過書中的介紹,我發現使用者需求分析是個很繁瑣又效率一般的工作,能不能通過一些技術去改進這個過程,節約更多的時間和成本。

(4):第12章--使用者體驗,使用者體驗是非常重要的對於一款軟體來說,但是一般軟體都是開發完成後才有使用者去用,才成產生使用者的體驗反饋,我想是不是能在開發的過程中就讓一些將來需要用到這款軟體的使用者參與到軟體開發的過程中,這樣是不是能更好的去設計好軟體增強使用者體驗?

p249頁

使用者體驗的要素:①使用者的第一印象②從使用者的角度考慮問題③軟體服務始終都要記住使用者的選擇。④短期刺激和長期影響。⑤不讓使用者犯簡單的錯誤。⑥使用者體驗和質量⑦情感設計

我發現對使用者體驗的分析都是從外部分析的,為何不能讓實際的使用者來參與到軟體的開發過程當中呢?

(5):第17章——軟體工程師的職業道德,書中只用簡單的兩頁就介紹完了,我想提問軟體工程師的職業道德難道不是最重要的嗎,應該需要具體的詳細的講解,讓大家了解一名合格的軟體工程師是怎麼樣的,如何成為一名有道德操守的優秀的軟體程式設計師。

p405頁

書中材料直接引用了,《軟體工程師職業道德規範和標準》簡要的說明了幾個重點:

原則1:公眾,

原則2:客戶與雇主

原則3:產品

原則4:判斷

原則5:管理

原則6:職業

原則7:同事

原則8:自身

材料並沒有具體詳細的去講解軟體工程師的職業道德。

它是中國最大的即時通訊軟體,身邊很多人都是用它進行通訊聯絡。便於同學之間的聯絡。比簡訊業務便宜很多也方便很多。

是否目的為盈利,如何盈利的:

qq最開始的目標並不是盈利,後期需要大量的資金進行維護運轉公司,逐漸轉變為盈利模式。目標是賺取使用者現金,通過開通各種會員來賺取使用者現金。

qq是即時通訊軟體,他通過其方便快捷,上手容易,更友好的使用者體驗,豐富的多元化功能來博取大量的使用者群體的長期使用。

因為支付寶是一款被大量使用者使用,在國內盛行的快捷支付軟體,可以不帶現金,用手機就可以支付,方便快捷。

②是否目的為盈利,如何盈利的:

支付寶是以盈利為目的的軟體。它通過使用者存在支付寶裡面的現金,拿這些現金去做更多的投資,賺取更多的利潤。還通過,借貸,消費,金融和其大量使用者流量來盈利。

③軟體如何到自己的手裡的:

④如何處理bug的和更新版本:

⑤同一型別軟體是如何競爭的:

支付寶的易用性,實用性,最主要的是其和現在國內最大的的電商平台**的緊密聯絡,

使其幾乎成為一款獨一無二的軟體,幾乎不存在同型別的競爭對手。

現在由於資訊化時代的快速發展,餐飲服務行業也加快公升級,進而出了新興的外賣配送服務行業的產生。它有傳統餐飲無法比擬的多選擇,更快捷,省心省力。

②是否目的為盈利,如何盈利的:

餓了麼是以盈利為目的的軟體,它同過向加盟餓了麼的商家收取服務費來盈利。

③軟體如何到自己的手裡的:

④如何處理bug的和更新版本:

⑤同一型別軟體是如何競爭的:

同類外賣服務業裡,商家加盟餓了麼相對其他軟體更加容易,餓了麼對商家收取的服務費也相對其他競爭對手會更少。

軟體工程第一次作業

第一次閱讀和準備作業 這個作業屬於哪個課程 課程的鏈結 這個作業要求在 課程作業要求 我在這個課程的目標是 打下軟體開發基礎,學習如何做乙個合格的軟體工程師,而不只是碼農。這個作業在哪個具體方面幫助我實現目標 它提供了很多優秀的文章,供我們閱讀,其中不乏一些前輩的經驗之談。為我日後的發展提供了一些指...

軟體工程第一次作業

通過乙個星期的閱讀我已經看完了鄒欣的 構建之法 現代軟體工程 這本書,我對軟體工程也有了更多的認識,對我來說,軟體工程包含了軟體的整個生命週期,包括需求分析,軟體設計,測試和維護等,軟體工程與許多的學科密且相關,而軟體有很多種類,比如遊戲娛樂軟體,系統軟體,和應用軟體等。軟體工程的主要內容有 軟體工...

軟體工程第一次作業

第一次閱讀和準備作業 這個作業屬於哪個課程 課程的鏈結 這個作業要求在 課程作業要求 我在這個課程的目標是 打下軟體開發基礎,學習如何做乙個合格的軟體工程師,而不只是碼農。這個作業在哪個具體方面幫助我實現目標 它提供了很多優秀的文章,供我們閱讀,其中不乏一些前輩的經驗之談。為我日後的發展提供了一些指...