软件建模与软件文档写作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件建模与软件文档写作
----软件技术教研室 刘洁
还记得你们最早开始接触计算机是利用它来做些什么吗。。。。
云计算 物联网 信息高速公路 邮箱 即时聊天 博客、微博 微信
到现在为止,大家觉得哪个软件是最值得你佩服的。。。。
大家目前学程序设计及框架遇到了怎样的瓶颈问题。。。。
登录注册模块 JSP+JavaBean
(1) 立足于系统的整体。
(2) 讲授系统分析、系统设计、 测试及维护的理论和方法。
(3) 构筑一个软件系统,实践
软件开发全Biblioteka Baidu程。
“软件工程”课程教学的目标 转变对软件的认识: 上升
程序 系统
转变思维定式: 上升
程序员 系统工程师 (系统分析员)
软件产品的标准化
软件开发过程的标准化
“一个好的工业,应有一套 良好的标准来配套”
软件工程的定义(2)
IEEE【IEE83】给出的软件工程定义:
“软件工程是开发、运行、维护和修复软件 的系统方法。”
软件工程的定义(3)
IEEE【IEE93】给出了一个更加综合的定义:
“将系统化的、规范的、可度量的方法应用于软件 的开发、运行和维护的过程,即将工程化应用于软 件中。”
软件工程是一门交叉学科
1950
1960
1970
1980
1990
2000
“千年虫”问题
为什么发展如此之快
• 不准确的时间和金钱的估算
• 软件质量的低下
• 相对硬件产品开发软件开发费用的增加
• 维护、增强软件系统的必要性
• 硬件价格大幅度下降
软件技术面临的问题
• 规模
• 复杂性
• 生产率
软件危机的主要特征
• • 软件开发周期大大超过规定日期; 软件开发成本严重超标;
图书管理系统 JSP+Servlet+JavaBean
网易、中国银行网上银行 Struts+Hibernate+Spring
如何设计一款软件,并为软件书写标准的文档用于软件维护及用户使用。。。
软件项目管理概述
• 软件项目管理
软件项目管理是项目管理在软件开发领域的应用。软件项目管理是为 了使软件项目能够按照预定的成本、进度、质量要求顺利完成、达到 项目目标,而对成本、人员、进度、质量、风险等因素进行分析、控 制和管理的活动,旨在提高整个企业的开发能力。
软件建模
(系统)
1.系统是由部件组成的,部件处于运动 2.部件之间存在着联系 3.1+1>2 4.系统的状态是可以转换的
输入
输出
系
反馈
统
控制装置
测量装置
软件工程的定义
Fritz Bauer在NATO会议上给出的定义: “软件工程是为了经济地获得可靠的和能 在实际机器上高效运行的软件而确立和使 用的健全的工程原理(方法)。”
软件工程的主要研究内容
软件开发技术:软件开发方法学 软件开发过程 软件工具和软件工程环境 软件工程管理:软件管理学 软件经济学
软件心理学
软件工程所包含的内容不是一成不变的, 随着人们对软件系统的研制开发和生产的理解。
应用发展的眼光看待它。
软件工程 —一种层次化技术
工具 方法 过程
质量焦点
Software engineering layers
会)发布了《 SWEBOK指南V0.95(试用版)》 SWEBOK把软件工程学科的主体知识分为10个知识领域。
软件工程知识结构
• 软件需求
•
• • • •
软件设计
软件构造 软件测试 软件维护 软件配置管理
•
• • •
软件工程管理
软件工程过程 软件工程工具和方法 软件质量
“软件工程”课程 与其它软件专业课的区别
软件的工业化生产过程应具备的特点:
明确的工作步骤
详细具体的规范化文档 明确的质量评价标准
软件工程技术的两个特点
强调规范化
强调文档化
任务
• 谈谈你所了解的共享软件和软件创业的故事?
• 谈谈软件与程序之间的关系? • 每种模型优缺点,适用于什么样的系统开发, 你觉得生活中哪个系统是用这种模式开发的。
•
软件质量难于保证。
1、程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ 需求再一改一调,一季度就过去了;嚎~
2、程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又
改了; 3、程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完
了,方案全改了;
4、程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗 日的客户跑了;
5、程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户
又回来了,程序给删没了!
然而,我们却不能责怪…… 1. 软件开发是一个专业领域的人在为另一个专业领域的人服务,但开发出来的 软件往往与用户的需求有偏差,用户往往在看到最终交付的产品时才真正明 确自己的需求。 2. 在软件开发过程中,需求可能经常在变,原因可能是用户本身需求的变化,
也可能是我们对需求的理解在发生变化,但结果是每次需求变化会带来软件
系统的开发延迟,甚至出现变更反复,被推倒了的内容又要重新确立。 3. 在软件没有最终交付时,用户如何了解开发进展情况。 4. 系统难以维护和扩展,经常重复开发类似的功能。 5. 项目经常延期,实际成本往往远远高于估计成本。 6. 开发团队内部使用了不同的技术,在交流时常常有障碍。
软件工程三个要素:方法、工具、过程
软件工程与一般工程的差异
软件是逻辑产品而不是实物产品 软件的功能依赖于硬件和软件的运行环境以及人们对它的操作 软件设计的复杂性 软件特征:
功能的多样性 实现的多样性 能见度低 软件结构合理性差
智力密集及知识产权保护
软件工程知识结构
2001年5月ISO/IEC JTC 1(ISO和IEC的第一联合技术委员
60年以来
• • • • • • • 工厂管理 病人监护 工资统发 图书馆管理 机票预定 学籍管理 ……
Evolution of software
早期 第二阶段 面向批处理 多用户 有限的分布 实时 自定义软件 数据库 软件产品 第三阶段 分布式系统 嵌入“智能” 低成本硬件 消费者的影响 第四阶段 强大的桌面系统 面向对象技术 专家系统 人工神经网络 并行计算 网络计算机
----软件技术教研室 刘洁
还记得你们最早开始接触计算机是利用它来做些什么吗。。。。
云计算 物联网 信息高速公路 邮箱 即时聊天 博客、微博 微信
到现在为止,大家觉得哪个软件是最值得你佩服的。。。。
大家目前学程序设计及框架遇到了怎样的瓶颈问题。。。。
登录注册模块 JSP+JavaBean
(1) 立足于系统的整体。
(2) 讲授系统分析、系统设计、 测试及维护的理论和方法。
(3) 构筑一个软件系统,实践
软件开发全Biblioteka Baidu程。
“软件工程”课程教学的目标 转变对软件的认识: 上升
程序 系统
转变思维定式: 上升
程序员 系统工程师 (系统分析员)
软件产品的标准化
软件开发过程的标准化
“一个好的工业,应有一套 良好的标准来配套”
软件工程的定义(2)
IEEE【IEE83】给出的软件工程定义:
“软件工程是开发、运行、维护和修复软件 的系统方法。”
软件工程的定义(3)
IEEE【IEE93】给出了一个更加综合的定义:
“将系统化的、规范的、可度量的方法应用于软件 的开发、运行和维护的过程,即将工程化应用于软 件中。”
软件工程是一门交叉学科
1950
1960
1970
1980
1990
2000
“千年虫”问题
为什么发展如此之快
• 不准确的时间和金钱的估算
• 软件质量的低下
• 相对硬件产品开发软件开发费用的增加
• 维护、增强软件系统的必要性
• 硬件价格大幅度下降
软件技术面临的问题
• 规模
• 复杂性
• 生产率
软件危机的主要特征
• • 软件开发周期大大超过规定日期; 软件开发成本严重超标;
图书管理系统 JSP+Servlet+JavaBean
网易、中国银行网上银行 Struts+Hibernate+Spring
如何设计一款软件,并为软件书写标准的文档用于软件维护及用户使用。。。
软件项目管理概述
• 软件项目管理
软件项目管理是项目管理在软件开发领域的应用。软件项目管理是为 了使软件项目能够按照预定的成本、进度、质量要求顺利完成、达到 项目目标,而对成本、人员、进度、质量、风险等因素进行分析、控 制和管理的活动,旨在提高整个企业的开发能力。
软件建模
(系统)
1.系统是由部件组成的,部件处于运动 2.部件之间存在着联系 3.1+1>2 4.系统的状态是可以转换的
输入
输出
系
反馈
统
控制装置
测量装置
软件工程的定义
Fritz Bauer在NATO会议上给出的定义: “软件工程是为了经济地获得可靠的和能 在实际机器上高效运行的软件而确立和使 用的健全的工程原理(方法)。”
软件工程的主要研究内容
软件开发技术:软件开发方法学 软件开发过程 软件工具和软件工程环境 软件工程管理:软件管理学 软件经济学
软件心理学
软件工程所包含的内容不是一成不变的, 随着人们对软件系统的研制开发和生产的理解。
应用发展的眼光看待它。
软件工程 —一种层次化技术
工具 方法 过程
质量焦点
Software engineering layers
会)发布了《 SWEBOK指南V0.95(试用版)》 SWEBOK把软件工程学科的主体知识分为10个知识领域。
软件工程知识结构
• 软件需求
•
• • • •
软件设计
软件构造 软件测试 软件维护 软件配置管理
•
• • •
软件工程管理
软件工程过程 软件工程工具和方法 软件质量
“软件工程”课程 与其它软件专业课的区别
软件的工业化生产过程应具备的特点:
明确的工作步骤
详细具体的规范化文档 明确的质量评价标准
软件工程技术的两个特点
强调规范化
强调文档化
任务
• 谈谈你所了解的共享软件和软件创业的故事?
• 谈谈软件与程序之间的关系? • 每种模型优缺点,适用于什么样的系统开发, 你觉得生活中哪个系统是用这种模式开发的。
•
软件质量难于保证。
1、程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ 需求再一改一调,一季度就过去了;嚎~
2、程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又
改了; 3、程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完
了,方案全改了;
4、程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗 日的客户跑了;
5、程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户
又回来了,程序给删没了!
然而,我们却不能责怪…… 1. 软件开发是一个专业领域的人在为另一个专业领域的人服务,但开发出来的 软件往往与用户的需求有偏差,用户往往在看到最终交付的产品时才真正明 确自己的需求。 2. 在软件开发过程中,需求可能经常在变,原因可能是用户本身需求的变化,
也可能是我们对需求的理解在发生变化,但结果是每次需求变化会带来软件
系统的开发延迟,甚至出现变更反复,被推倒了的内容又要重新确立。 3. 在软件没有最终交付时,用户如何了解开发进展情况。 4. 系统难以维护和扩展,经常重复开发类似的功能。 5. 项目经常延期,实际成本往往远远高于估计成本。 6. 开发团队内部使用了不同的技术,在交流时常常有障碍。
软件工程三个要素:方法、工具、过程
软件工程与一般工程的差异
软件是逻辑产品而不是实物产品 软件的功能依赖于硬件和软件的运行环境以及人们对它的操作 软件设计的复杂性 软件特征:
功能的多样性 实现的多样性 能见度低 软件结构合理性差
智力密集及知识产权保护
软件工程知识结构
2001年5月ISO/IEC JTC 1(ISO和IEC的第一联合技术委员
60年以来
• • • • • • • 工厂管理 病人监护 工资统发 图书馆管理 机票预定 学籍管理 ……
Evolution of software
早期 第二阶段 面向批处理 多用户 有限的分布 实时 自定义软件 数据库 软件产品 第三阶段 分布式系统 嵌入“智能” 低成本硬件 消费者的影响 第四阶段 强大的桌面系统 面向对象技术 专家系统 人工神经网络 并行计算 网络计算机