




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、陈春玲南京邮电大学软件学13809029453,V4.1,高级软件项目,目的和要求:了解软件开发技术的发展和现状,掌握现在的大型软件系统的开发方法和技术,以标准化的方式开发大型软件重点和难点:确立面向对象软件开发方法的想法,用统一建模语言(UML )构建复杂软件系统可视化的系统模型。 先修课:对象程序设计,数据结构,操作系统学时: 40教材和参考书: (1)周之英,现代软件工程(中、下),科学出版社(2)郑人杰等实用软件工程(第二版),清华大学出版社(3)张龙祥,UML和系统分析设计Mary Shaw Software Architecture,清华大学出版社,高级
2、软件项目教育内容第一章软件工程概要1软件技术概要(概念和特征,计算机软件技术,软件复用) 2软件危机(发生原因,解决3软件工程(概念、原理、开发方法的概要、软件工程环境)第二章需求分析工序1需求分析工序概要2需求分析工序3需求分析技术第三章软件开发的结构化方法1问题的定义、可行性研究2结构化分析和设计3软件测试, 程序调试第4章软件开发的面向对象的方法1面向对象的方法的概要2面向对象的分析和设计3面向对象测试第5章统一建模语言UML和实例1 UML的概要2 UML视图3可视建模工具Rose 4 UML 面向对象开发的设计模式1设计模式概要24个设计模式3设计模式目录4设计模式的选择和使用, 第
3、7章软件体系结构1软件体系结构概要2体系结构不一致问题3软件体系结构描述语言4体系结构样式第8章分布式系统和部件技术1分布式系统和部件技术概要2 CORBA技术3 COM技术, 第一章软件工程概要第一章软件工程概要1.1软件技术概要1.2软件危机1.3软件工程1.4软件工程环境是在学习了“高级编程语言”和“数据结构”后形成的但是,开发大软件有很多困难。 例如,收到项目后,应该从哪里开始,应该用什么样的方法开发,应该用什么样的顺序开发,如何评价软件的好坏等,是第一次参加大软件的开发者面临的问题。 因此,我们必须学习软件工程。 第一章软件工程概要、南京邮电大学软件学院陈春玲、高级软件工程、一、软件
4、的概念和特征程序是一系列指令序列的集合,它被计算机理解和执行。 文件是指用自然语言或形式化语言写的文字资料和图表,描述程序的内容、构成、设计、功能规格、开发状况、测试结果和使用方法。 1.1软件技术概要,第一章软件技术概要1.1.1软件的概念和特征1.1.2计算机软件技术1.1.3软件复用1.2软件危机1.3软件工程1.4软件工程环境,高级软件是计算机系统中与硬件子系统相互依赖的另一子系统,是包含程序及其文档资料的完整集合,提供了用户和硬件子系统之间的接口。 随着计算机科学技术的发展,人们对软件的认识也在深化。 从下式的变化可以看出: 70年代以前:软件程序; 70年代:软件=程序文件80年代
5、以后:软件=文档程序。 在软件可维护性越来越重要的今天,文档的地位也空前提高,可以自动生成。 与小型软件不同,大型软件的特点是,规模很大,现在的软件是百兆台,所以要处理的数据量很多,消耗的内存也很大。 对于实时软件,不仅规模大,而且要求可靠性高。复杂的大型软件在大量模块中集成,模块之间的关系、调用方法、数据和文件的关系非常复杂。 开发周期长的大型软件从立案到交货,有数十人、数百人经过数个月到数年的时间。 开发、保养、使用者不同的多学科综合软件开发者,不仅要有必要的软件知识,还应该有多方面的专业知识和经验。 二、计算机软件技术、计算机软件技术是计算机软件开发所需的所有技术的总称。 根据软件分支学
6、科的内容,计算机软件技术包括以下领域: (1)软件工程技术包括软件开发原则和战略、软件开发方法和软件过程模式、软件标准和软件质量测量、软件开发的第一章软件工程概要1.1软件技术概要1.1.1软件的概念和特征1.1.2计算机软件技术1.1.3软件复用1.2软件危机1.3软件工程1.4软件工程编程技术包括程序的结构和算法设计、编程风格、编程语言、编程方法和编程自动化、程序正确性证明和程序转换。 软件工具环境技术包括人机界面技术、软件自动生成、软件工具集成、软件开发环境和软件复用等。 系统软件技术包括操作系统、编译方法、分布式系统的分布式处理和并行计算、并行处理技术和多媒体软件技术,数据库技术包括数
7、据模型、数据库和数据库管理系统、分布式数据库、对象实时软件技术网络技术包括网络软件技术、调试过程、网络管理、局域网技术、网络互连技术、智能网络等.网络技术包括:网络软件技术; 三、软件重用,一.软件重用(软件重用)概要1968年提出了可重用库的思想后,软件重用的概念得到普及。 软件复用是指在构筑新软件系统的过程中,再利用现有软件产品(设计结构、源代码、文档等)的技术。 软件的复用有三个层次:知识的复用、方法的复用、软件的组件的复用。 前两个是知识工程学的范畴,这里只讨论软件成分的复用。 第一章软件工程概要1.1软件技术概要1.1.1软件的概念和特征1.1.2计算机软件技术1.1.3软件的复用1
8、.2软件危机1.3软件工程1.4软件工程软件组件的复用包括以下三个级别:代码的复用可以通过源代码的剪切、源代码的包含和继承来实现。 设计结果的复用是指对某软件系统的设计模型进行复用。 适合于软件系统的移植。 分析结果的复用是指将某软件系统进行复用的分析模型。 如果用户的需求没有变化,并且系统体系结构发生了变化,则非常适合。 不属于软件复用的范畴:程序的反复执行、执行中的反复调用等。 软件复用的优点:软件复用利用现有软件成分构建新软件,可以大幅度减少软件开发所需的人才、物资、财力和开发时间,提高软件的可靠性和维护性。 2 .软件复用技术软件复用技术被分为合成技术和生成技术两种。 (1)使用合成技
9、术部品(component、组件、组件)合成软件系统的技术。 零件是可重用的短软件(也可以是二进制形式),它提取某些函数、进程、子例程、数据类型、算法等可重用软件的组成部分,封装功能细节和数据结构,具有详细的接口。 Microsoft等公司提出了ole/com (objectlinkingembeding/componentobjectmodel,对象链接和嵌入/组件对象模型)的概念,并开发了各种独立的标准组件用户使用这些组件来整合自己的软件,提高软件质量,使软件维护变得容易,降低了软件开发成本。目前有三项重要的零部件技术,基于PS PS的PS技术微软PS技术PS公司PR、PS的零部件技术标准
10、。 CORBA技术是异构系统中的分布式部件技术。 CORBA (commobjectrequestbrokerarchitecture )是由OMG(Object Management Group )提出的应用软件体系结构和对象技术规范。 其核心是一组标准语言、接口和协议,支持异构应用程序之间的互操作性和独立于平台和编程语言的对象重用。 1990年制定,开始制定阶段性完善的零部件标准。 CORBA 3.0。 COM是微软在新的企业应用体系结构下,将COM、DCOM和MTS集成在一起,形成真正适合企业级应用的零部件技术。 “COM”容易引起误会。 虽然以为是COM的新版本,但是COM的意思比CO
11、M丰富得多。 COM是中间件技术的规范,其要点是提供“服务”,以支持在操作系统上构建的分布式企业级应用程序。 COM是20世纪末发布Windows 2000后首次登场。 有三种方法将零件合成为更大的零件。 编译标准库的标准函数并通过连接程序与其他模块一起合成系统。 消息的交换和继承smalltalk。 在管道机构UNIX中,用管道连接命令壳,将上一个命令的输出作为下一个命令的输入,用管道机构连接多个壳命令,完成更复杂的系统。 (2)生成技术利用可复用的模式,通过生成程序来生成新的程序和段,所生成的程序可以看作是模式的例子。 可重复使用的模式有代码模式和规则模式两种。 可编码模式多路复用的代码模
12、式存在于应用生成器中,且通过特定参数替换来生成抽象软件模块的特定实体。 各种程序生成器。 规则模式利用程序转换系统,把用超高级规格说明语言写的程序转换成某种可执行语言的程序。 IDLCORBA的接口定义语言。 一、软件危机的概要“软件工程”起因于“软件危机”。 60年代末发生的软件危机使软件陷入了“泥沼”。 什么是软件危机? 软件危机是软件开发过程中面临的一系列严重问题,如延长开发周期、增加成本、降低可靠性等。 1.2软件危机,第一章软件工程概要1.1软件技术概要1.2.1软件危机概要1.2.3解决方法1.3软件工程1.4软件工程环境,高级软件工程,例1 IBM OS/360系统,有346万件
13、汇编文例2 1962年从美国向金星发射探测卫星失败的原因是,控制系统的FORTRAN循环语句DO5I=1.3,3错误地写为DO5I=1.3,空间对FORTRAN编译器没有意义,因此错误写的语句被视为代入语句do5i=1.3 DO 5 I=1, 3、3循环体5 K=X/Y 34.6,不仅不能正常工作的软件,软件危机也是软件成本, 在开发成本和开发进展的估计不正确这一点上也反映出软件成本在计算机系统总成本中所占的比例逐年上升的用户对“自己完成的”软件系统不满意的现象经常发生的软件产品的质量软件开发生产力的提高速度不及计算机应用的普及和深入的趋势。 二、软件危机发生的原因是,在46年第一台电脑“诞生
14、”之后的很长一段时间里,人们用计算机解决了一些“小问题”,并制定了一些小程序。随着计算机硬件和软件的发展,人们用计算机解决的问题越来越大,程序的规模也越来越大, 大型软件的开发和小程序的编制有一定差异:第一章软件工程概要1.1软件技术概要1.2软件危机1.2.1软件危机概要1.2.2发生的原因1.2.3解决方法1.3软件工程小程序需要确定要求、设计、制作、使用后,到维护为止通常一个人进行的大软件需要由用户、项目负责人、分析师、初级程序员、资料员、操作员等组成开发团队合作完成。 文件。 小程序是作者头脑中的“产品”,文件少的大软件是集体劳动的“产物”,必须有标准化文件,容易开发和维护。 产品。
15、小程序通常是一次,需要大的修改的情况下,倒不如放弃旧程序重新制作,但是大软件的开发花费很大的劳力和物资,所以不能简单地丢弃。 “版本”在不断升级,因为它在旧软件上进行了多次更改以延长其使用期。 大型软件的开发提出了很多新的问题,但开发方法还只停留在编写小程序的方法上,经验和技术已经满足不了开发大型软件的需要,软件开发流程混乱,使用的开发方法和技术不合适,没有合适的文件, 沟通困难、维护困难、开发成本高、软件质量低等问题是软件危机的主要原因。 三、软件危机的解决方法以“工程化”的思想指导软件开发。 软件危机,软件开发和开发像以前那样的开发过程混乱,没有标准化的文件,没有个人工作的开发,而是立足科
16、学理论,像产品的生产,机器的开发,大楼的建设一样,以“工程化”的思想指导软件开发,解决软件开发面临的困难和混乱第一章软件工程概要1.1软件技术概要1.2.1软件危机概要1.2.2发生原因1.2.3解决方法1.3软件工程1.4软件工程环境、高级软件工程、技术上软件工程技术、程序设计方法和技术,基于软件工程管理上以管理学为基础,加强对开发者、成本、项目、文件等的管理,管理软件开发的全过程。 第一章软件工程概要,南京邮电大学软件学院陈春玲,高级软件工程,30, 第一章软件工程概要1.1软件技术概要1.2软件危机1.3软件工程概念1.3.1软件工程原理1.3.2软件工程原理1.3.3软件开发方法概要1.4软件工程环境一、软件工程概念软件工程是工程的运用技术和方法开发、维护软件,经过时间考
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年工业涂料水性色浆资金筹措计划书代可行性研究报告
- 落实请销假制度管理办法
- 虎丘区网络营销管理办法
- 融机构贷款管理暂行办法
- 行政许可停车位管理办法
- 西安电子证管理暂行办法
- 设计管理部资料管理办法
- 证券投资者行为管理办法
- 财务专家库管理暂行办法
- 财政部规范委托管理办法
- (零诊)成都市2023级(2026届)高中毕业班摸底测试物理试卷(含答案)
- 料质检员笔试试题及答案
- 护士长岗位胜任力培训心得
- 陕西省西安市经开区2024-2025学年八年级下学期期末学生学业水平质量监测英语试卷(含答案)
- 警察警械使用培训课件
- 2025-2030中国硫酸钡行业发展状况及前景策略研究报告
- 燃气管道施工重点难点及安全措施
- 初一新生入学教育
- 米酒营销知识培训课件
- 人教版 数学 八年级上册 全册 同步练习
- 医疗器械公司组织机构与部门设置说明
评论
0/150
提交评论