软件工程7-史济民

合集下载

第 2章 -原理、方法与应用(史济民)

第 2章 -原理、方法与应用(史济民)
4
典型的软件生存周期
问题定义
计划时期
可行性研究 需求分析
开发时期
软件设计 编 测 码 试 维 护
5
运行时期
1、计划时期
任务
调查用户需求, 调查用户需求,分析新系统的主要目 分析开发该系统的可行性。 标,分析开发该系统的可行性。
问题定义
明确“用户需要计算机解决什么问题” 明确“用户需要计算机解决什么问题” 提出关于“系统目标与范围的说明”请用户确认。 提出关于“系统目标与范围的说明”请用户确认。
形式化开发模型
转换模型(transformational model) 净室模型(cleanroommodel)
1
2.1
定义
软件生存周期
一个软件从开始计划起,到废弃不用止, 一个软件从开始计划起,到废弃不用止,称为软 件的生存周期。 件的生存周期。 包括计划、开发与运行三个时期。 包括计划、开发与运行三个时期。 计划时期:问题定义、可行性研究 计划时期:问题定义、 开发时期:需求分析、系统设计、 开发时期:需求分析、系统设计、编码和测试 运行时期: 运行时期:系统维护阶段 划分阶段的意义:简化每一步的工作内容, 划分阶段的意义:简化每一步的工作内容,使因软件规 模增大而大大增加的软件复杂性变得 易于控制和管理。 易于控制和管理。
2
要解决的问题是什么) 问题定义 (要解决的问题是什么) 软件定义 可行性研究 该问题是否有行得通的解决办法) (该问题是否有行得通的解决办法) 系统分析) (系统分析) 目标系统必须做什么) 需求分析 (目标系统必须做什么) 怎样实现目标系统) 概要设计 (怎样实现目标系统) 系统设计 详细设计 软件生 应该怎样具体地实现这个系统) (应该怎样具体地实现这个系统) 命周期 软件开发 编码和单元测试 写出正确的容易理解、 (写出正确的容易理解、 系统实现 容易维护的程序模块) 容易维护的程序模块) 综合测试(集成测试和验收测试) 综合测试(集成测试和验收测试) 改正性维护、适应性维护、 运行维护 (改正性维护、适应性维护、 完善性维护、预防性维护) 完善性维护、预防性维护)

软件工程技术讲座

软件工程技术讲座

软件工程技术讲座软件教研室艾孜海尔编新疆大学数学与系统科学学院目录第1章软件工程概述 (1)1.1 软件 (1)1.1.1软件的进展 (1)1.1.2软件定义 (2)1.1.3软件的特点 (2)1.1.4软件的分类 (4)1.2 软件工程概念 (6)1.2.1软件危机与软件工程定义 (6)1.2.2软件工程的差不多内容与目标 (10)1.2.3软件工程的原则 (10)1.3 软件生存周期与软件开发模型 (11)1.3.1软件生存周期 (11)1.3.2软件开发模型 (12)第2章可行性研究 (19)2.1 问题定义 (19)2.2 可行性研究 (19)2.2.1方法、步骤 (19)2.2.2文档编写 (25)第3章需求分析 (28)3.1 需求分析的方法步骤 (28)3.2 数据流图的分析与细化 (28)3.3 需求规格说明的编写 (29)第4章概要设计 (31)4.1 概要设计的任务与步骤 (31)4.2 软件设计的概念与原则 (31)4.2.1模块化 (31)4.2.2抽象与逐步求精 (31)4.2.3信息隐藏和局部化 (33)4.2.4模块独立性 (33)4.2.5结构设计原则 (37)4.2.6概要设计文档 (38)第5章详细设计 (40)5.1 详细设计的任务与原则 (40)5.2.1详细设计的任务 (40)5.2.2详细设计的原则 (40)5.2 详细设计的方法 (40)5.2.1程序流程图 (41)5.2.2N-S图 (42)5.2.3伪代码 (42)5.3 详细设计说明书 (42)第6章编码 (44)6.1 程序设计语言 (44)6.1.1程序设计语言分类 (44)6.1.2程序设计语言的选择 (44)6.2 编码风格 (45)6.2.1源程序文档化 (45)6.2.2数据说明 (50)6.2.3语句结构 (50)6.2.4输入/输出(I/O) (53)6.3 程序效率 (53)6.3.1有关程序效率的几条准则 (54)6.3.2算法对效率的阻碍 (54)6.3.3阻碍储备器效率的因素 (54)6.3.4阻碍输入/输出的因素 (54)6.4 编程安全 (55)6.4.1冗余程序设计 (55)6.4.2防错程序设计 (56)第7章软件质量与质量保证 (58)7.1 软件质量的定义 (58)7.2 阻碍软件质量的因素 (59)7.3 软件质量保证策略 (60)7.4 软件质量保证活动 (61)7.5 软件评审 (61)7.5.1设计质量的评审内容 (62)7.5.2程序质量的评审内容 (63)7.6 软件质量保证的标准 (64)7.7 软件测试打算与测试分析报告 (65)第8章项目打算与治理 (67)8.1 软件项目特点、治理的专门性及软件治理功能 (67)8.1.1软件项目的特点 (67)8.1.2软件治理的功能 (68)8.1.3确定软件项目的工作范畴 (68)8.2 确定软件开发所需的资源 (68)8.2.1人力资源 (69)8.2.2硬件 (69)8.2.3软件 (69)8.3 人员的打算和组织 (70)8.4 成本估量及操纵 (71)8.4.1软件开发成本估量方法 (71)8.4.2专家判定技术 (71)8.4.3成本估算模型 (72)8.5 进度打算 (74)8.5.1软件工作的专门性 (74)8.5.2各时期工作量的分配 (74)8.5.3制定开发进度 (75)8.6 软件配置治理 (76)8.6.1基线 (76)8.6.2软件配置项 (77)8.6.3软件配置治理过程 (78)8.7 软件治理方案 (81)第1章软件工程概述1.1 软件软件是一种产品,同时又是开发和运行产品的载体。

软件工程7-史济民

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

图书管理系统项目计划任务书

图书管理系统项目计划任务书

图书管理系统项目任务计划书(项目简称:图书管理系统)[制作单位:小辣椒软件开发有限公司]1 概述图书管理系统项目是一个由人、计算机等组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。

利用信息控制企业的行为;帮助企业实现其规划目标。

在现代大中型企业纷纷利用的系统。

图书馆管理系统,能进行图书馆管理系统能实测国民经济和企业的各种运行情况;利用过去的数据预测未来;从企业全局出发辅助企业进行管理决策;利用信息控制企业的行为;帮助企业实现其规划目标。

图书馆管理系统合运用了管理科学,系统科学,运筹学,统计学,计算机科学等学科的知识。

可以通俗的简化的描述图书馆管理系统的三要素:系统的观点、数学的方法以及计算机的应用。

1.1 项目情况项目名称:图书管理系统。

项目简介:图书管理1.2 参考文献[1] 史济民. 软件工程[M]. 第三版. 北京:高等教育出版社, 20092 项目人员2.1 项目团队角色分工2.1.1组长杜飞团队负责人,负责人的工作任务为:<一>,内部工作协调,包括1)计划作成、2)进度控制、3)向老师汇报工作。

<二>,外部工作协调,包括1)与用户进行协调、2)工作汇报。

<三>,开发人员的开发过程的后勤保障工作。

<四>,项目周报文档作成,包括项目进度、项目重大问题、项目风险报告、风险解决方案。

(附项目周报格式)<五>,召集内部例会。

<六>,部分编码的编写。

<七>,总体方案做成、包括软件架构及各种交付文档,确定需求分析和概要设计的规格(表现形式和内容)及提纲。

2.1.2 组员闪露工作任务为:<一>,与老师进行部署方面的技术沟通。

<二>,组织培训向老师讲解软件的使用,向老师提供技术支持。

<三>,完成产品部署说明图及说明。

<四>,负责部分代码编写<五>,组织例会向老师进行工作汇报。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软工学习资料推荐

软工学习资料推荐

软工学习资料推荐软件工程(Software Engineering)是一门研究和应用如何以系统化和规范化的方法去构建、运行、维护和管理软件的学科。

对于软件工程学习者来说,掌握优质的学习资料是非常重要的,它们可以帮助我们深入了解软件工程的理论和实践,提升我们的编程能力和项目管理技巧。

本文将向广大软工学习者推荐一些值得阅读的软工学习资料。

一、软件工程导论1. 《软件工程导论》(Introduction to Software Engineering)- Ian Sommerville这本书是软件工程学习的经典教材,已经成为了许多大学软工专业的教材之一。

作者通过清晰简洁的语言,详细介绍了软件工程的各个方面,包括软件开发过程、需求分析、软件设计、软件测试等。

它不仅适合软件工程专业的学生,也适合其他对软工感兴趣的读者。

2. 《软件工程:实践者的研究方法》(Software Engineering: A Practitioner's Approach)- Roger S. PressmanPressman的这本书是软件工程领域的经典著作之一,对软件开发的整个过程进行了深入的介绍和剖析。

书中包含丰富的案例和实践经验,让读者能够更好地理解软件工程中的实际问题和解决方法。

二、软件需求工程1. 《软件需求工程》(Software Requirements Engineering)- Karl Wiegers、Joy Beatty这本书主要介绍了软件需求工程的理论和实践。

作者通过大量的示例和案例,详细讲解了如何正确地进行需求分析和需求管理,以及如何定义和验证软件需求。

对于从事软件需求工程的工程师和项目经理而言,这本书是一本不可或缺的好资料。

2. 《需求工程:基础》(Requirements Engineering: Fundamentals)- Klaus Pohl、Chris Rupp本书系统地介绍了需求工程的基本概念和方法,帮助读者全面理解需求工程的整个过程。

教务管理系统需求分析说明书

教务管理系统需求分析说明书

教务管理系统需求分析说明书1.引言:1.1 编写目的:教务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。

如何把教务工作信息化,模块化,便捷化是现代高校发展的重点,所以迫切需要研制开发一种综合教务管理软件。

1.2 背景说明:待开发系统名称:教务管理系统开发者:彭莹曹妍唐晓春用户:高校教务人员,在校学生,教师1.3 系统目标:本系统是各院(系)级教务员,教师,和学生的工作界面。

它完成:(1)各院(系)与学生有关的各种数据(如学生的注册信息、课程设置、教学培养计划、教学执行计划、学生选课申请、学生成绩、考试安排等)的录入、查询、更新以及各种表格的生成,完成对在校生的基本管理;(2)完成学生选课,查询,教师录入成绩等应用(3)以及对教学人员(教师、班主任、教务人员) 的管理。

特色与关键问题:对软件过程规范及技术的学习和应用。

2.信息描述:2.1 信息内容:本系统是一个面向学校教务管理人员、教师和学生,为其提供服务的综合管理系统。

教务人员通过本系统完成所有的日常教务工作。

从学生入学开始到毕业离校,其在学校内的所有和教务相关的数据都通过教务系统进行管理。

学生则可以通过系统进行选课及查询自己的个人相关信息(课程表、考试安排、成绩等)。

教师则可以查询自己的课程安排,录入成绩,申请考试时间等。

2.2 数据流层图顶层DFD图教务员学生教务管理系统教师ID和密码ID和密码命令信息命令信息返回信息ID和命令返回返回信息密码信息信息二层DFD图——教务人员子系统排考系统教务员验证有效性信息查询系统组班信息考试数据安排ID和密码查询,修改命令命令信息成功信息信息课返回信息数据程选信息表修数据自课程表然制定系统班二层DFD图——学生子系统学生信息查询系统验证有效性ID和密码查询修改命令命令信息返回信息返回信息信息学生数据选课情况学生选课系统二层DFD图——教师子系统信息查询系统教师验证有效性ID和密码查询修改命令命令信息返回信息信息成返回信息数据绩考试考试表时间时间申请考试教师成绩录入系统安排申请三层DFD图——教务人员之信息查询子系统添加信息返回数据信息信息查询信息删除信息教务员返回信息查询命令删除命令返回信息修改返回命令信息修改信息制表教务员查询对应考试信息学生,教师之信息查询同上三层DFD图——教务人员之课程表制定子系统教务员信息,数据课程表教室资源表查询返回命令信息课程表课程分配表查询对应课表三层DFD图——教务人员之排考子系统排考信息数据课程分配表查询返回考试安排信息教室资源表命令信息考试信息表考试时间表三层DFD图——教务人员之组班系统组班教务员信息数据教师信息表查询返回自然班命令信息学生对应班级表查询对应班级班级信息表三层DFD图——学生之选课子系统选课学生信息数据学生选课表返回信息学生信息表三层DFD图——教师之教务子系统录入成绩教师信息数据成绩表考试考试成绩表申请时间申请考试考试时间表四层DFD图——教务人员信息查询子系统教务员课程信息查询教室信息查询班级信息查询学生信息查询系部信息查询教师信息查询教务员信息查询课程信息表班级信息表教室信息表返回课程信息班级号号返回信息教室号学号返回信息返回信息系名返回编号返回返回教务员学生信息表信息信息信息编号系部信息表教务员信息表教师信息表四层DFD图——学生信息查询子系统成绩查询学生选课表成学成绩表考试信息表考试信息查询选课情况查询绩号学生课程表学号学号考试信息课返返学课程表程回回号学生信息表号信信学生信息查询课程信息查询息息老师信息表课程信息表注:学生增加,删除,修改主要是针对学生信息。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

中国矿业大学研究生入学考试参考书目

中国矿业大学研究生入学考试参考书目
建筑工业出版社,2007 第二版
526 弹性力学 737 桥梁工程
《弹性力学》第八版
徐芝纶
《桥梁工程》(第二版) 姚玲森
高教出版社,2016
人民交通出版社,2008 年 7 月
004 化 工学院
901 材料力学 A
902 理论力学 A
513 矿物加工学 708 无机与分析化 学B 709 有机化学 B
高等教育出版社,2005 年版
北京大学出版社,2007 年版
高等教育出版社,2010 年版
北京大学出版社,2010 年版
593 综合英语、口语 无参考书目
587 体育管理学 《体育管理学》
598 运动训练学 《运动训练学》
田麦久
701 体育教学论 《体育教学论》
毛振明
702 专项训练理论 与方法
《田径》、《体操》、《篮 球》、《排球》、《足球》、 《武术》《乒乓球》等
卢明银
中国矿业大学出版社,2012
《工程经济学(第
4
版)》
邵颖红、黄渝祥、 邢爱芳
同济大学出版社,2009
《采矿学》
杜计平 孟宪锐 中国矿业大学出版社,2014 年1月
《矿山压力及岩层控制》
钱鸣高、石平五、 中国矿业大学出版社,2010
许家林
年9月
544 工程经济
《技术经济学》
卢明银
中国矿业大学出版社,2012
中国矿业大学出版社(第三 版)
555 专业综合
《检测与转换技术》 《自动控制原理》
006 信 息与控
582 统
信号与线性系
《信号与线性系统》
制工程 学院
《通信原理》
童敏明 常俊林 管致中 樊昌信

华中师范大学教育技术学硕士研究生培养方案

华中师范大学教育技术学硕士研究生培养方案

教育技术学专业硕士研究生培养方案(学科专业代码078401或040110 授予理学/教育学硕士学位)一、培养目标本学科专业主要培养德、智、体全面发展的,适应社会主义现代化建设需要的教育技术学专业专门人才,其具体要求是:1.努力学习马列主义、毛泽东思想和邓小平理论;坚持党的基本路线、热爱祖国、遵纪守法;有好的品德,乐于为社会主义现代化建设服务。

2.在教育技术学科方面,掌握坚实的基础理论和较系统的专业知识,熟悉该学科国内外研究的历史、现状及发展趋势,较熟练地掌握一门外国语。

3.具备能独立地从事教育技术方面的科学研究与教学工作的能力。

4.热爱教师工作,具有健康的体格和良好的心理素质。

5.毕业生可在教育研究机构、行政事业单位等从事教育技术学的研究和相关管理工作,也可在高校、中小学从事相关教学及科研工作,在企业从事培训教学系统和资源的设计与制作,在从事教育软件与资源设计与开发的公司从事开发工作。

二、研究方向华中师范大学教育技术学科现有教授20人,副教授16人,形成教育技术基础理论、教育系统设计与绩效评估、教育信息化管理与政策、教育信息资源设计与开发、知识服务&智能教学系统、数字媒体技术、数字化学习平台技术等研究方向。

1.教育技术基本理论:教育技术学内涵、外延及研究范畴;教育技术学研究方法及方法论;技术、教育与社会的辩证关系及教育技术哲学思考;教育技术学发展史与学科发展趋势;信息技术对教育发展的革命性影响;技术引发学习方式变化与教学模式创新研究等。

2.教学设计与绩效技术:本方向主要研究教学系统设计的方法、策略、模式、评价等基本问题;新媒体支持下的教学系统设计基本方法;绩效技术基本理论及其在教育、企业或组织中的学习、培训或训练中的应用。

3.教育信息化管理与决策:本方向主要进行国内外教育信息化发展战略比较研究、教育信息化智能评测与决策系统研究、我国不同区域教育信息化发展趋势研究、教育信息资源配置的策略和机制研究、区域教育资源的共享模型和方法学研究、区域教育信息化中信息资源与组织体系等建设理论研究。

网络资源共享与交互平台开题报告格式南昌大学.doc

网络资源共享与交互平台开题报告格式南昌大学.doc

本科生毕业设计(论文)开题报告题目:网络资源共享与交换平台开发学院:软件学院系软件工程专业:软件工程班级:WEB085学号:8000108257姓名:雷雁鹏指导教师:龚根华填表日期:2012 年 2 月 6 日一、选题的依据及意义本课题的出发点在于为南昌大学校园网内,尤其是同一公寓园区内的师生用户建立一个方便快速的资源共享平台,以方便大家共享自己的学习资源,并促使大家加入到校园网络文化建设中来。

平台的建立同时也能有效减轻校内FTP资源服务器的负担,令千年学府学子们的学习生活更加便捷,网络生活更加美好。

二、国内外研究现状及发展趋势(含文献综述)1.国外研究现状:国外远程教育资源共建共享平台发展成熟的典型实例是美国,美国作为世界上远程教育资源最丰富的国家之一,美国政府、高校等组织投入了大量的人力、财力给网络资源建设,组织建设的网络资源为国家级的资源信息中心,具有代表性的有:ERIC,即美国教育资源信息中心,由美国教育部、教育科学院和教育国家图书馆提供支持,其资源建设计划周密,功能齐全,文献资料异常丰富,配有易用的搜索引擎、Email问答系统和专家咨询等,能快速帮助用户查询到所需要的资料;FREE,即联邦优质教育资源,由50多家联邦政府机构共同合作而建立,可以提供丰富的免费网络资料供给教师和学生;Ohio LINK,即俄亥俄图书馆和信息网络,由俄亥俄州组建,覆盖全州的大型图书文献信息网络,连接了多数大学和图书馆,实现图书资源的共建共享网络系统;CERES,即教育资源中心项目,由美国国家航空和宇宙航行局(NASA)提供资助,蒙大纳州立大学和来自全美的任课教师开发,包括一个资源丰富的在线图书馆和基础教育天文学课程教学的交互式教育资源。

2.国内研究现状:我们国家支持建设大型教育数据资源库和网络资源建设工程项目,其中有些资源库类似于美国的ERIC和Ohio LINK项目,如中国知识基础设施工程(CNKI)和中国数字图书馆工程。

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

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

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

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

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

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

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

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

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

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

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

“软件工程导论”重点、难点

“软件工程导论”重点、难点

“软件工程导论”的授课内容重点、难点--供期末考试(教考分离)命题参考一、教材:软件工程—原理、方法与应用(第3版),史济民等编著,高等教育出版社二、任课教师: 陈征、于海雯三、授课内容及重点、难点第1章绪论重点:软件的基本概念,软件危机,软件工程学的范畴,传统软件工程和面向对象软件工程的比较。

第2章软件生存周期与软件过程重点:软件生存周期的基本概念,传统软件开发模型(瀑布模型、快速原型模型、增量模型、螺旋模型)的特点,可行性研究的内容,风险分析的3项活动。

第3章结构化分析与设计重点:结构化分析的任务和步骤,数据流图的组成符号,画分层的数据流图,数据字典的条目,加工逻辑的描述工具(判定表和判定树等),结构化设计的任务和步骤,面向数据流的设计方法(变换映射和事务映射),模块划分的原则,详细设计的目的与任务,常用的详细设计工具(程序流程图和N-S图等)。

难点:画分层的数据流图,画判定表和判定树,变换映射和事务映射。

第4章面向对象与UML重点:面向对象的基本概念,UML中的9种图(4种静态图、5种动态图)的基本结构,类与类之间的4种关系(关联、聚集、泛化、依赖)的含义,类图的画法。

难点:类图的画法。

第7章7.1 软件设计概述重点:软件设计的基本概念(模块化、抽象与细化、信息隐藏、模块独立性),内聚性(7种类型)和耦合性(7种类型)的含义。

第8章编码与测试重点:编码的风格,编码语言的选择,测试的目的,黑盒测试和白盒测试的测试用例设计方法,多模块程序的测试策略(单元测试、集成测试、确认测试和系统测试)。

难点:黑盒测试和白盒测试的测试用例设计。

第9章软件维护重点:软件维护的种类,维护的副作用,软件配置管理的含义。

第11章软件工程管理重点:软件估算模型、软件成本估计、人员的分配与组织、项目进度安排(计划评审技术图和Gantt 图)。

第12章软件质量管理重点:质量保证和质量认证的基本概念,软件可靠性的概念,软件容错技术,CMM软件能力成熟度模型。

南京审计大学2020研究生考试参考书目

南京审计大学2020研究生考试参考书目

考试参考书目(一)学术学位020100理论经济学初试参考书目:《西方经济学(微观部分)》(第6版),高鸿业,中国人民大学出版社,2014年。

《西方经济学(宏观部分)》(第6版),高鸿业,中国人民大学出版社,2014年。

复试参考书目:《发展经济学——从贫困到富裕》,速水佑次郎、神门善久,社会科学文献出版社,2009年。

《发展经济学》(原书第11版),托达罗等著,聂巧平等译,机械工业出版社,2014年。

《政治经济学·资本主义部分》(第9版),张彤玉、张桂文,陕西人民出版社,2013年。

同等学力加试参考书目:《社会主义市场经济概论》(第4版),杨干忠,中国人民大学出版社,2014年。

《现代产业经济学》(第2版),刘志彪,高等教育出版社,2009年。

020200应用经济学初试参考书目:《西方经济学(微观部分)》(第6版),高鸿业,中国人民大学出版社,2014年。

《西方经济学(宏观部分)》(第6版),高鸿业,中国人民大学出版社,2014年。

复试参考书目:《发展经济学——从贫困到富裕》,速水佑次郎、神门善久,社会科学文献出版社,2009年。

《发展经济学》(原书第11版),托达罗等著,聂巧平等译,机械工业出版社,2014年。

《政治经济学·资本主义部分》(第9版),张彤玉、张桂文,陕西人民出版社,2013年。

同等学力加试参考书目:《当代西方经济学流派》(第4版),蒋自强、史晋川,复旦大学出版社,2014年。

《现代产业经济学》(第2版),刘志彪,高等教育出版社,2009年。

020204金融学初试参考书目:《西方经济学(微观部分)》(第6版),高鸿业,中国人民大学出版社,2014年。

《西方经济学(宏观部分)》(第6版),高鸿业,中国人民大学出版社,2014年。

复试参考书目:《金融学》(第4版),黄达、张杰,中国人民大学出版社,2017年。

《投资学》(第9版中文版),滋维.博迪,机构工业出版社,2012年。

软件工程——原理、方法与应用(第3版本)史济民-顾春华-版知识点整理(完整版)410

软件工程——原理、方法与应用(第3版本)史济民-顾春华-版知识点整理(完整版)410
29. 软件测试
黑盒测试
定义:是根据被测试程序的功能来进行测试,也称为功能性测试 方法:
i. 等价分类法 ii. 边界值分析法 iii. 错误猜测发 iv. 因果图法
白盒测试
定义:以程序的结构为依据,又称结构测试 常用方法:
i. 逻辑覆盖法 ii. 路径测试法
30. 软件的维护
定义:在一个软件产品交付使用后对其进行修改,以纠正故障、改进其性能和其 他
27. 软件设计一般包括
1) 数据设计(DD、E-R) 2) 体系结构设计(DFD)
3) 接口设计(DFD) 4) 过程设计(STD,控制规格说明、加工规格说明)
28. 传统的软件设计
1) 概要设计 i. 结构设计 ii. 接口设计
iii. 编写概要设计文档 2) 详细设计
i. 确定各个软件部件的数据结构和操作,产生描述各软件部件的详细设计文档
26. 试比较 3 种不同的设计思想
a) 面向过程的思想: i. 各模块功能可能相互交叉或重叠,模块间常常存在数据的共享或数据结构的 共享
b) 面向功能的思想: i. 各模块的功能单一,如能将它们与其他模块的数据共享降到最低限度,就可 以在某些应用中重用
c) 面向对象的思想: i. 各模块是一个个独立的单位,不仅重用性较好,而且易于测试,联调和维护
14. 传统软件工程方法与面向对象的区别、各自的优缺 点
区别: 前者是面向过程的语言,一切以算法为核心 后者是面向对象的语言,构成类的封装机制,跟好的实现了代码的服用性能,依 据
高内聚、低耦合的思想核心
传统的软件工程主要指结构化软件工程方法
优点: 1) 整体思路清楚,目标明确 2) 设计工作中阶段性非常强,有利于系统开发的总体管理和控制 3) 在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷

软件工程史济民ppt课件

软件工程史济民ppt课件
基于构件技术的编程范型 构件是通用的、可复用的标准化对象类 程序=构件+架构 着眼于适合整个领域的类对象,粒度更大
• 过程式和面向对象的编程范型
存款
取款
帐户余额


款 帐户余额 款
利息 结算
利息结算 银行储蓄处理业务
三代软件工程
• 传统软件工程
• 开发过程经历的阶段:结构化分析 →结构化设 计 → 面向过程的编码 → 软件测试
• 一个螺旋式周期
• 计划:确定目标,选择方案,选定完成目标的策略 • 风险分析:从风险角度分析该策略 • 开发:启动一个开发活动 • 评审:评价前一步的结果,计划下一轮的工作
螺旋模型
构件集成模型
• 构件集成模型主要适用于面向对象的软 件开发。
• 面向对象的基本概念
• 对象Object • 类Class • 继承Inheritance • 消息Message • 面向对象
用户要求
系统测试
需求分析
需求规格说明
软件分析 与总体设计
软件结构图
确认测试 综合测试
详细设计
模块说明
单元测试
编码
程序清单
瀑布模型的阶段与文档 图2.2 瀑布模型的阶段与文档
瀑布模型
• 特点
1. 阶段的顺序性和依赖性 2. 推迟实现的观点 3. 质量保证的观点
• 存在问题
• 不适合需求模糊的系统 • 开发初始阶段很难彻底弄清软件需求
• 形式化软件开发方法
• 基于模型的,基于代数结构的,基于时序逻辑的 • 形式化需求规格说明 • 变换技术
• 程序自动生成技术 • 确保正确
转换模型
与需求比 较后修正
形式化 规格说明 系统需求

上海交通大学

上海交通大学
《统考ABC词汇精讲》
大学语文三(高本)
32
0.56
邓小平理论
8
0.37
胡果文
电子技术基础
43
0.76
陈秀真
《电子技术基础》霍亮
《数字电子技术基础》陈刚主编
电子技术基础(船舶)
30
0.75
林昕
《电子技术基础》清华
电子商务
19
0.31
张跃华
电子商务基础
37
0.65
柴洪辉
电子政务
29
0.57
徐启智
对外贸易运输与仓储
36
0.89
《船舶原理》盛振邦刘应中主编
船舶原理基础
34
0.90
船舶原理与设计基础
45
0.93
窦尚信
大学英语(二)
33
1.75
潘晓燕
《21世纪读写教程第三册》
大学英语(三)
31
0.74
潘晓燕
《21世纪读写教程第二册》
大学英语(一)
27
1.72
潘晓燕
《21世纪读写教程第一册》
大学英语考试
23
0.62
潘晓燕
《管理学-原理与方法》周三多
《现代企业管理原理》黄津浮
《管理学》(美)哈罗德孔茨
《管理学》斯蒂芬.罗宾斯
线性代数
24
0.32
消费者行为学
36
1.18
李国振
有PPT讲义
信号与系统
41
1.19
齐开悦
信息系统建模理论
34
2.19
饶若楠
《UML基础、案例与应用》Josenph Schmuller李虎王美英译

【免费下载】软件工程 原理方法及应用史济民第三版答案

【免费下载】软件工程 原理方法及应用史济民第三版答案

软件工程-原理、方法及应用(史济民第三版)答案绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。

(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。

(2).软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。

采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。

3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。

当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。

新方法在推行初期,总有人不愿接受和采用。

若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。

(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。

软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。

所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。

4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。

答:用C++开发一个软件,是校园一卡通的模块。

首先,要在编辑程序支持下在计算机中输入源程序。

然后编译程序,把源程序翻译成目标程序。

如果发现错误,就重新调入编辑程序对源程序进行修改。

编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。

编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。

离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。

软件工程-原理、方法及应用(史济民第三版)答案范文

软件工程-原理、方法及应用(史济民第三版)答案范文

软件⼯程-原理、⽅法及应⽤(史济民第三版)答案范⽂软件⼯程-原理、⽅法及应⽤(史济民第三版)答案绪论1.什么是软件危机?为什么会产⽣软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的⼀系列严重问题。

(1).软件维护费⽤急剧上升,直接威胁计算机应⽤的夸⼤。

(2).软件⽣产技术进步缓慢2. 什么是软件⽣产⼯程化?⼯程化⽣产⽅法与早期的程序设计⽅法主要差别在哪⾥?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件⽣产从个⼈化⽅式改变为⼯程化。

采⽤⼯程的概念、原理、技术和⽅法开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好的技术⽅法结合起来,以经济地开发出⾼质量的软件并有效地维护它,这就是软件⼯程,同时这也是⼯程化⽣产⽅法。

3. 分别说明(1)软件开发⽅法与开发⼯具;(2)软件技术与软件管理的相互关系。

答:(1)⼯具和⽅法,是软件开发技术的两⼤⽀柱,它们密切相关。

当⼀种⽅法提出来并证明有效后,往往随之研制出相应的⼯具,来帮助实现和推⾏这种⽅法。

新⽅法在推⾏初期,总有⼈不愿接受和采⽤。

若将新⽅法融合于⼯具之中,使⼈们通过使⽤⼯具来了解新⽅法,就能更快促进新⽅法的推⼴。

(2)在⼯业⽣产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。

软件在⽣产中不能按质按时完成计划,管理混乱往往是其中的重要原因。

所以对于⼀个理想的软件⼯程环境,应该同时具备技术和管理两个⽅⾯。

4.试从你的亲⾝实践,谈谈软件⼯具在软件开发中的作⽤。

答:⽤C++开发⼀个软件,是校园⼀卡通的模块。

⾸先,要在编辑程序⽀持下在计算机中输⼊源程序。

然后编译程序,把源程序翻译成⽬标程序。

如果发现错误,就重新调⼊编辑程序对源程序进⾏修改。

编译通过后,再调⽤连接程序吧所有通过了编译⽬标程序连同与之有关的程序连接起来,构成⼀个能在计算机上运⾏的可执⾏软件。

编译程序,编辑程序,连接程序以及⽀持他们的计算机操作系统,都属于软件⼯具。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 确定子系统接口的步骤:
① 为子系统确定一个备选接口集 ② 寻找接口之间的相似点 ③ 定义接口依赖关系 ④ 将接口映射到子系统 ⑤ 定义接口所指定的行为 • 定义子系统接口时,首先命名和描述接口,通常在相 应类的名称前加前缀“I-”,或将类加上“《interf ace》”来表述子系统接口,并用简明的文字描述它 在系统中的作用;然后定义子系统的行为,即定义操 作的集合,取代笼统的职责。子系统接口中对操作的 描述应具体化,至少包括: 操作的名称、返回值含 义及类型、使用的参数名称即类型、应该做什么(包 括关键算法)。
包含用户界面和与业务过程 的交互
• 确定进程的生命周期
• 由设计人员确定和记录进程创建与进程销毁 的事件序列,以及创建和删除的机制。 • 例子:在选课系统中启动一个主要进程,其 职责是协调整个系统的行为。 • 解:该进程依次产生许多下级控制线程来监 视系统设备和来自课程目录系统的事件。这 些进程和线程的创建可用UML的主动类表示。
2. 系统元素设计
• • • •
模式的应用
• 提倡在OOD中充分应用设计模式。 • 模式的定义
• 模式是解决某一类问题的方法论,也是对通用问题 的通用解决方案。 • 模式的目的是把解决某类问题的方法总结、归纳到 理论高度,供其他人员在解决类似问题时参考或直 接套用。
• 软件模式就抽象级别分三种类型
StudentApplication
<<校园网>>
<<校园网>>
StudentApplication
Registration Server
<<校园网>>
<<legacy>> Course Catalog
CourseCatalogSystemAccess CourseRegistrationProcess BillingSystemAccess
• 为实现分布式结构,需完成以下工作。 1. 确定网络拓扑配置 2. 将设计元素分配到网络节点
• • • • • • 节点容量(指内存量和处理能力) 通信介质带宽(总线、LAN、WAN) 硬件与通信链路的可用性、重选路由 对冗余与容错能力的要求 响应时间要求 吞吐量要求
网络拓扑配置图
Desktop PC Desktop PC
• 两种实现并行需求的技术:
• 引进任务管理部件。 • 基于进程和线程的控制 。
1. 引进任务管理部件 • 引进任务管理部件的原因:
① 在多用户多任务操作系统上开发应用软件的需要; ② 在通过任务描述软件系统中各子系统间的通信和协同 时,引入任务概念能简化某些应用的设计和编码。
• Coad和Yourdon建议的任务管理策略:
3、任务管理策略
• 任务管理是考虑对多用户、多任务的并行处理 支持,对并行需求的解决方案有三种:
• 多处理器方案--将并发子系统分配到不同的处理器。 • 操作系统方案--将并发子系统分配到相同的处理器 并由操作系统提供同步控制。 • 应用程序方案--应用软件负责在适当的时间从一个 代码分支切换到另一个代码分支。
第7章 面向对象设计
软件设计概述 面向对象设计建模 系统架构设计 系统元素设计 面向对象设计示例
湘 潭 大 学
7.2 面向对象设计建模
• 面向对象设计模型
• Pressman把OO设计模型定义为一个金字塔层次结构, 从下至上分为: • 系统架构层:描述系统的整体结构,使所设计的软 件满足客户定义的需求,并实现支持客户需求的技 术基础设施。 • 类和对象层:包含类层次关系,使系统能够以通用 的方式创建并不断逼近特殊需求,该层还包含每个 对象的设计表示。 • 消息层:描述对象间的消息模型,建立了系统的外 部接口和内部接口,包含使得每个对象能够和其协 作者通信的细节。 • 责任层 :包含针对每个对象的所有属性和操作的 数据结构和算法的设计。
① 确定任务的特征。 ② 定义一个协调者任务和与之关联的对象。 ③ 集成其他任务和协调者。
• 任务管理部件的设计一般遵循如下的步骤 与策略:
① 识别由事件驱动和时间驱动的任务。 ② 识别关键性任务、任务优先级以及任务管理 类。任务管理类是为了实现而引入的专门用 于管理和协调其他任务的任务。 ③ 定义任务。说明任务的名称、功能、优先级 任务与其他任务的通信方式。 ④ 必要时在OOD中扩充有关任务的类及对象,调 整原有语法成分,以适应任务定义的要求。
1、系统高层结构设计
• 在设计系统高层结构时,可以选用架构 模式作为模板来定义系统的高层框架。 • 常用的架构模式
• • • • 层次架构(Layers) 模型-视图-控制架构(Model-View-Control) 管道与过滤器架构(Pipes and Filters) 黑板3. 定义子系统接口
• 子系统是对一组承担职责的设计元素的统称, 子系统接口明确定义这些职责,但不约束职 责的实现者和实现方式。子系统接口将其使 用方法和实现方式彻底分开。借助子系统接 口定义,可以将系统中某一部分的复杂行为 和其他的设计内容进行隔离。 • 子系统接口只有逻辑上的意义,没有物理意 义,它说明子系统的使用者和子系统服务的 提供者之间共同认可的约定。
• 架构模式:表示软件系统基本结构组织方案。 • 设计模式:提供对面向对象的具体设计问题的解决 方案。 • 习惯用法:是指针对具体程序设计语言的使用模式。
7.3 系统架构设计
• 系统架构设计是整个软件的基础,其设计质量 是一个软件开发成功与否的关键。 • 在进行具体元素设计之前,首先要确定系统的 高层结构。系统高层结构为后续设计提供一个 公共的基础框架,用以承载逐步演进和累加的 设计内容。 • 系统架构设计的主要活动有6项。
一般
系统软件层
2、确定设计元素
• 确定设计元素从分析模型出发,对现有分析类的交 互进行分析,以确定设计元素。主要工作是:
1. 映射分析类到设计元素 • 一个分析类可以映射为一个设计类或多个设计类的组合, 也可以将其映射为子系统接口。 • 如果一个分析类很简单,并已代表单一独立的逻辑抽象, 可直接映射到设计类。通常在分析类中,与主动参与者 连接的边界类、控制类和一般的实体类可映射为设计类。 • 如果分析类的职责比较复杂,其行为很难由单个设计类 或者设计类的简单组合承担,可将其映射为子系统接口。 通常被动参与者对应的边界类被映射为子系统接口。
系统架构设计的6项活动
1. 系统高层结构设计:根据软件需求模型和分析模型, 套用架构模式设计软件系统的高层组织结构。 2. 确定设计元素:识别和确定设计类和子系统,将设计 类组织到相应的包中,为子系统设计接口,确定复用 机会等。 3. 确定任务管理策略:考虑解决并发任务可能引起的冲 突或运行性能等问题的策略。 4. 分布式实现机制:选择支持远程通信的构件,给出实 现构件之间通信的统一方案。 5. 数据存储设计:选择数据库访问的支持构件,设计类 /对象数据结构的存储、读写的操作方法。 6. 人机交互设计:实现人机界面的技术基础和工具等。
OOA模型转换到OOD模型
属性、操作、协作 者 责任设计
类/对象 模型
用例 模型
对象关系模型
消息设计
类及对象设计
对象-行为模型 系统架构设计
面向对象设计的任务
• OOD的软件设计可划分为两个层次,即系统架构 设计和系统元素设计。设计过程是循环渐进的。
1. 系统架构设计
• 软件系统架构是指系统主要组成元素的组织或结构,以及 其他全局性决策,组成元素之间通过接口进行交互。系统 架构包含关于软件系统组织的许多重要决定。 系统元素包括组成系统的类、子系统与接口、包等。系统 元素设计是对每个设计元素进行详细设计。主要的设计内 容是: 类/对象设计; 子系统设计; 包设计。
创建进程和线程的时序图
: MainStudentForm : Student 1: Startup 2: createThread : RegisterForCoursesForm : RegistrationController : ICourseCatalogSystem
3: createThread 4: createThread
1 1 <<control>> RegistrationController
(from Registration)
+courseCatalog 0..* 1
<<Interface>> ICourseCatalogSystem
(from External System Interfaces)
4、分布式实现机制
2. 基于进程和线程的控制
• 进程和线程建模
• 需要为系统所需的每个独立控制流创建进程或线 程,可以用主动类来建模进程或线程。主动类是 指拥有自己的执行线程而且能发起控制活动的类, 主动类能与其他主动类并行执行。 • 对进程建模可采用类图或构件图。进程间的通信 是依赖关系。
选课系统的进程建模
负责对遗留系统的访问,是独 立进程,可被多个用户共享。
1 MainStudentForm
(from Registration)
1 <<subsystem proxy>> CourseCatalogSystem
(from CourseCatalogSystem)
1
0..1 <<boundary>> 1 RegisterForCoursesForm
(from Registration)
<<校园网>>
<<legacy>> Billing System
3. 设计分布处理机制
• 实现分布在不同网络节点上的应用逻辑之间的交互, 需要底层类库的支持。介绍基于java类库来实现分 布处理。 • 基于RMI(远程方法调用)的应用程序由java对象 构成,一个java对象可调用另一个远程结点上的ja va对象的方法。 • 采用RMI实现分布处理机制的步骤:
相关文档
最新文档