ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:147.69KB ,
资源ID:13384190      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13384190.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程笔记完整版样本.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

软件工程笔记完整版样本.docx

1、软件工程笔记完整版样本第一章软件工程槪述1.软件危机(software crisis):是指在计算机软件开发和维护过程中所遇到一系列严重问 题。即“两低一髙”问题:质量低、效率低、成本高。软件危机也成为“软件箫条(depression)或“软件困扰(affliction)”2.软件危机重要体现1) 开发成本和进度预计不准2) 顾客对“已完毕”软件系统不满意3) 软件质量往往靠不住4) 软件经常是不可维护5) 软件普通没有恰当文档资料6) 软件成本逐年上升7) 软件开发生产率滞后于硕件和计算机应用普及趋势3.产生软件危机因素1) 与软件自身特点关于a.软件不同于硬件,是逻辑部件而不是物理部件缺少

2、可见性难于测试管理和控制开发过程困难不会因使用时间过长而被用坏”难以维护b.软件不同于普通程序,规模庞大,并且程序复杂性随着程序规模增长而呈指数上升2) 和软件开发与维护办法不对的关于a.对软件开发和维护关于错误结识和作法忽视软件需求分析重要性 以为软件开发就是写程序轻视软件维护b.对软件开发过程与办法结识与应用软件开发要经历一种漫长时期(编程占10-20%)程序仅是完毕软件配备一种构成某些软件开发办法要有助于软件维护4.软件特点(1)软件是无形(intangible)(2)软件副本大批量生产轻而易举(3)软件业是劳动密集型(4)一种没有通过充分训练软件开发人员很容易编写出难以理解和修改软件(

3、5)软件自身很容易修改。但由于它复杂性,又很难对的地修改。(6)软件不像英她工业产品那样会因使用而磨损,随着重复修改,它设计哙逐渐退化5.消除软件危机途径1)对计算机软件对的结识2)结识到软件开发不是个体劳动神秘技巧,而是一种组织良好、管理严密、各类人员协同配合、共同完毕工程项目3)推广使用成功软件开发技术和办法4)开发和使用更好软件开发工具总之,为了消除软件危机,既要有技术办法(办法和工具),又要有必要组织管理办法。6.对“工程“理解:大事情,施工过程,工程学科。施工过程:分析T设计T实现T维护7.软件槪念典型建义:软件二程序+文档+数据软件是汁算机程序及其关于数据和文档完整集合。汁算机程序

4、是可以完毕功能可执行指令序列 数据是程序能恰当解决信息,具备恰当数据构造软件文档是开发、使用和维护程序所需要图文资料8.软件工程概念概括地说,软件工程是指引计算机软件开发和维护工程学科。采用工程概念、原理、技术和办法来开发与维护软件,把通过时间考验而证明对的管理 技术和当前可以得到最佳技术办法结合起来,以经济地开发岀高质量软件并有效地维护它, 这就是软件工程。目的:项目成功(BFC.Bctter、Faster、Cheaper)9.软件工程本质特性(1) 软件工程关注于大型程序构造(2) 软件工程中心课题是控制复杂性(3) 软件经常变化(4) 开发软件效率非常重要(5) 和谐地合伙是开发软件核心

5、(6) 软件必要有效地支持它顾客(7) 在软件工程领域中普通由具备一种文化背景人替具备另一种文化背景人创造产品10.软件工程基本原理(1) 用分阶段生命周期筹划进行严格管理(2) 坚持进行阶段评审(3) 实行严格产品控制(4) 采用当代程序设计技术(5) 成果应能淸晰地审査(6) 开发小组人员应当少而精(7) 承认不断改进软件工程实践必要性11.软件工程办法学普通把在软件生命周期全过程中使用一整套技术集合称为办法学(methodology),也称为范型(paradigm) o1)老式办法学(构造化办法学):SA.SD.SRST2)而向对彖办法学:OOAQODOOP.OOTS:构造化,stnic

6、turedOO:而向对象,Object OrientedA:分析,AnalysisD:设讣,DesignP:编程,ProgrammingT:测试,Test12.软件工程办法学三要素,这就是办法、工具和过程。英中:1)办法是完毕软件开发任务技术办法,回答“如何做”问题;2)工具是为办法运用提供自动或半自动软件支撑环境:3)过程规肚了完毕各项任务工作阶段、工作内容、产品、验收环节和完毕准则。第二章软件过程1.过程(process): IS09000把过程左义为,把输入转化为输出一组彼此有关资源和活动。2.软件过程(Software Process):是为了获得高质量软件所需要完毕一系列任务框架(F

7、ramework),它规泄了完毕各项任务工作环节。3.软件生命周期软件生命周期由软件泄义、软件开发、和运营维护三个时期构成,每个时期又可进一步 划提成若干个阶段。(三个时期八个阶段)三个时期八个阶段:三个时期:软件圧义、软件开发、运营维护八个阶段:(1)问题定义 可行性研究 需求分析(4)概要设计(5)详细设计(6).编码和单元测试(7)综合测试(8)软件维护4.软件开发模型(在课本1433页,理解一下)1) 瀑布模型(Waterfall)2) 迅速原型模型Prototype3) 增呈:模型(Incremental Models)4) 喷泉模型5) 螺旋模型6 )统一过程(rational u

8、nified process,RUP)7) 敏捷过程8) 极限编程(extreme programming,XP)9) 能力成熟模型(capability maturity modcl.CMM)第三章构造化分析(SA)1.需求分析:发现、求精、建模、规格阐明、复审过程。发现:获取需求,完备、对的、有效求精:细节建模:形式化描述规格阐明:详述复审:批准2.需求分析准则1) 必要理解和表达问题信息域,依照这条准则应当建立数据模型。2) 必要泄义软件应完毕功能,这条准则规定建立功能模型。3) 必要表达作为外部事件成果软件行为,这条准则规定建立行为模型。4) 必要对描述信息、功能和行为模型进行分解,用

9、层次方式展示细廿。3.需求获取办法1) 访谈正式:事先准备好非正式访谈:开放,头脑风暴,情景分析2) 面向数据流自顶向下求精3) 简易应用规格阐明技术4) 迅速建立软件原型4.分析建模构造化分析实质上是一种创立模型活动。通过需求分析而建立模型必要达到下述三个基本目的:描述顾客需求。为软件设计工作奠泄基本。泄义一组需求,一旦开发岀软件产品之后,就可以用这组需求为原则来验收该产 品。5.模型(Model):是为了理解事物而对事物作出一种抽象,是对事物书而上无歧义文字或 图形描述.5.1.模型是对问题简化。5.2.要从各种角度结识事物。6.分析模型:数据模型(实体联系图).功能模型(数据流图)、行为

10、模型(状态转换图)。数据 字典状态转换图7.需求分析成果:软件需求规格阐明8.实体联系图(ER 图,entity-relationship diagram) (P41,规定会画)(1)数据模型重要成分:数据对象,数据对象属性,数据对象彼此间互相连接关系 数拯对象:对软件必要理解复合信息抽象。属性:泄义了数据对象性质。联系:数据对象彼此之间互相连接方式称为联系,也称为关系。类型:一对一联系、一对多联系、多对多联系。联系也可以有属性。(2)实体-联系图符号表达:实体属性联系9.数据流图(DFD, Data Flow Diagram):描绘信息流和数据从输入移动到输岀过程中所 经受变换(课本P434

11、7,要会画)10.数据字典(DD:, Data Dictionary):是关于数据信息集合,是对数据流图中包括所有元 素左义集合(课本P4951,要会画)11 状态转换图(SD, State Diagram):通过描绘系统状态及引起系统状态转换事件,来表 达系统行为。用于建立行为模型。状态:是任何可以被观测到系统行为模式。状态规怎了系统对事件响应方式事件:是在某个特定期刻发生事情,是引起系统做动作或(和)转换状态控制信息。(课本 P4749)第四章构造化设计(五大需求)数据接口过程三型两化(四大设计)内存DS外存file人一机接口ProcessProcedure (环节)行为模型三型功能模型数

12、据模型 系统化两化层次化如何设计:必要根拯原理、原则、规则、准则模块:是由边界元素限左相邻程序元素序列,并且有一种整体标记符来代表它。模块化:就是把程序划提成可独立命攵且独立访问模块,每个模块完毕一种子功能,把这些模块集成起来构成一种整体,可以完毕指定功能满足顾客需求。(1) 一组相邻元素(2) 一种边界(3) 一种冬字(标记符ID)Why模块化?1) 减少复杂度2) 有助于团队分工协作How to模块化?Meyer模块化5原则1) 模块可分解性(减少复杂性)2) 模块可组装性(可重用,reuse)3) 模块可理解性(易于维护)4) 模块持续性(副作用小)5) 模块保护性(屏蔽异常)抽象(ab

13、stract):抽出事物本质特性,而暂时不考虑它们细肖抓重要,略次要有效减少模块数量逐渐求精:为了集中精力解决重要问题而尽量推迟对问题细肖考虑。大 小粗 细Miller法则:一种人在任何时候都只能把精力集中在72个知识块上。全局变量信息隐藏局部变量r块内:高内聚,一种模块只做一件事模块独立1r参数少块间:低耦合,KIS (keep it simple)类型简朴构造化设汁原理:1) 模块化2) 抽象3) 信息隐藏4) 逐渐求精启发原则:1) 改进软件构造提高模块独立性2) 模块规模应当适中(L0C30) LOC: lines of code notecode3) 深度、宽度、扇出和扇入都应当适中

14、(72原则)4) 模块作用域应当在控制域之内5力求减少模块接口复杂度(接口 KIS)6) 设计单出口单入口模块7) 模块功能应当可以预测设计成果描述工具:建模工具软件工具工具I建模工具开发工具IPO 图(Input Process Output ):描述模块(总体)架构表达:C/S.B/S ,层次层次图+ IPO图=HIPO图构造图:(P76)Yourdon提岀构造图是进行软件构造设计另一种有力工具而向设计流设计办法三种设计办法I而向数据构造设讣办法而向对象设计办法设计优化:无有认优k精人一机界而设计问题MI CUI GUI AUI MMI1.系统响应时间(长度、易变性)严成式(内含,开始就设

15、汁在软件中)2.顾客协助办法I嵌入式/附加式(联机文档)1) 完备性2) 选取性(menu, Fl , help)3) 如何显示协助信息4) 返回/退出(ESC escape ,按钮)平面5) 如何组织协助信息I层次构造(导航)Web页(超链接)3.出错信息解决1) 可理解性2) 建设性3)警示性4) 视听性5) 和谐性4.命令交互UI设计重要性:1) 顾客评价产品根据2) 占总设U M 50%以上3) 涉及到美学、人一机工程学、心理学4) UI工程师成为一种岗位UI设计原则:以人为本、人性化、美、以便f和谐Y美I 一致人一机界而设计过程:顾客界面设计是一种迭代过程建模(UML状态图)界面设计

16、指南(看看微软界而设计)1)普通交互2) 信息显示3) 数搦输入构造化办法学SA SD SP STI r 1965GOTO 语句 I 1968 (课本 P89)1972如果一种程序代码块仅仅通过顺序、选取和循环这三种控制构造进行连接,并且每一 种代码块只有一种入口和一种出口,则称这个程序是构造化。1) 顺序2) 选取(单路、双路、多路、多重)3) 循环(for .当型循环、直到型循环.枚举)过程设计工具、 、程序流程图N-S盒图 图 lPAD图 I AUML活动图鉴泄树 丿鉴定表 表伪码语言语言(要会画这些图,会依照伪码语言转化为上述各种图,还要掌握几种图之间转换)数据三类逻辑构造1)顺序 2

17、)选取3)重复第五章构造化实现测试泄义:为了发现错误而执行程序过程错误 编写时产生故障k运营时发生测试具备破坏性,而其他环肖都是建设性。但是其破坏时为了更好建设,保证质量有效途径测试目的(GMycr)1) 左义:测试是为了发现程序中错误而执行程序过程2) 好测试:好测试方案是极也许发现迄今为I匕尚未发现错误测试方案3) 成功测试:成功测试是发现了至今为止尚未发现错误测试目测试方案I 一组输入一组输出(预期成果)测试准则1) 追溯到需求:所有测试都应当能追溯到顾客需求2) 及早筹划:应当在测试之前相称长时间,就指定出测试筹划3) 2、8左律:把Pareto原理应用于软件测试。Pareto原理告诉

18、咱们,测试发现错误中80%很也许是由程序中20%模块导致4) 从小到大:测试应当从“小模块”开始,并逐渐进行“大模块”测试5) 不可穷尽:穷举测试是不也许6) 第三方(丙方)测试:为了达到最佳测试效果,应当由独立第三方来从事测试工作所谓最佳效果,就是指最大也许性发现错误测试,这也是测试基本目的J黑盒测试:接口处、功能测试测试办法I白盒测试:构造测试流图P110 (要会依照程序流程图转化)体现了程序判断节点白盒测试技术:1) 逻辑覆盖2) 途径覆盖程序复杂度度量(PH5,要会依照流图,计算出程序复杂度)r流图中区域数=环形复杂度3种办法I流图中环形复杂度=流图中边数-图中节点数+2流图中环形复杂

19、度=图中鉴泄仔点数目+1复杂:指人体力和脑力受到挑战独立途径(P115)左义:是指至少引入程序一种新解决语句集合或一种新条件途径r自顶向下找法I从左向右逐渐增长黑盒测试技术(P120) 等价类划分Y%界值分析错误预测自底向上软件可靠性可靠性:时间段,在规定期间段内,成功运营程序概率可用性:时间点,在一种时间点上,成功运营程序概率- MTTF: Mean Time To Failure,平均无端障时间MTTR: Mean Time To Repair.平均维修时间测试第六章而向对象办法学导论而向观点、世界观、软件观System?1) 若干部件集合2) 部件具备独立功能和边界3) 部件之间具备互相

20、联系,这些联系构成构造4) 部件间互相作用,构成运动对象(P151)在研究或解决问题过程中关注人、事物、概念00 (Object Oriented, (fil 向对象)来源学习、掌握、运用而向对象办法学四个要点:而向对象=对象+类+继承+通信1) 以为客观世界是由各种对象构成,任何事物都是对象,复杂对彖可以由比较简 朴对象以某种方式组合而成2) 把所有对象都划提成各种对象类,每个对象类都立义了一组数据和一组办法。3) 按照子类与父类关系,把若干个对象类构成一种层次构造系统4) 对象彼此之间仅能通过传递消息互相通信而向对象办法学长处1) 与人类习惯思维办法一致2) 稳泄性好3)可重用性好4) 较

21、易开发大型软件产品5) 可维护性好而向对象某些槪念1.对象:是封装了数拯构造以及可以施加在这些数据构造上操作封装体,这个封装体有 可以唯一标记它名字,并且向外界提供一组服务。2.类:就是对具备相似数据和相似操作一组相似对象左义3.实例:就是有某个特泄类所描述一种详细对象4.消息:就是规左某个对象执行在泄义它那个类中所左义某个操作规格阐明书5.办法:就是对象所能执行操作,也就是类中所立义服务6.属性:类中说眾义数据,它是对客观世界实体所具备性质抽象7.封装:就是把某个事物包起来,使外界不懂得该事物详细内容&继承:是指可以直接获取已有性质和特性,而不必重复左义她们9.多态性:是指子类对象可以像父类

22、对象那样使用,同样消息既可以发送给父类也可以 发送给子类对象。10.重载:函数重载是指在同一作用域内若干个参数特性不同函数可以使用相似函数名字而向对象三种关系:继承构成关联对彖特点:(1)以数据为中心(2)实现了封装(3)本质上具备并行性(4)模块独立性好三种模型建模工具:对象模型:类图功能模型:用例图(用况图)动态模型:状态图,时序图(面向对象模型)而向对象建模环肖:系统观点啥们UML9种图对象模型:最基本、最核心、最重要状态图:描述了单一对象,在英生命周期内变化规律事件CVC 瞬间状态 时间段时序图:各种对象交互时序图每个对象有各自相应一种状态图3型5层(课本pl66)r对象模型3型 I功

23、能模型动态模型r自顶向下5层I逐渐求精啥们之序而向对象(OOA)任务与过程分析:弄淸晰、弄明白软件需求,并依照需求建模研究需求辨认对象I建立模型而向对象分析方略:三型五层:自顶向下、逐渐求精五层:主题层、类与对象层、构造层、属性层、服务层需求陈述P167顾客提供、体现多样内容:范畴、需求、假设问题:歧义、矛盾对策:甲乙共商,原型化需求例子ATM (课本P167 )建立对象模型”类:名词fa kind of -关系:Lpart ofwith词法分析 属性:量词(重量、身髙.年龄人形容词办法:动词候选f筛选f拟泄优化UC 矩阵 k user customer建立动态模型顺序图 状态图(多对象) (

24、单一对象)需求陈述编写脚本画顺序图案例研究:电梯系统(课本P186P190)OOA 00D k OOP(3型4图) (3型4图)1 1for需求 for机器/实现3型4图:对象模型f类图功能模型f用例图OOD (面向对象设计)准则:P1921.模块化2.抽象3.信息隐藏4.弱耦合5.强内聚6.可重用启发规则:1.设il成果应当淸晰易懂2.普通/特殊构造深度应恰肖3.设计简朴类4.使用简朴合同5.使用简朴服务6.把设汁变动减至最小第9章(教师没讲)第10章UMUP232)(自己看,一定要会画9种图)第11章筹划管理:就是通过筹划、组织和控制等一系列活动,合理配备和使用各种资源,以达到既怎目的过程

25、。软件项目管理:就是通过筹划、组织、控制等一系列活动,合理配备和使用各种资源,以便 在预立成本和期限内开发符合客户需要软件过程(类)工程:大、复杂、由众多人一起完毕(对象)项目:一种详细工程是项目r财预计 工作疑物(代码行) 时软件配备:程序、文献、数据对软件配备进行管理因素:需求变更是不可避免风险(risk): #致失败因素辨认评估避免估算代码行:J代码行LOC KLOC估算量I功能点 FP (function points)FP技术:(详细计算办法P253)进度(人员)程序2 工作疑(KLOC FP) (人月)人月神话Brooks1.劳动密集型2智力VS体力工作量(课本P254)E=f(K

26、LOC)E=f (FP)尸争态单变屋模型 三种办法 I动态多变量模型构造性成本模型进度筹划:分解,分而治之: 大事化小,小事化了P254-P264要精读指引软件项目进度安排基本原则:1.划分2.互相依赖性3.时间分派4.工作量确认5.泄义责任6.上义成果7.宦义里程碑工程网络图(P26P262):要掌握内容:最早时刻、最迟时刻、最短途径、核心途径、核心事件第13章控制软件风险特点:1.不拟定性2.损失软件风险分类:1.按风险影响范畴分类:(1) 项目风险(2) 技术风险3) 商业风险2.按风险可预测性分类:(1) 已知风险(2) 可预测风险3) 不可预测风险风险因素:性能风险、成本风险、支持风

27、险、进度风险(P280 表 13.1)质量:满足顾客需求限度软件质量:软件与明确规定地和隐含地定义需求相一致限度质量保证很重要:1.召回2.市场占有3.生命力质量保证:Test文档管理审查、复査规则、原则、准则质量因素:哪些方而如何度量3方而13因素(3方13条)(P283,图13.1)软件质量因素定义(P284表13.3)可XX性:XX难易限度。软件质量保证办法:P(284)1) 技术复审2) 走査3) 审查4) 测试软件配备管理变更版本(version)这些管理基于软件本质特性:演化性、构造性软件配备发生变化因素:1) 新商业或市场调件导致产品需求或业务规则变化2) 新客户需求,规定变化信息系统产生数拯、产品提供功能或系统提供服务3) 公司改组或业务缩减,引起项目优先或软件工程队伍构造变化4) 预算或进度限制,导致对目的系统重龙义5) 发现了在软件开发过程前期阶段所出错误,必要及时改正基线(base line) P187软件配备管理过程1) 标记软件配备中对象2) 版本控制3) 变化控制4)配备审计5)状态报告

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2