- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章
1.软件特点
抽象性:软件是一种逻辑实体而不是具体的物理实体,必须通过测试、分析、思考、判断来了解它的功能、性能及其他特性
可复制性:软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。一旦某一软件项目研制成功,以后就可以大量地复制同一内容的副本,即其研制成本远远大于其生产成本
不会磨损:在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,但软件也会出现故障,软件维护比硬件维护要复杂得多,与硬件的维修有着本质的差别
依赖性:软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖。为了消除这种依赖,在软件开发中提出了软件移植的问题,并且把软件的可移植性作为衡量软件质量的因素之一
开发效率低:软件的开发尚未完全摆脱手工的方式,依然有大量重复性的劳动
开发费用高:软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,需要较高的成本。软件的开发是一个复杂的过程,因而管理是软件开发过程中必不可少的内容
2.什么是软件
软件 = 程序 + 数据 + 文档
数据包括初始化数据、测试数据、研发数据、运行数据、维护数据,以及软件企业积累的项目工程数据和项目管理数据。
文档是开发、使用和维护程序所需要的图文资料
3. 什么是软件危机
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题
如何开发软件,以满足对软件日益增长的需求
如何维护数量不断增加的已有软件
4.正确认识软件。
软件=程序+数据+文档
在软件开发的各个阶段都要有完备的文档。加强管理。
软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目,应该推广使用在实践中总结出来的开发软件的成功的技术和方法。
使用软件工具。
在软件开发的每个阶段都有许多烦琐重复的工作需要做,在适当的软件工具辅助下,开发人员可以把这类工作做得既快又好。
总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门学科。
5. 软件过程模型(软件生命周期模型)
瀑布模型
原型模型
螺旋模型
增量模型
迭代模型
喷泉模型
6. 面向过程的程序 = 算法 + 数据结构。
面向对象的程序 = 对象 + 类 + 继承 + 消息通信。
面向构件的程序 = 构件 + 架构。
形式化方法是建立在严格的数学基础上,以逻辑推理为出发点,具有精确数学语义的开发方法。
7. 软件不仅仅是程序,软件=程序+数据+文档。软件工程是为了尽可能消除软件危机的影响,克服软件缺乏“可见性”的缺点,借鉴工业化生产的成功经验,对软件产品的生产过程加以严格管理和控制的一门学科。它的最终目的是实现软件的工业化生产。
传统软件工程将软件开发生命周期划分为问题定义、可行性分析、需求分析、概要设计、详细设计、编码、测试、运行维护8个阶段,每一阶段都有具体的任务和交付成果。
软件过程模型指如何具体地组织衔接软件开发生命周期的各个阶段。常见的有瀑布模型、螺旋模型、喷泉模型等
8. 面向对象方法
反复迭代完善需求。
对已有的需求进行整理,列出需求列表。
与用户交流得到有效的需求列表。
画出初始用例模型,表达系统的主要功能及主要业务流程。
完善需求列表,完善用例模型。
反复迭代进行逻辑设计。
识别系统中的对象及其关系,画初始类模型。确定类的职责、属性和方法。
表示出主要业务过程的动态模型。由动态模型反复映射,完善类模型。
物理设计。
确定整个系统的拓扑结构(部署图)。修订类模型。
相应修订动态模型。完成反映程序模块的包图。
完成反映程序软件构成的组件图。设计界面,设计数据库结构化方法。
获取完整的需求。
自顶向下、逐层分解,画出数据流图。
书写数据字典。
映射出系统的层次结构,进行系统结构(模块及其接口)设计。
逐层细分,细化出每个处理。
设计界面,设计数据库。
结构化程序设计方法也称面向过程的方法或传统软件工程开发方法,它的特点是自顶向下、逐步求精,在获取完整的需求之后才能开始系统的分析和设计。使用的手段主要有数据流图、数据字典、层次方框图、结构化语言、判定表和判定树等。一般步骤是:分析业务流程及信息走向;画出数据流图;建立数据字典;提出系统的总体逻辑方案;细化数据流图;确定模块的接口;为每个模块确定采用的算法和数据结构;根据E-R图设计数据库等。
10. 面向对象的程序设计方法的特点是根据现实问题直接抽象出对象,分析对象的行为和与行为相关的数据,对象间通过传递消息进行通信,协作完成相应的功能,从问题出发,模拟现实问题建立系统模型,易于理解和实现。
11. 两种方法的综合运用
(1)内在的一致性
目标一致
使用分解和抽象的原则
局部化和信息隐蔽
模块独立
您可能关注的文档
- UML期末考试复习资料.doc
- 大作业参考范例.doc
- uml期末考试题A卷答案.doc
- 代码设计方法.doc
- 带宽如何设置两台电脑共享.doc
- uml期末考试题A卷及答案.doc
- uml期末考试题卷.doc
- 单机搭建学习网络UMLnet.doc
- UML期末样卷.doc
- UML期中报告1.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)