軟件工程臨時(shí)抱佛腳

ssd9刷一下
按照重點(diǎn)看一下ppt
看下課堂題目(先看群里有答案的 再要)
重點(diǎn)

第二章:軟件生命周期模型
第三章:軟件過程
(以上兩章主要使用來出選擇題,概念要理解清楚)
第十一章:需求
(會(huì)出現(xiàn)在簡(jiǎn)答題里面)
第十二章:傳統(tǒng)分析方法
第十三章:面向?qū)ο蠓治龇椒?br>(以上兩章會(huì)出現(xiàn)在最后分析題里面,下面的第十四章也可以看一下,是設(shè)計(jì),結(jié)合前兩章再看一下,注意回答時(shí)表述規(guī)范)
第十四章:設(shè)計(jì)
第十五章:實(shí)現(xiàn)【本章重點(diǎn)是集成(Integration),非常重要?。。 ?br>第十六章:維護(hù)
(以上兩章是考察概念的理解,希望大家熟悉其概念,這兩部分會(huì)在簡(jiǎn)答題里面出現(xiàn),望引起注意?。?br>

第二章 軟件生命周期
  • software life-cycle models

  • software development in theory
    理想情況下軟件的開發(fā)過程是LinearStarting from scratch(白手起家)
    實(shí)際情況下 原因在于我們會(huì)犯錯(cuò) 以及客戶的需求會(huì)在開發(fā)過程中改變

  • Winburg mini case study
    Evolution-Tree Model(這個(gè)可以顯示事件發(fā)生的流程 瀑布模型不可以 這個(gè)有baseline比如episode3就是requirement1=>analysis1=>design3=>implementation3)


    image.png

Waterfall Model

The linear life model with feedback loops
image.png
  • Lessons of the Winburg mini case study
    現(xiàn)實(shí)的開發(fā)過程更c(diǎn)haotic
    changes are always needed

  • Teal tractors mini case study
    Some changes may be great for the company but disastrous for the software product. 這些change都有可能導(dǎo)致regression fault
    Change is inecitable

  • Iteration and incrementation
    現(xiàn)實(shí)中,沒有“the analysis phase” 這是貫穿于整個(gè)life cycle的 同理之前那個(gè)Evolution-Tree Model里面的各種phrase其實(shí)都不能稱之為phase. Instead, there are multiple instances of each phase. 從另一個(gè)角度來說就是"iteration and incrementation are used in conjunction with one another."
    Miller's Law人只能專注于7件事(所以為了處理信息量大的工作 我們用stepwise refinement這是用來解釋為啥要有incremental process)

5個(gè)核心的workflow
requirements workflow
analysis workflow
design workflow
implementation workflow
test workflow
整個(gè)生命周期整個(gè)五個(gè)都有 但是大多數(shù)時(shí)候總有一個(gè)predominates

  • Winburg mini case study revisited


    image.png
  • Risks and other aspects of iteration and incrementation
    一個(gè)Increment就是一個(gè)mini project 而整個(gè)項(xiàng)目就是一堆這個(gè)組成的
    Each iteration can be viewed as a small but complete waterfall life-cycle model
    I&I的優(yōu)勢(shì)
    1.有很多環(huán)節(jié)可以發(fā)現(xiàn)問題
    2.整個(gè)architecture的Robustness(健壯性)在life-cycle的早期就可以被決定
    3.empirical evidence

但是這個(gè)模式在軟件規(guī)模極速發(fā)展的背景下,暴露出來一些問題,原因在于lack of user involvement和lack of support from senior executives

  • Managing iteration and incrementation
    each increment is a waterfall mini project,applied successively
  • Other life-cycle models
    1.code-and-fix model
    no design no specification
    這是maintennace nightmare
    最簡(jiǎn)單也是最昂貴的開發(fā)模式
    2.瀑布模型
    瀑布模型

    瀑布模型的特征:有feedback loops以及它是documentation-driven的
    優(yōu)點(diǎn)在于有文檔、對(duì)維護(hù)更友好 缺點(diǎn)也是在于文檔(耗費(fèi)大量勞動(dòng)力)
    3.rapid prototyping model
    rapid prototyping model

    就是比瀑布模型少了feedback
    4.open-source life-cycle model
    key point:individuals generally work voluntarily on an open-source project in their spare time(社區(qū)中的開發(fā)人員參與有不同的場(chǎng)景corrective/perfective/adaptive maintenance)
    open-source life-cycle model

    要注意一點(diǎn) 社區(qū)中的開發(fā)人員只參與了postdelivery的maintenance
    所以與其稱他們?yōu)閏o-developers 不如叫做co-maintainers
    參與到開源項(xiàng)目維護(hù)的分兩種人core group和 peripheral group(外圍人員 就是發(fā)一下錯(cuò)誤報(bào)告的那種小白u(yù)ser)
    相比閉源 開源軟件release early and often(因?yàn)椴恍枰詡鋰?yán)密的SQA)
    從上面的描述我們不難看出,開源的確適合一部分軟件比如操作系統(tǒng) 瀏覽器 編譯器但是有些就不適合,比如商業(yè)軟件
    而且 沒有specification和design也有優(yōu)有劣 eventually a point will be reached when the open-source product is no longer maintainalbe
    5.Agile Processes(敏捷開發(fā))
    controversial new approach
    實(shí)現(xiàn)了敏捷開發(fā)中最為人熟知的paradigm(范例)就是XP(extreme programming)
    而XP的一個(gè)很成功的實(shí)踐就是pair programming(結(jié)對(duì)編程)
    XP中的一些重要概念(acronyms首字母of XP)
    YAGNI(u aren't gonna nedd it)
    DTSTTCPW(do the simplest thing that could possibly work)
    Agile process中有個(gè)stand-up meeting感覺就像加強(qiáng)版的早會(huì)233
    所有以上都是為了Agile process的兩個(gè)基本原則
    communication和satisfying the client's needs as quickly ad possible
    )
    顯而易見這種開發(fā)方式適合小規(guī)模的軟件 而其中的key decider就是敏捷開發(fā)對(duì)postdelivery maintenance的影響
    6.Synchronize and Stabilize Model
    At the end of the day--sychronize(test and debug)
    At the end of the bulid --stabilize(freeze the bulid)
    7.Sprial Model(螺旋)
    Sprial Model

    就是rapid prototyping model plus risk anlysis preceding each phase
    If all risks cannot be mitigated, the project is immediately terminated.
    Full Spiral Model
    Full Spiral Model

    有不同觀察的維度
    radial dimension:cumulative cost to date
    angular dimension:progress through the spiral
    顯而易見 這種模式只適合大規(guī)模的軟件
  • Comparison of life-cycle models
    比較各種模式有不同的角度
    The organization
    Its management
    The skills of the employees
    The nature of the product
    最佳建議:mix-and-match life cycle model(答題的時(shí)候也要隨時(shí)想到這種萬金油方法學(xué))


    Comparison of Life-Cycle Models
第三章 軟件過程
  • The Unified Process
    不是那種一步一步的指導(dǎo)書類型的準(zhǔn)則顯然也不存在這種適應(yīng)所有軟件的準(zhǔn)則
    所以統(tǒng)一過程是一種adaptable methodology
    UML(unified modeling language) diagrams enalbe software engineers to communicate quickly and accurately

  • Iteration and incrementation within the object-oriented paradigm
    統(tǒng)一過程是一種modeling technique
    面向?qū)ο蟮谋举|(zhì)就是iterative and incremental

  • The requirement workflow
    目的就是為了搞清楚需求

  • The analysis workflow
    To analyze and refine the requirements
    不在requirements workflow做這些工作的原因是那個(gè)環(huán)節(jié)必須完全comprehensible by the client
    SPMP(software project management plan)

  • The design workflow
    The aim of the design workflow is to refine the analysis workflow until the material is in a form that can be implemented by the programmer
    分傳統(tǒng)的設(shè)計(jì)和面向?qū)ο蟮脑O(shè)計(jì)

  • The implementation workflow
    The aim of the implementation workflow is to implement the target software product in the selected implementation language

  • The test workflow
    The analysis artifacts shoud be checked by means of a review

  • Postdelivey maintenance

  • Retirement

  • The phases of the Unified Procsess

  • One-versus two-dimensional life-cycle models

  • Improving the software process

  • Capability maturity models

  • Other software process improvement initiatives

  • Costs and benefits of software process improvement

第十一章 需求
第十二章 傳統(tǒng)分析方法
第十三章 面向?qū)ο蠓治龇椒?/h5>
第十四章 設(shè)計(jì)
第十六章 維護(hù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一次 以這個(gè)時(shí)間滯留的點(diǎn)的名義 靜望永久滯留的天空 那褪去嫁衣的片段 永久存在 同時(shí) 也永遠(yuǎn)消磨 夜里的地球角落...
    莽月閱讀 166評(píng)論 0 0
  • 理財(cái)?shù)姆椒ㄕ? 如何理財(cái),相信很多人都會(huì)感興趣,但是卻總是無法開始,因?yàn)樵诖蟊姷难壑校碡?cái)好像就是在銀行購買理...
    紅胡子尤里閱讀 603評(píng)論 5 6

友情鏈接更多精彩內(nèi)容