- 1、本文档共166页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
苗清影 qymiao@sjtu.edu.cn;;软件工程的内容;软件工程教学的目标;软件工程概述;软件;软件;软件工程;Fritz Bauer在NATO会议上给出的定义:
“软件工程是为了经济地获得可靠的和能在实际机器上高
效运行的软件而确立和使用的健全的工程原理(方法)” ;IEEE【IEE83】给出的软件工程定义:
“软件工程是开发、运行、维护和修复软件的系统方法”
IEEE【IEE93】给出了一个更加综合的定义:
“将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中”
;软件生命周期;软件生命周期;;软件生存期模型;;瀑布模型;;快速原型模型;螺旋模型;螺旋模型;阶段交付;阶段交付;喷泉模型;小结;可行性研究;可行性研究的任务
可行性研究的步骤
可行性研究的工具
系统流程图
数据流图
数据字典
成本/效益分析;可行性研究的任务;可行性研究的步骤;可行性研究的步骤;可行性研究的工具;可行性研究的工具;可行性研究的工具;可行性研究的工具;可行性研究的工具;可行性研究的工具;需求分析重要性;图形工具; ---- 学生购买教材的具体模型 ; ----学生购买教材的 逻辑模型 ;需求规格说明书与评审;;---- 系统逻辑模型;2、数据流图中的其它图形元素;----- 标识多个数据流与加工之间关系的符号;3、分层的数据流图 ;;;;数据元素名:
类型:数字(离散值、连续值),文字(编码类型)
长度:
取值范围:
相关的数据元素及数据结构 ;2、数据字典定义符号;软件估算的基础(2);面向对象建模;结构化分析模型的组成结构;面向对象分析模型的组成结构;面向对象分析;1. 基本过程:;OMT模型系统分析设计过程;;需求陈述的内容包括:
问题范围、功能需求、性能要求、应用环境、假设条件等等。陈述方式可繁可简,说明What 而不是 How。;需求建模实例;1、确定Class--Object:;账 户;1、编写脚本 (scenarios),描述event 序列:
Event = Activator + Receiver +Parameters
基本类型:
① 正常情况脚本
② 特殊情况脚本(输入\输出取边界值时)
③ 异常情况脚本(应允许用户异常中止或取消一个操作)
;3、画事件跟踪图(event tracing diagram);;画状态图(event flow diagram);状态图
状态和事件的网络,侧重描述每一类对象的动态行为。;DFD + IPO + Pseudocode
必要时对功能进行文字描述
功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。
;建立数据字典;基于三个模型的分析步骤;软件生命周期;OMT支持整个软件生命周期;面向对象方法 (Object - Oriented Methodology) ;面向对象方法学;OOM的优点:;OOM:以object 为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”。
? Class:由特殊到一般的归纳 (induction)
? Inheritance:由一般到特殊的演绎 (deduction);;传统方法: 可维护性是最令人头痛的问题。
OOM: 从以下几方面改善了可维护性 —
稳定性好: 软件功能需求的变化不牵动全局,只需局部修改。
Class独立性强:只要修改不涉及class的对外接口,则内部修改完全不影响外部调用 Inheritance和多态性使其很容易被修改和扩充,容易理解;容易测试、调试。
;选择合适的开发模型;⑶ Incremental:
需求随时可能变化; 对环境不熟悉(高风险)
用户完全参与开发SA-SD-SP 与Waterfall model 有本质上的密切联系;OOP由可用于任何模型。
OOM的工作重点在分析阶段,确定objects,此外,生命周期的各阶段可以“无缝”连接。
;OOM的四要素:;③ 继承(inheritance): 类可分层,下层子类与上层父类有相同特征,称为继承。
④ 消息(message): 对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能通过消息请求它进行处理(如果它提供相应消息的话)。
;Correlative relation: 是object间的关系;成绩;要想对一个系统了解得比较清楚,还应当考察在任何时刻对象及其关系的改变。
系统的这些涉及时序和改变状况用动态模型来描述。
动态模型着重于系统的
文档评论(0)