软件工程1-史济民

合集下载

软件工程7-史济民

软件工程7-史济民
2. 系统元素设计
• 系统元素包括组成系统的类、子系统与接口、包等。系统 元素设计是对每个设计元素进行详细设计。主要的设计内 容是:
• 类/对象设计; • 子系统设计; • 包设计。
模式的应用
• 提倡在OOD中充分应用设计模式。 • 模式的定义
• 模式是解决某一类问题的方法论,也是对通用问题 的通用解决方案。
① 确定任务的特征。 ② 定义一个协调者任务和与之关联的对象。 ③ 集成其他任务和协调者。
• 任务管理部件的设计一般遵循如下的步骤 与策略:
① 识别由事件驱动和时间驱动的任务。
② 识别关键性任务、任务优先级以及任务管理 类。任务管理类是为了实现而引入的专门用 于管理和协调其他任务的任务。
③ 定义任务。说明任务的名称、功能、优先级 任务与其他任务的通信方式。
属性、操作、协作 者
类/对象 模型
用例 模型
对象关系模型
对象-行为模型
责任设计
消息设计 类及对象设计 系统架构设计
面向对象设计的任务
• OOD的软件设计可划分为两个层次,即系统架构 设计和系统元素设计。设计过程是循环渐进的。
1. 系统架构设计
• 软件系统架构是指系统主要组成元素的组织或结构,以及 其他全局性决策,组成元素之间通过接口进行交互。系统 架构包含关于软件系统组织的许多重要决定。
<<Interface>>
ICourseCatalogSystem
0..*
1 (from External System Interfaces)
4、分布式实现机制
• 为实现分布式结构,需完成以下工作。 1. 确定网络拓扑配置 2. 将设计元素分配到网络节点
• 节点容量(指内存量和处理能力) • 通信介质带宽(总线、LAN、WAN) • 硬件与通信链路的可用性、重选路由 • 对冗余与容错能力的要求 • 响应时间要求 • 吞吐量要求

软件工程设计实践变电器校验软件工程部分

软件工程设计实践变电器校验软件工程部分

上海##学院课程设计报告课程名称软件工程设计实践变电器校验院(系)计信学院专业计算机系年级2003级#学生#时间2006-2007第一学年19周-20周设计地点学院机房307指导老师签名:教研室主任(系主任)签名:学生签名:变电器校验管理系统一、课题背景、目的变电器校验管理系统是供电局对下属变电所以及变电所内的各变电器的校验信息管理。

它能通过数据的统计对各变电所的变电器提供定期的校验和管理,使总部在业务上实现了有效的管理和及时提供有效应对措施。

二、课题的内容需求分析变电器校验管理系统得需求分析分为两个过程,一是理解需求,二是分析需求。

1、理解需求(1)进入主界面,点击年份、变电所和变电器名称,查询并显示符合条件的变电器资料。

(2)主界面,点击某行取得须校验的变电器信息,查询并显示符合条件的变送器遥测量数据。

(3)单击主界面上的校验报告按钮,可显示所有的变电器校验信息。

(4)点击校验信息上的修改按钮,可以修改变电器的各属性信息。

(5)也可将校验日期,校验人,结论,结论分析添加后点击修改按钮将对应的内容添加到数据库。

(6)点击校验报告界面上的刷新按钮,即不提交修改后的数据重新初始化界面内的数据。

(7)点击校验报告界面上的退出按钮,。

2、分析需求变电器校验管理是对指定年份下的指定变电所的变电器的测量数据以及结果进行校验和确认。

共分为四个部分:安装区域,变电器遥测量数据,变电器遥测量数据的校验数据,校验结论。

变电器校验的基本功能:(1)变电器安装区域根据用户指定的信息(如年份、变电所、变电器名称),显示变电器的信息方便用户确认。

(2)变电器遥测量数据用户在变电器安装区域中显示的内容中选取需要校验的的变电器后会在本区域显示需要的变电器遥测量数据。

(3)变电器遥测量数据的校验数据此模块可以修改有关变电器以及变电器遥测量数据各个属性值。

(4)校验结论可以根据给定的校验公式进行数据的校验,然后将校验后的数据(包括校验人,校验日期,结论,结论分析)保存到数据库。

(完整word)软件需求规格说明书

(完整word)软件需求规格说明书

软件需求规格说明书1引言版本更新说明1.1编写目的编写此文档的目的是进一步指定软件开发的细节问题,希望能使本软件开发工程更具体.是为使用户、软件开发者及分析人员对该软件的初始规定有一个共同的理解,它说明了本产品的各项功能需求、性能需求和数据要求,明确标识各功能的实现,阐述实用北京及范围,提供客户解决问题或者达到目标所需的条件或全能,提供一个度量和遵循的基准。

具体的编写目的如下:A.定义软件总体要求,作为用户和软件开发人员之间的相互了解的基础;B.提供性能要求、初步设计和对用户影响的信息,作为软件人员进行软件结构设计和编码的基础;C.作为软件总体测试的依据。

预期读者:A.项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。

B.软件设计师:对需求进行分析,并设计出系统,包括数据库的设计.C.程序员:配合《设计报告》,了解系统功能,编写《用户手册》。

D.测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试.E.销售人员:了解预期产品的功能和性能.F.用户:了解预期产品的功能和性能,与分析人员预期对整个需求进行讨论和协商。

G.其它人员:如部门领导、公司领导等可以据此了解产品的功能和性能。

1.2背景说明:a.待开发的软件系统的名称:小假游;b.任务开发者:c。

适用对象:在校大学生;1。

3定义J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE。

如果你只需要运行Java程序或Applet,下载并安装它即可。

如果你要自行开发 Java 软件,请下载JDK。

在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK。

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

矿大

矿大

2015年中国矿业大学硕士学位研究生招生专业目录复试科目参考书目学院考试科目参考书目名称作者出版社001资源与地球科学学院506 地球信息科学《地球信息科学概论》谭海樵,奚砚涛,季景贤编著中国矿业大学出版社,2005 510 构造地质学《构造地质学》谢仁海等编著中国矿业大学出版社,2007年第二版511 专门水文地质学《专门水文地质学》郑世书等编中国矿业大学出版社,1999年533 勘探地球物理《地电场与电法勘探》李金铭编著地质出版社,2005年《地震勘探原理》路基孟编著中国石油大学出版社,2009年541 能源地质学《能源地质学》陈家良、邵震杰、秦勇中国矿业大学出版社,2004年《非常规天然气地质学》李增学主编中国矿业大学出版社,2013 545 地球系统科学《地球系统科学》毕思文,耿杰哲编著中国地质大学出版社,2009 547 地球化学《地球化学》韩吟文,马振东主编地质出版社,2003年553 第四纪地质学《第四纪地质学与地貌学》田明中,程捷主编地质出版社,2009年577 沉积岩石学《沉积岩石学》朱筱敏主编石油工业出版社, 2008年591 水文学原理《水文学原理》芮孝芳著中国水利水电出版社,2010年第5次印刷597 工程地质学《工程地质学概论》李智毅等中国地质大学出版社,1994。

002矿业工程学院515 技术经济学《技术经济学》卢明银中国矿业大学出版社,2012《工程经济学(第4版)》邵颖红、黄渝祥、邢爱芳同济大学出版社,2009540 采矿学《采矿学》杜计平中国矿业大学出版社,2009年2月《矿山压力及岩层控制》钱鸣高、石平五、许家林中国矿业大学出版社,2010年9月544 工程经济《技术经济学》卢明银中国矿业大学出版社,2012《工程经济学(第4版)》邵颖红、黄渝祥、邢爱芳同济大学出版社,2009590 交通运输工程《运输工程》李旭宏主编东南大学出版社,2008《交通运输工程》郭晓汾、王国林主编人民交通出版社,2006《交通运输工程学》于英主编北京大学出版社,2011学院考试科目参考书目名称作者出版社003力学与建筑工程学院501 工程热力学《工程热力学》(第五版)廉乐明等中国建筑工业出版社,2007.1 《工程热力学》(第四版)沈维道,童钧耕高等教育出版社,2007.6502 结构设计原理《结构设计原理》夏军武等中国矿业大学,2009年8月503 基础工程学《土力学与基础工程》赵明华武汉理工大学出版社,2012第三版504 道路规划与勘测《道路规划与勘测设计》吴瑞麟,沈建成华南理工大学出版社,2004.9 518 岩石力学《岩石力学简明教程》贺永年中国矿业大学出版社,2010519 土力学《土力学》钱家欢河海大学出版社,1988年4月第一版《土力学应试指导》李相然中国建筑工业出版社,2001年6月第一版《土力学地基与基础疑难释义》赵明华等中国建筑工业出版社,1998年8月第一版522 隧道工程《隧道工程》陈秋南机械工业出版社,2008年第一版523 工程项目管理《工程项目管理》成虎中国建筑工业出版社,2009年524 建筑设计(快题)《建筑空间组合论》彭一刚中国建筑工业出版社,2008第三版《建筑:形式、空间和秩序》程大锦(美)天津大学出版社,2008第三版《建筑思维的草图表达》(德)迪特尔普林茨、(德)克劳斯D迈耶保克恩著、赵巍岩译上海人民美术出版社.2005《建筑画环境表现与技法》钟训正中国建筑工业出版社, 2004 《图解思考》(美)保罗拉索著,邱贤丰译中国建筑工业出版社,2002 525 暖通空调《暖通空调》陆亚俊建筑工业出版社,2007第二版526 弹性力学《弹性力学》徐芝纶高教出版社,第四版589 城市规划综合《中国城市建设史》董鉴泓中国建筑工业出版社,2004第2版《外国城市建设史》沈玉麟中国建筑工业出版社,2007《居住区规划设计)》朱家瑾中国建筑工业出版社,2007年第2版《历史城市保护学导论:文化遗产和历史环境保护的一种整体性方法》张松同济大学出版社,2008《区域研究与区域规划》彭震伟同济大学出版社,1998 《城市设计》王建国中国建筑工业出版社,2009004化工学院513 矿物加工学《矿物加工学》(第二版)谢广元主编中国矿业大学出版社,2010年《选矿学》(第一版)谢广元主编中国矿业大学出版社,2001年712 试验研究方法《试验研究方法》刘炯天等主编中国矿业大学出版社,2005年《选煤工艺试验研究方法》周振英、刘炯天编中国矿业大学出版社,1991年713 过程流体机械《过程流体机械》李云主编化学工业出版社,2011年《过程流体机械》康勇主编化学工业出版社,2008年714 化工机械设计《过程设备设计》(第三版)郑津洋、董其武化学工业出版社,2011.1《化工设备机械基础》(第七版)刁玉玮大连理工大学出版社,2013.1 813 无机与分析化学《无机及分析化学》贾之慎高等教育出版社 2010815 有机化学《有机化学》徐寿昌高等教育出版社,1991年882 生物化学《生物化学》(第三版)王镜岩主编高等教育出版社,2002年883 微生物学《微生物学教程》(第3版)周德庆主编高等教育出版社,2011 年005 机电工程学院579 控制工程基础《控制工程基础》董景新,赵长德清华大学出版社(第三版)580 测试技术《测试技术与实验方法》王启广等中国矿业大学出版社(第三版)006信息与电气工程学院550 专业综合《电力电子技术》王兆安机械工业出版社,第四版或第五版《电力拖动自动控制系统》陈伯时机械工业出版社(第三版)《电能系统基础》单渊达机械工业出版社,2001年《供电技术》王崇林煤炭工业出版社,1997年555 专业综合《检测与转换技术》童敏明中国矿业大学出版社《自动控制原理》常俊林中国矿业大学出版社582 信号与线性系统《信号与线性系统》管致中高等教育出版社(第四版)594 专业综合《通信原理》樊昌信国防工业出版社(第六版)《信号与线性系统》管致中高等教育出版社(第四版)《数字信号处理原理及实现》王艳芬清华大学出版社007管理学院516 成本管理会计《成本会计学》(第二版)侯晓红主编机械工业出版社,2008年版《管理会计》郑爱华主编机械工业出版社,2007年版583 微观经济学B《经济学原理》(微观经济学分册)第5版(美)N.格里高利.曼昆著,梁小民译北京大学出版社,2009年《经济学》(微观)第3版(美)R.格伦•哈伯德等著,张军罗汉等译机械工业出版社,2011年584 宏观经济学B《宏观经济学》(美)N.格里高利.曼昆著,卢远瞩译中国人民大学出版社,2011年《西方经济学》第五版(宏观)高鸿业主编中国人民大学出版社,2011年595 管理学B 《管理学原理》陈传明、周小虎编著机械工业出版社,2012年3月第2版710 商业银行经营管理《商业银行经营管理》朱新蓉、宋清华主编中国金融出版社,2009年3月720 会计学B《基础会计学》(第二版)朱学义、杨玉凤主编机械工业出版社,2009年1月《中级财务会计》(第四版)朱学义编著机械工业出版社,2011年6月《财务管理学》黄国良等主编中国矿业大学出版社,2013年9月008理学院554 常微分方程《常微分方程》王高雄高等教育出版社558 固体物理《固体物理学》黄昆原著,韩汝琦改编高等教育出版社009文学与法政学院514 经济法综合(含环境法、安全法、劳动法和社会保障法)《安全法学》石少华主编中国劳动社会保障出版社,2010年版《环境法学》(第2版)汪劲主编北京大学出版社,2011年版《劳动法和社会保障法》(第2版)林嘉主编中国人民大学出版社,2011年版528 当代世界经济与政治《当代世界经济与政治》李景治编中国人民大学出版社,1999年版530 文学评论与写作(写一篇文学评论)无参考书目536 行政法与行政诉讼法《行政法与行政诉讼法》(第五版)姜明安主编北京大学出版社、高等教育出版社,2011年版538 组织行为学《组织行为学》张德编著高等教育出版社,2011年第四版718 高等教育学《新编高等教育学》(第2版)潘懋元著北京师范大学出版社,2009年版010外国语言文化学院593 综合英语、口语无参考书目011体育学院587 体育管理学《体育管理学》人民体育出版社,全国体育院校通用教材598 运动训练学《运动训练学》田麦久体育院校通用教材,人民体育出版社,2000年8月第二版。

软件工程(史济民第三版)-原理、方法及应用课后习题

软件工程(史济民第三版)-原理、方法及应用课后习题

软件工程(史济民第三版)-原理、方法及应用课后习题软件工程(史济民第三版)-原理、方法及应用课后习题软件工程是一门涉及软件开发和维护的学科,具有原理、方法和应用三个方面的内容。

本章将探讨史济民第三版的软件工程课后习题,包括问题分析、需求规格说明、软件设计、软件测试等方面的内容。

1. 问题分析问题分析是软件工程中的第一步,它涉及对问题的背景、需求和目标进行分析。

在史济民第三版的课后习题中,有许多问题需要进行分析和解决。

例如,习题1要求分析一个给定的场景,找出需求和问题,进而提出解决方案。

对于这类问题,我们可以采用以下的分析步骤:1. 理解问题背景和需求:阅读习题中的场景,了解涉及的业务领域和需求。

2. 识别问题:找出场景中存在的问题和挑战,例如效率低下、错误率高等。

3. 提出解决方案:基于问题的分析,提出改进措施和解决方案,例如引入自动化工具、优化算法等。

2. 需求规格说明需求规格说明是软件工程中的重要环节,它涉及对软件系统需求进行详细描述和规定。

在史济民第三版的习题中,有许多涉及需求规格的问题。

例如,习题2要求对给定的场景进行需求分析,并书写需求规格说明。

在完成这类习题时,我们可以参考以下的格式:1. 概述:对软件系统的背景和目标进行简要描述。

2. 功能需求:详细列出系统需要实现的功能和特点。

3. 非功能需求:描述与系统性能、安全性等相关的需求。

4. 约束:列出系统开发过程中需要遵守的限制条件。

3. 软件设计软件设计是软件工程中的核心环节,它涉及软件系统的整体结构和模块设计。

在史济民第三版的习题中,有许多关于软件设计的问题。

例如,习题3要求设计一个给定场景下的软件系统。

在进行软件设计时,我们可以使用以下的设计方法:1. 模块化设计:将软件系统划分为不同的模块,并设计各个模块的功能和接口。

2. 流程图和数据流图:使用图形化的工具描述软件系统的流程和数据流动。

3. 面向对象设计:基于对象和类的概念进行系统设计,强调封装、继承和多态等特性。

高等学校软件工程专业规范

高等学校软件工程专业规范

高等学校软件工程专业规范篇一:《软件工程》课程标准《软件工程》课程标准表1 课程基本信息(一)课程性质与任务课程性质:《软件工程》是软件工程专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。

软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。

《软件工程》已成为高校计算机软件教学体系中的一门核心课程课程任务:通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。

(二)课程教学目标本课程的开设旨在使学生通过学习,掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,能用软件工程的方法参与软件项目的分析、设计、实现和维护,为更深入地学习和今后从事软件工程的实践打下良好的基础。

1. 知识目标(1)教授以软件工程的发展、主要方法、常用工具的使用为主线。

包括:软件工程的基本概念、基本原理、常用的软件管理方法、常用的建模工具等。

(2)关键的知识讲授阶段有:软件需求获取方法、需求规格说明撰写与评审方法、软件设计的基本概念、结构化设计方法、体系结构设计、面向对象UML的软件分析方法、UML建模方法、软件测试基本理论等。

(3)通过该课程的教授,学生应具备软件工程基本理论知识。

2. 能力目标(1)运用软件工程的概念、原理、技术和方法开发与维护软件的能力(2)编写相关技术文档的能力(3)分析问题和解决问题的能力和团队工作交流能力。

3. 素质目标(1)职业素养的培养:对软件开发领域常见的职业要求、团队合作精神进行培养与灌输。

(2)专业素养的培养:对软件管理过程中常见的问题能够予以准确判断,明确解决思路。

软件工程与项目管理精品课程自评报告-吴煌

软件工程与项目管理精品课程自评报告-吴煌

软件工程与项目管理校级精品课程自评报告(高职高专)课程名称软件工程与项目管理所属专业大类名称专业主干课类所属专业类名称计算机所属专业名称计算机应用技术课程负责人吴煌所属系部电子与信息工程系申报日期 2011年5月23日一、课程概况本课程是计算机应用及相关专业的必修课,在整个课程体系中起着重要作用。

软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。

本课程是计算机专业的一门工程性课程,在我院应用型人才培养体系中占有重要的地位。

其任务是从工程化角度培养学生从事大型软件特别是对象式系统开发方法、软件测试与管理的能力。

其作用是使学生掌握软件工程的基本概念、原理和设计方法以及软件常用的开发工具和环境,并且了解软件项目开发的管理、组织。

二、课程建设前的教学情况学生情况:09级计算机应用1班、2班以的学生在学习这门课程。

师资情况:这是我系新开设的一门课程,由主讲老师吴煌一人负责这门课程的教学。

教师缺乏,任务重,师资配置不够合理。

课时安排:理论58节,实践10节。

均为每周4课时。

实习实训:在教学的后几周(根据教学安排,实验可在10—16学时之间小幅调整),理论教学基本结束后,协调其他教师所上的程序设计语言,要求学生按照软件工程的方法进行软件设计,为学生毕业走进程序设计工作岗位打下坚实的基础。

教材教参:教材选用高等教育出版社曾强聪、赵歆编著的《软件工程方法与实训》,该教材是普通高等教育“十一五”国家级规划教材,出版日期:2010年5月第1版。

教参情况:《实用软件工程》.郑人杰. 高等教育出版社出版《软件工程—原理、方法与应用》.史济民. 北京:高等教育出版社《现代软件工程》.周之英.北京:科学出版社,《软件工程》.徐仁佐.武汉:华中科技大学出版社,《面向对象技术》.蔡希尧,陈平.西安:西安电子科技大学出版社《软件工程(第二版)》.齐治昌. 高等教育出版社出版成绩评定:1.考核课堂出勤、课堂表现、教学参与、平时作业、综合实训、期末考试2.成绩评定(1)教学过程占30%:出勤情况及课堂表现、教学参与(课堂讨论、提问及实践环节参与情况)、平时作业(书面作业)、综合实训。

基于Web的汽车客运订票系统的设计与实现开题报告(最新整理)

基于Web的汽车客运订票系统的设计与实现开题报告(最新整理)

毕业论文开题报告题目:基于W e b的汽车客运订票系统的设计与实现学院:物理与信息科学学院姓名:╳╳专业:计算机科学与技术<1>班学号:20101030140指导教师:╳╳提交日期:2014年3月2日╳╳学院毕业论文(设计)开题报告姓名╳╳学号20101030140专业计算机科学与技术班级计科<1>班指导教师╳╳职称副教授职务毕业论文(设计)类型A、实验实践B、教育教法C、研究综述D综合E其它。

论文(设计)题目基于Web的汽车客运订票系统的设计与实现1.课题目的与意义汽车站的管理和规范问题,是困扰我们很多年的老问题,同时是政府管理的一个难点,客运业务中最基本的业务是订票,从表面上来看,它仅仅是汽车站业务的一个单一的项目,然而它涉及到管理与客户服务等多个方面。

由于传统的售票方式已经不能够满足乘客客运业务流量的急剧增加,这就要求一种新的方式订票,网上预订,以此缓解客运高峰时期的客运压力,并为用户提供方便的预订服务。

2.国内外研究现状在过去,售票是人工处理的,人工处理成本大、处理速度慢、误差概率高、效率低的缺点。

现在世界各国,大多数都是使用自动售票人员操作的计算机模型,在这种情况下,计算机主要是应用软件商店来更新数据。

虽然说这不是智能化,但这种办理模式比过去的人工办理方便多了,所有的数据由数据库来管理,能够随时动态的提取、保存数据,与修改后的数据覆盖现有数据。

作为计算机售票系统的延伸,许多车站都推出了电话订票的业务,但这些服务投入比较小,力量都比较弱,越是到了客运高峰时期,旅客越依赖电话订票,在这个时候,电话订票系统不能满足游客的需求,不仅不能解决问题,反而增加了乘客的不满。

网上订票的用户主要是有一定上网能力的旅客,随着外出旅游和务工人员的增多,网上订票的旅客也剧增,而大多数的农民工是直接在汽车站售票窗口购票的。

为了保证质量和汽车站售票管理效率,缓解高峰时段人流压力,让更多的用户可以方便地在网上预订,开发出一款基于网络的汽车客运订票系统是很有意义、有必要的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发技术 软件工程学 软件工程管理 软件管理学 软件经济学 软件度量学 软件方法 软件工具 软件工程环境
1.2 软件工程学的范畴
• 软件开发方法
• 为软件开发提供了 “如何做” 的技术
• 个性化方法-〉结构化方法-〉面向对象方法-〉软件复用
• 软件工具
• 为软件开发提供了自动的或半自动的软件支撑环境 • 单个工具-〉工具箱、集成工具-〉环境
• 软件工程管理
• 目的:为了按进度及预算完成软件计划 • 内容:成本估算、进度安排、人员组织、质量保证等
1.2 软件工程学的范畴
• 软件工程的定义
1. Fritz Bauer的定义: 建立和利用一套合理的工作原则,以便经济地 获得可靠的,可以在实际机器中高效运行的软件。 1. IEEE的定义: (1) 将系统化的,规范的,可量化的方法应 用于软件的开发,运行和维护,即将工程化方法应 用于软件。 (2)在(1)中所述方法的研究。
软件工程
授课人:袁 晓峰
湘 潭 大

第1章 绪论
• 某些新科技的发明创造会给其他一些看 似无关的技术领域、商业企业、公众甚 至整个社会文化带来深远而出人意料的 影响和作用。这就是所谓的“意外效应 法则”。 • 计算机软件已经成为世界舞台上最为重 要的科技领域,并且是“意外效应法则” 的一个最好的体现。
软件—新的类型
• 开放计算—普适计算,分布式计算 • 网络资源—万维网发展为一个计算引擎 • 开放源码—“免费” 源代码开放了计
算机群体
10
--软件应用领域 软件—新的类型
• 其他
•数据挖掘 •网格计算 •认知机 •纳米技术软件 •大数据
11
--软件应用领域
遗留软件
(年代久远,多变,但仍支持核心业务功能) 为什么一定要变更? • 软件必须进行适应性调整,以满足新 的计算环境和技术的需求。 • 软件必须升级以实现新的商业需求。 • 软件必须扩展使之具有与更多现代系 统和数据库的互操作能力。 • 软件必须进行改建使之能适应多样化 的网络环境。
• 随着程序设计从结构化程序设计发展到面向对象程序 设计,软件工程也由传统的软件工程演变为面向对象 的软件工程,现正向更新一代的基于构件的软件工程 迈进。
• 长期的实践,软件工程积累了许多行之有效的原理与 方法,已经为产业界广泛接受与应用。
思考题/练习题
• 1.什么是软件危机?为什么会产生软件危 机? • 2.什么是软件工程?工程化生产方法与早 期的程序设计方法的主要差别在哪里? • 4.你用过哪些软件工具?谈谈软件工具在 软件开发中的作用。
• 基于构件的软件工程
• 开发过程经历的阶段:领域分析和测试计划定制 → 领域设计 → 建立可复用构件库 → 查找并 集成构件
1.4 软件工程的应用
• 软件工程指导中小型软件 • 软件工程指导大型软件 • 软件工程的成就
• 解决软件开发中的部分问题(非本质) (参见Brooks的书) • 软件生产率稳步增长
• 现在的软件技术具有产品和产品生产载体的双 重作用。 • 作为一个产品,软件显示了由计算机硬件体现 的计算能力。 • 作为产品生产的载体,软件提供了计算机控制 (操作系统)、信息通信(网络)以及应用开 发和控制(软件工具和环境)的基础平台。 • 软件扮演信息转换的角色:生产,管理,获取, 修改,显示,传输各种信息。
• 过程式和面向对象的编程范型
存款 帐户余额
存 款 取 帐户余额 款
取款
利息 结算
银行储蓄处理业务
利息结算
三代软件工程
• 传统软件工程
• 开发过程经历的阶段:结构化分析 →结构化设 计 → 面向过程的编码 → 软件测试
• 面向对象软件工程
• 开发过程经历的阶段: OO分析与对象抽取 → 对象详细设计 → 面向对象的编码和测试
--软件危机
• 解决途径
• 组织管理
----工程项目管理方法 • 技术措施 ----软件开发技术与方法 ----软件工具
• 促使了软件工程的诞生
• 按工程化的原理和方法组织软件开发是解决 软件开发中的问题一个主要出路。
1.2 软件工程学的范畴
• 软件工程学的研究范畴
• “软件工程”一词是在1968年北大西洋公约组织在联 邦德国召开的一次会议上提出。有多种定义,中心思 想是把软件当做一件工业产品。
--软件的特征
• 硬件磨损(浴缸曲线)vs.软件退化
由于变更的副作用而 导致软件失效率提高
失效率
变更点
硬件
实际曲线 理想曲线 时间
8
--软件应用领域
系统软件 应用软件 工程/科学软件 嵌入式软件 产品线软件 Web应用软件 人工智能软件

2014-09-09
9
--软件应用领域
12
--软件危机
• 软件危机
指人们难以控制软件的开发和维护。 表现: (1)软件系统大型化,复杂化, 很难理解和维护; (2)软件开发周期过长; (3)大型软件系统的可靠性差; (4)软件费用往往超出预算。
13
--软件危机
• 软件危机的表现
对软件开发成本和进度的估算很不准确,常 超时超资; 质量很不可靠; 用户很不满意; 没有适当的文档; 软件成本比重上升; 供不应求:软件开发生产率跟不上计算机应 用迅速深入的趋势 。
• 软件工程发展的展望
• 开发伴随软件复用,开发为了软件复用 • 软件就是服务
软件项目的成 功率仍不高。 仍需努力! 28
1.5 软件工程的教学:教材导读
• 参看P13-
小结
• 软件工程自 1968 年提出以来,在过去 40 余年中,已发 展成为用于指导软件生产工程化,覆盖软件开发方法 学、软件工程管理、软件工具与环境等内容的一门新 学科。
--软件的特征
软件与硬件的不同
软件开发不同于硬件设计; 软件生产与硬件制造不同; 软件维护不同于硬件维修。
软件是逻辑的,而不是物理的
软件开发成本大,而且是人工成本大; 软件生产是简单的拷贝; 软件不会磨损,但会落伍,会因变更(维护)而退化; 软件大多为定制,构件复用才开始;
22
1.2 软件工程学的范畴 软件工程是一种层次化技术
工具 方法 过程 质量关注点
R.S.Pressman
23
. 1.3 软件工程的发展
三种编程范组成 程序=数据结构+算法 着眼于程序的过程和基本控制结构,粒度最小 面向对象编程范型 数据及其操作被封装在对象中 程序=对象+消息 着眼于程序中的对象,粒度比较大 基于构件技术的编程范型 构件是通用的、可复用的标准化对象类 程序=构件+架构 着眼于适合整个领域的类对象,粒度更大
• 现在,庞大的软件产业已经成为工业经济中的 主导因素。早期的独立程序员也已经被多个专 业的软件开发团队所代替。 • 同过去的独立程序员一样,开发现代计算机系 统时,软件开发人员依然面临同样的问题:
• 为什么软件需要如此长的开发时间? • 为什么开发成本居高不下? • 为什么在将软件交付顾客使用时,我们无法找到所 有的错误? • 为什么维护已有的程序要花费高昂的时间和人力代 价? • 为什么软件开发和维护的过程难以度量?
1.1 软件和软件危机


软件的定义 软件是能够完成预定功能和性能的可执行的计 算机程序,包括使程序正常执行所需的数据, 以及有关描述程序操作和使用的文档(R. S. Pressman) 软件=程序(包括数据)+文档 程序是为了解决某个特定问题而用程序设计语 言描述的适合计算机处理的语句序列。 数据是使程序能正常操纵信息的数据结构。 文档是与程序开发,维护和使用有关的图文材 料。
--软件危机
• 硬件/软件成本变化趋势
100%
硬件
软件
0% 1955 1970 1985
借用摘图:反应硬件发展的快速
--软件危机
• 软件技术进步落后于需求增长
--软件危机
• 软件危机的原因
• 客观:软件本身特点
----逻辑部件 ----规模庞大、复杂度高 • 主观:不正确的开发方法 ----忽视需求分析 ----个人化方式:软件开发=程序编写 ----轻视软件维护
相关文档
最新文档