软件工程临时抱佛脚

ssd9刷一下
按照重点看一下ppt
看下课堂题目(先看群里有答案的 再要)
重点

第二章:软件生命周期模型
第三章:软件过程
(以上两章主要使用来出选择题,概念要理解清楚)
第十一章:需求
(会出现在简答题里面)
第十二章:传统分析方法
第十三章:面向对象分析方法
(以上两章会出现在最后分析题里面,下面的第十四章也可以看一下,是设计,结合前两章再看一下,注意回答时表述规范)
第十四章:设计
第十五章:实现【本章重点是集成(Integration),非常重要!!!】
第十六章:维护
(以上两章是考察概念的理解,希望大家熟悉其概念,这两部分会在简答题里面出现,望引起注意!)

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

  • software development in theory
    理想情况下软件的开发过程是LinearStarting from scratch(白手起家)
    实际情况下 原因在于我们会犯错 以及客户的需求会在开发过程中改变

  • Winburg mini case study
    Evolution-Tree Model(这个可以显示事件发生的流程 瀑布模型不可以 这个有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
    现实的开发过程更chaotic
    changes are always needed

  • Teal tractors mini case study
    Some changes may be great for the company but disastrous for the software product. 这些change都有可能导致regression fault
    Change is inecitable

  • Iteration and incrementation
    现实中,没有“the analysis phase” 这是贯穿于整个life cycle的 同理之前那个Evolution-Tree Model里面的各种phrase其实都不能称之为phase. Instead, there are multiple instances of each phase. 从另一个角度来说就是"iteration and incrementation are used in conjunction with one another."
    Miller's Law人只能专注于7件事(所以为了处理信息量大的工作 我们用stepwise refinement这是用来解释为啥要有incremental process)

5个核心的workflow
requirements workflow
analysis workflow
design workflow
implementation workflow
test workflow
整个生命周期整个五个都有 但是大多数时候总有一个predominates

  • Winburg mini case study revisited


    image.png
  • Risks and other aspects of iteration and incrementation
    一个Increment就是一个mini project 而整个项目就是一堆这个组成的
    Each iteration can be viewed as a small but complete waterfall life-cycle model
    I&I的优势
    1.有很多环节可以发现问题
    2.整个architecture的Robustness(健壮性)在life-cycle的早期就可以被决定
    3.empirical evidence

但是这个模式在软件规模极速发展的背景下,暴露出来一些问题,原因在于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
    最简单也是最昂贵的开发模式
    2.瀑布模型
    瀑布模型

    瀑布模型的特征:有feedback loops以及它是documentation-driven的
    优点在于有文档、对维护更友好 缺点也是在于文档(耗费大量劳动力)
    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(社区中的开发人员参与有不同的场景corrective/perfective/adaptive maintenance)
    open-source life-cycle model

    要注意一点 社区中的开发人员只参与了postdelivery的maintenance
    所以与其称他们为co-developers 不如叫做co-maintainers
    参与到开源项目维护的分两种人core group和 peripheral group(外围人员 就是发一下错误报告的那种小白user)
    相比闭源 开源软件release early and often(因为不需要自备严密的SQA)
    从上面的描述我们不难看出,开源的确适合一部分软件比如操作系统 浏览器 编译器但是有些就不适合,比如商业软件
    而且 没有specification和design也有优有劣 eventually a point will be reached when the open-source product is no longer maintainalbe
    5.Agile Processes(敏捷开发)
    controversial new approach
    实现了敏捷开发中最为人熟知的paradigm(范例)就是XP(extreme programming)
    而XP的一个很成功的实践就是pair programming(结对编程)
    XP中的一些重要概念(acronyms首字母of XP)
    YAGNI(u aren't gonna nedd it)
    DTSTTCPW(do the simplest thing that could possibly work)
    Agile process中有个stand-up meeting感觉就像加强版的早会233
    所有以上都是为了Agile process的两个基本原则
    communication和satisfying the client's needs as quickly ad possible
    )
    显而易见这种开发方式适合小规模的软件 而其中的key decider就是敏捷开发对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
    显而易见 这种模式只适合大规模的软件
  • 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(答题的时候也要随时想到这种万金油方法学)


    Comparison of Life-Cycle Models
第三章 软件过程
  • The Unified Process
    不是那种一步一步的指导书类型的准则显然也不存在这种适应所有软件的准则
    所以统一过程是一种adaptable methodology
    UML(unified modeling language) diagrams enalbe software engineers to communicate quickly and accurately

  • Iteration and incrementation within the object-oriented paradigm
    统一过程是一种modeling technique
    面向对象的本质就是iterative and incremental

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

  • The analysis workflow
    To analyze and refine the requirements
    不在requirements workflow做这些工作的原因是那个环节必须完全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
    分传统的设计和面向对象的设计

  • 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

第十一章 需求
第十二章 传统分析方法
第十三章 面向对象分析方法
第十四章 设计
第十六章 维护
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • 第一次 以这个时间滞留的点的名义 静望永久滞留的天空 那褪去嫁衣的片段 永久存在 同时 也永远消磨 夜里的地球角落...
    莽月阅读 134评论 0 0
  • 理财的方法论 如何理财,相信很多人都会感兴趣,但是却总是无法开始,因为在大众的眼中,理财好像就是在银行购买理...
    红胡子尤里阅读 450评论 5 6