- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件设计与体系结构
课程教案
第一章 软件工程与软件设计
软件工程相关概念
软件工程的目标和原则
软件的生存期
软件开发过程模型
1.1 软件工程
典型定义:
1.软件工程将系统的、规范的、或度量的方法应用于软件的开发、运行和维护过程,以及对上述方法的研究。
2.软件工程是用工程、科学、和数学的原则和方法,研制、维护计算机软件的有关技术及管理方法。
软件工程是由方法、工具和过程三个要素组成
软件工程的目标与原则
一、软件工程设计的目标:
可修改性 有效性 可靠性
可理解性 可维护性 可利用性
可适应性 可移植性 可追踪性
二、软件设计的原则:
抽象 信息隐藏 模块化
局部化 一致性 完全性 可验证性
1. 2 软件的生存周期
需求分析:文本,例如“...应用于将显示用户银行账户的收支余额
设计:图表和文本,例如:“...设计将包含类CheckingAccount,SavingsAccount...”
实现:源代码和目标代码,例如,“...测试用例:存款¥44.92/存款¥32.0/取款¥100,结果正确...”
维护:修改设计,代码和文本,例如,错误纠正:“当余额不足又试图取款时程序出现异常...”;例如,功能增强:”允许使用Pesos进行操作“
一、需求分析(回答“做什么?”):定义应用程序必须做什么
1.需求分析的难点 :
使用通俗中、清晰折语言来表棕需求
非技术性的
从用户观点出发
将需求组织为逻辑分组
易于访问和改变
需求管理的安排
为了及时更新需求分析必须提前开发的程序
谁、怎样和何时
2.需求举例
详细需求
2.1输入
1)CustomFootnoter将接收收件人名字的前10 个字符,如下所示:
请输入发送者的名字:
abcd
2)应用程序将以下面的格式接收和中间名字 的首写大字母:
请输入发送者中间名字的首写大写字母
M
3)应用将接收和收件人姓氏的前10个字符,如下所示:
请输入发送者的姓氏:
Xyz
4)应用程序将以1)2)和气)的相同方式接收发送者的名字
2.2输出
5)如果文本少于或者等于60个字符,那么CustomFootnoter
将以下文本输出到控制台
--To abcd M.Xyz from Eric J.Braude.—
(空格的数目和位置由此例指出)
否则,可以使用三个部分的首写大写字母,例如:
--To A.M.X. form E.J.B.—
2.3用户界面:省略
二、设计(回答“怎样做?”):定义每部分将是什么样和它们将如何协调
三、实现(也称为“编码”):编写代码
编码技巧:
只根据设计来编码
精确地描述第个方法所完成的操作
在提交编译之前,通达仔细地阅读代码来确定代码的正确性
“ 正确性” 是指定完成所要求的功能
即作者检测过程
每编写一部分代码,就保证这段代码的正确性
1. 首先,只新添加一部位分代码
2. 然后自己对代码进行检查,直到满意为止
3. 编译
4. 对新增加的代码进行测试
四、测试:以测试数据作为输入来执行应用于程序
测试类型
非正式的开发者测试
由单独的开发者执行;
非正式地记录在他们的笔记中
单元测试
测试单元包括方法、类等
正式地记录
中间测试
在类的集合上测试,但不是在整个应用于程序上进行
系统测试
在整个应用程序上测试
完全记录
测试技巧:
尽早和 经常用地测试
使用极值进行测试
非常小或者非常大的数等
边界值
非法值
改变测试用例
不要在不同的测试中使用相同的测试数据,除非必须这样做
五、维护:修补缺陷和增强功能
1.修补缺陷
寻找并修正所有与需求文档之间的差异
2.功能增强
引入新的功能,或者改进己有的功能
一、瀑布模型(线性顺序模型)
瀑布式模型包含以下活动:
软件需求分析 设计 代码生成 测试 维护
二、原型模型(Cont.)
快速原型
快速原型
验证
规格说明
验证
设计
验证
编码
测试
综合测试
维护
变化的需求
验证
维护过程
开发过程
三、旋模型(Cont.)
四、迭代模型(Cont.)
Planning
Planning
Requirements
Analysis Design
Implementation
Deployment
Test
Evaluation
Management
Environment
Each iteration results in an executable release.
五、V模型
六、X模型
七、RUP特点
1.RUP(Rational Unified Process,
文档评论(0)