- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为什么要学习这门课程
正确理解和认识“软件”的概念及其特点
软件是PC的灵魂
掌握软件工程的原则、方法和思想来系统地开发软件,尤其是复杂、庞大软件的开发
从程序员到软件工程师
了解和接触各种软件开发技术和工具
软件工程是软件技术和管理人员必备的课程
软件开发与人才需求
现有模式
小作坊的、一人身兼多职
英雄式的软件开发
生产模式
大规模的软件生产,专业化
分工越来越细,团队合作开发
对人才的要求
除精通开发技术外
更需要软件工程意识和团队合作精神
教程
软件工程导论(第6版)
张海藩等编著
清华大学出版社
教学内容
软件工程概述(第1章)
可行性研究(第2章)
需求分析(第3章)
系统设计(第5章)
详细设计(第6章)
系统实现(第7章)
系统维护(第8章)
教学内容
面向对象方法学引论(第9章)
面向对象分析(第10章)
面向对象设计(第11章)
面向对象实现(第12章)
软件项目管理(第13章)
资源
/UML 软件工程组织
/ 希赛
/ 中国最大的开发者技术社区——《程序员》刊物官方网站
/ 赛迪教育——信息产业部电子教育与考试中心唯一指定软考远程辅导平台
/ 软件测试网
软件工程概述
内容
软件的定义和特点
软件危机
概况、原因和消除途径
软件工程介绍
概况、基本原理、软件工程方法学
软件生命周期
软件过程
瀑布模型、快速原型模型、增量模型、螺旋模型等
软件
软件= 程序?
《IEEE Standard Glossary of Software Engineering Terminology》
计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。
程序:在运行时,能提供所希望的功能和性能的指令序列。
数据:使程序能够正确运行的数据结构
文档:描述程序研发过程、方法及使用的文档
软件中的文档
促进对软件的开发,管理和维护;
便于各种人员(用户,开发人员)的交流
软件本质特性
复杂性
软件在规模上可能比任何由人类创造的其他实体都要复杂,复杂性是软件的本质特征
软件的复杂形是必要属性
大量的组合状态
丰富的结构和相互依赖性
良好的接口用以封装内部的复杂性
开发问题也会增加复杂性
高效率的代码通常是复杂的
重用通用化的组件意味着复杂的状态连接
复杂的代码难以维护,导致设计上的更复杂
软件本质特性
复杂性
Windows95有1000万行代码
Windows2000有5000万行代码
Exchange2000和Windows2000开发人员结构
软件本质特性
一致性
软件必须遵从人为的惯例并适应已有的技术和系统
软件必须遵循各种接口、协议和标准
有些情况下,兼容性是软件开发的目标
软件需要随接口的不同而改变,随时间的推移而变化,而这些变化是不同的人设计的结果。
许多复杂性来自保持与其他接口的一致,对软件的任何再设计,都无法简化这些复杂特性。
软件本质特性
可变性
软件产品扎根于文化的母体中,如各种应用、用户、自然及社会规律、计算机硬件等,后者持续不断地变化着,这些变化无情地强迫着软件随之变化。
所有成功的软件都会发生变更!
当人们发现软件很有用时,会在原有应用范围的边界,或者在超越边界的情况下使用软件;
功能扩展的压力主要来自那些喜欢基本功能,又对软件提出了很多新用法的用户们。
软件本质特性
可变性
软件退化
软件本质特性
不可见性
软件是不可见的和无法可视化的
软件的客观存在不具有空间的形体特征
定义“需要做什么”成为软件开发的根本问题
人们一直试图使用不同的技术进行软件可视化
控制流程、数据流、依赖关系、UML、……
这些技术仍然无法给出准确的、完整的描述
软件仍然保持着无法可视化的固有特性,从而剥夺了一些具有强大功能的概念工具的构造思路。这种缺憾不仅限制了个人的设计过程,也严重地阻碍了相互之间的交流。
软件分类
按工作方式划分
实时处理软件
分时软件
交互式软件
批处理软件
软件分类
按功能划分
系统软件
与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软件
支撑软件
能协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件产品的工具,也包括帮助管理人员控制开发的进程的工具
应用软件:
在特定领域内开发,为特定目的服务的一类软件
软件分类
按规模(人力、时间、源程序行数)划分
软件分类
按用途
通用软件
面向市场公开销售的独立运行系统。
例如:操作系统、数据库管理系统、字处理软件等。
定制软件
由客户委托,在合同约束下开发的软件
例如:网上书店、图书管理系统、空中交通管理系统等。
软件的发展
计算机软件发展的三个时期
程序设计阶段(60年代中期之前)
硬件通用,软件专用;程序规模小,编写者和使用者为同一人(同组人)。
程序系统阶段(60年代中期-70年代中期)
出现“软件作
您可能关注的文档
最近下载
- 学校--以老带新”实施方案.docx VIP
- 2022《贯彻执行中央八项规定、推进作风建设综述》专题PPT.ppt VIP
- -IATF 16949质量管理体系培训 .ppt VIP
- 医美整形线上平台留客升单策略.docx VIP
- 高中物理力学——动态平衡问题处理方法.pdf VIP
- 一种可实时监控的负压引流系统及其使用方法.pdf VIP
- 2022年新版《义务教育体育与健康课程标准》考试学习资料.docx VIP
- 2024-2025学年天津市南开区七年级(下)期末数学试卷.pdf VIP
- IATF16949质量管理体系模板或IATF16949质量管理手册.docx VIP
- 外研版八年级上册 Unit 1 单元测试卷答案及解析 新版 2025年新外研版八年级上册.docx
文档评论(0)