一、軟件開發(fā)模式
? ? 1、瀑布模式:
? ? ? ? 需求分析(需求說明書):根據(jù)規(guī)定的需求分析實現(xiàn)方式
? ? ? ? 系統(tǒng)設計(系統(tǒng)設計書):
? ? ? ? 程序設計(程序設計書):整體app原型設計
? ? ? ? 編碼(程序清單):開發(fā)
? ? ? ? 測試(測試報告):測試
? ? ? ? 運行及維護(維護報告,改進的系統(tǒng))
? ? 優(yōu)點:當?shù)谝粋€模塊完成后不需要關注搏色,只需要關注后續(xù)的模塊
? ? 缺點:當?shù)匾粋€模塊完成后,開始下始模塊時第一個模塊不能修改,
? ? ? ? 見不到整個開發(fā)成果狐赡,到最后有開發(fā)風險,
? ? ? ? 模塊化需要在規(guī)定時間驗收成果
? ? ? ? 瀑布模型的突出缺點是不適應用戶需求的變化
? ? 2嗜诀、快速原型模式
? ? ? ? 快速原型就是有一個固定的模型猾警,開發(fā)人員可以確定需求
? ? ? ? 第一步是建造一個快速原型,用來實現(xiàn)客戶或者用戶和系統(tǒng)的交互隆敢,然后用戶進行評價发皿,進一步細化待開發(fā)軟件的需求
? ? ? ? 第二部就是在第一步的基礎上開發(fā)客戶滿意的產(chǎn)品
? ? 3、螺旋模型
? ? ? ? 螺旋模型是判斷目標拂蝎,可選方案和限制穴墅,明確名解決風險,評價可選方案温自,開發(fā)和測試玄货,進入下一階段測試決定下一步做法
? ? ? ? 制定規(guī)劃:要確定軟件的目標,使用方案 清楚開發(fā)的限制條件
? ? ? ? 風險分析:要提前考慮有哪些風險悼泌,提前解決松捉、評估分析所選的方案
? ? ? ? 實事工程:開始開發(fā)和驗證
? ? ? ? 客戶評估:評價開發(fā)實現(xiàn)的功能 和提出建議,制定下一步計劃
? ? 4馆里、迭代模型
? ? ? ? 迭代模型是和瀑布式開發(fā)相反的軟件開發(fā)過程
? ? ? ? 優(yōu)點:成功率隘世,生產(chǎn)率高。
? ? ? ? 降低開支風險
? ? ? ? 降低上線時期發(fā)現(xiàn)的風險鸠踪,
? ? ? ? 加快整個開發(fā)工作的進度
? ? 5丙者、增量模型
? ? 增量模型是在各個階段并不交付一個可運行的完整產(chǎn)品,而是交付滿足客戶需求的一個子集的可運行產(chǎn)品营密,整個產(chǎn)品被分為若干個構件械媒,開發(fā)人員逐個構件的交付產(chǎn)品,好處就是軟件開發(fā)可以較好的適應變化评汰,客戶可以看到開發(fā)的軟件纷捞,降低開發(fā)風險
? ? ? ? 缺點:
? ? ? ? 在完整app基礎上去添加功能必須不破壞已經(jīng)構造好的系統(tǒng)部分
? ? ? ? 由于各個構件是逐漸并入已有的軟件結構中的所以加入構件必須不破壞已構造好的系統(tǒng)部分,這需要軟件不被開放是的體系結構
? ? 迭代模型和增量模型的區(qū)別:
? ? ? ? 迭代模型是先有一個完整的app然后在每個部分細化加色
? ? ? ? 增量模型是根據(jù)組件化
? ? 6被去、敏捷開發(fā)模式
? ? ? ? 敏捷開發(fā)就是以人為核心主儡,迭代、循序漸進的開發(fā)方法编振,就是在整個項目中被分為多個小項目缀辩,然后項目的成果都測試過臭埋,具備集成和可運行的特征
? ? ? ? 核心思想:
? ? ? ? ? ? 必須要溝通交流項目的開發(fā)流程和使用工具
? ? ? ? ? ? 必須要快速適應,
? ? ? ? ? ? 團隊合作臀玄,
? ? 二瓢阴、軟件質量概述
? ? ? ? 定義:軟件質量是指軟件質量滿足基本需求及隱式需求的程度,軟件產(chǎn)品滿足基本需求是指能滿足軟件開發(fā)是所規(guī)定需求的特性健无,這是軟件產(chǎn)品最基本的質量要求荣恐,其次就是軟件產(chǎn)品滿足隱式需求的程度(界面美觀,用戶操作簡單累贤,容易理解等等)
? ? ? ? 軟件質量模型:
? ? ? ? ? ? 功能性:準確性叠穆,互操作性 安全性,功能合規(guī)性 適應性
? ? ? ? ? ? 可靠性:成熟性 易恢復性
? ? ? ? ? ? 可使用行:容易理解 容易學習 容易操作 用戶黏度
? ? ? ? ? ? 效率:時間快 資源利用高
? ? ? ? ? ? 可維護:容易分型 穩(wěn)定 容易變更 容易測試 可以維護
? ? ? ? ? ? 可移植:容易安裝 容易替換 共存
? ? ? ? 影響軟件質量因素:
? ? ? ? ? ? 需求模糊:再開發(fā)之前要確定開發(fā)需求文檔 臼膏,但是需求是不可視的硼被,需要有需求文檔避免理解誤差導致影響開發(fā)
? ? ? ? 三、軟件分類
? ? ? ? 根據(jù)應用場景分類:
? ? ? ? 工具類軟件 游戲 媒體 電商
? ? ? ? 根據(jù)架構分類:
? ? ? ? ? ? 單機版 分布式(lol)
? ? ? ? 2渗磅、軟件開發(fā)生態(tài)系統(tǒng)
? ? ? ? ? ? 1嚷硫、App
? ? ? ? ? ? ? 微信 QQ需要下載 的軟件APP
? ? ? ? ? ? 2、微信小程序
? ? ? ? ? ? ? ? 不需要下載安裝就可以用的應用
? ? ? ? 前端:
? ? ? ? ? ? web前端通常是值網(wǎng)站的前臺部分比如瀏覽器始鱼、app仔掸、應用程序的界面展示和用戶交互就是前端
? ? ? ? 后端:
? ? ? ? ? ? 服務器開發(fā) 比如管理微信客戶數(shù)據(jù)等等
day02- 軟件開發(fā)背景
? ? 軟件開發(fā)流程:
? ? ? ? 項目啟動階段? 需求階段? 設計階段 開發(fā)階段 測試階段 項目上線
? ? ? ? 項目啟動階段:
? ? ? ? ? ? 產(chǎn)品經(jīng)理和項目干系人確定項目方向,產(chǎn)品型項目的干系人包括公司領導医清,產(chǎn)品總監(jiān)起暮、技術總監(jiān)
? ? ? ? 成果負責人:
? ? ? ? ? ? 調研文檔、了解項目背景会烙、了解項目干系人目標方向-----產(chǎn)品經(jīng)理
? ? ? ? ? ? 團隊組建確認團隊人員及配置---產(chǎn)品總監(jiān)
? ? ? ? ? ? 業(yè)務梳理负懦、明確項目的目標、角色持搜、各端口及模塊----產(chǎn)品經(jīng)理
? ? ? ? 需求階段:
? ? ? ? ? ? 產(chǎn)品經(jīng)理面向整個團隊進行需求的講解密似。
? ? ? ? 設計階段:
? ? ? ? ? ? 研發(fā)工程師子界面效果圖焙矛、輸出“需求規(guī)格”葫盼、需求規(guī)格應包含最終要實現(xiàn)的內容的一切要素
? ? ? ? 開發(fā)階段:
? ? ? ? ? ? 研發(fā)工程師正式進入編發(fā)階段
? ? ? ? 測試階段:
? ? ? ? ? ? 測試工程師按階段設計“測試實例”、未通過的流程測試提交到Jira或禪道村斟,分配給相應的開發(fā)人員調整
? ? ? ? 系統(tǒng)上線:
? ? ? ? ? ? 與客戶或者上級達成一致后贫导,系統(tǒng)進行試運行,穩(wěn)定后上線
? ? 工作流程
? ? ? ? 程序員日常工作:
? ? ? ? ? ? 完成分配項目的實施和技術支持工作蟆盹,賦值軟件項目的詳細設計孩灯,編碼和內部測試的組織實施
? ? ? ? ? ? 協(xié)助項目經(jīng)理和相關人員同客戶進行溝通,保持良好的客戶關系
? ? ? ? ? ? 參與需求調研逾滥,項目可行性分析峰档,技術可行性分析和需求分析
? ? ? ? ? ? 熟悉并熟練掌握交付軟件不開發(fā)的軟件項目的相關軟件技術
? ? ? ? ? ? 負責現(xiàn)將項目經(jīng)理及時反饋軟件開發(fā)中的情況,并根據(jù)實際情況提出改進建議
? ? ? ? ? ? 負責相關技術文檔的擬定
? ? ? ? ? ? 負責對業(yè)務領域內的技術發(fā)展動態(tài)
? ? ? ? 周期性報告:
? ? ? ? ? ? 日報:每日晨會或者站立會需要
? ? ? ? ? ? 周報:本周工作內容總結和下周工作內容計劃
? ? ? ? ? ? 月報:本月總結和下月計劃