软件体系结构 主讲老师:刘玮 liuneway@126.com.

Slides:



Advertisements
Similar presentations
2 、 5 倍数的特征 学习目标 1. 掌握 2 、 5 倍数的特征,能判 断一个数是否是 2 、 5 的倍数。 2. 理解奇数和偶数的意义,正 确判断一个数是奇数还是偶数。
Advertisements

教學與行政收費 E 化平台建置 總務處出納組 102/4/25. 前言 本校學雜、學分及招生報名費外之公 款繳納方式,由繳款人透過開立於中 信商銀 401 專戶辦理匯款 ( 金融機構或 ATM) 入帳,或親至出納組辦理。 為因應數位化及現代生活習慣,擬設 置繳費 E 化平台,同時收款通路將增 加全國四大超商、線上刷卡或網路.
中外领导力 的 跨文化 比较分析 主讲人:. 壹 领导力理论 中国古代 “ 修身、齐家、治国、平天下 ” —— 孔子(儒家思想 ) 庄子(道家学派) 老子(道家学派)
頭皮的健康與診斷 頭皮保養的目的 乾性頭皮的產生原因及處理 油性頭皮的產生原因及處理 植物精油芳香療法的認識與應用 第 3 章 頭皮部位的處理 ………………………………………………………………………….…
窮人與富人的決定性差異 書名: 窮人與富人的距離 0.05mm 作者:張禮文出版社:海鴿. 窮人與富人的決定性差異 窮人和富人的關鍵差異不在口袋金錢的多寡,而 在腦袋。這本書將全面解開窮人之所以貧窮,而 富人之所以富裕的所有奧秘。 窮人和富人的關鍵差異不在口袋金錢的多寡,而 在腦袋。這本書將全面解開窮人之所以貧窮,而.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
传媒学生应该如何度 过四年大学生活?. 进入大学一个多月了,用一个词形容大 学生活 自卑感 不适应 空虚感 被动感 孤独感 失望感 一、大学新生不适应大学生活的表现:
案例 某日,小强的妈妈带着 7 岁的小强去医院。妈妈说老 师多次反映小强容易发脾气,注意力难以集中、学习 成绩不好。妈妈说他从小就好动,容易分神。她同时 说最近小强经常感到肚子痛和便秘。她曾经买药给他 吃,但没有效果。 小强和姐姐、妈妈住在郊区外公外婆家。他爸爸是公 司司机。妈妈和外公都在一家蓄电池厂工作,小强和.
一、研究背景 植物组培育细胞培养源于 19 世纪后半 叶,当时植物细胞全能性的概念还没有 完全确定。人们便对此进行研究。 目前,植物组培已经变成了一种常规 的技术,广泛应用于植物的脱毒,快繁 ,基因工程,一串研究,次生代谢物质 生产,工厂化育苗等多方面。
第八章 土地行政管理.
大学生入党积极分子培训教材 主编:蔡中华 曹培强.
「互联网金融2.0时代」与房地产的融合 广州互联网金融协会会长、广州e贷总裁 方颂.
企业会计学(三) 人大版本 吕 昌.
汪雅丽 ——15应用化学A班 在组设置中可使用此模板作为演示培训材料的起始文件。 节
金融商品與服務之基本模式 時間 資金投入 風險 金融商品與服務 資金產出 2. 金融商品與服務之基本模式 時間 資金投入 風險 金融商品與服務 資金產出 2.
学党章党规、学系列讲话,做合格党员 学习教育
據點考核與評鑑 報告人:臺南市政府 照顧服務管理中心.
拓 展 培 训 师 基础教程.
第三章 中国国防 教学目标: 1、了解我国国防的历史、国防建设的现状和我国国防的发展趋势。 2、熟悉我国国防的法规和国防政策
特殊族群運動健康訓練(I).
依据教材 全国高等教育自学考试指定教材 《西方行政学说史》, 竺乾威主编,高等教育出版社。
第一章 建筑工程造价概述 分部分项工程量清单的编制及工程实例.
正 信 讀 書 會 主 持 群 : 姚 永 錩 、 鄭 健 、 陳 淑 珍 佛法的生活應用 2008/07/23.
非法集资典型案例评析 南京师范大学法学院 蔡道通 2016年1月.
专题(二) 交往沟通 掌握技能 命 题 解 读 背 景 材 料 新 题 演 练 考 点 链 接 1.
金融产品认知 09会计3班 刘碧莲.
松竹梅岁寒三友 步入建交 桃李杏村暖一家 迈进职教 活出精彩.
钢筋混凝土楼梯模板施工 学习目标 主要内容.
2014年国家义务教育质量监测 体育现场测试说明 浙江省教育质量监测中心 2014年11月.
國立空中大學台南中心  註冊工作簡報.
第九章 钢筋混凝土构件 正常使用极限状态验算
第八章 网络课程的设计与开发.
第八单元第二课第一课时 严守法律 温州四中 蒋莉青.
小学数学教育质量监测命题的路径与方法 彭晓玫
高级财务会计.
重庆市渝州工程勘察设计技术服务中心---刘刚 2013年3月29日
默写基础知识: 1、家庭是由 关系、 关系或 关系而结合成的亲属生活组织。家里有 ,家中有 。
什么是颈椎病? 颈椎病是指颈椎间盘退行性变,及其继发性椎间关节退行性变所致脊髓、神经、血管损害而表现的相应症状和体征。
大学生安全防范教育.
大学生安全防范教育 济宁职业技术学院 安全保卫处.
第一单元 中国传统文化主流思想的演变.
做最好的自己 ——七(6)班主题班会.
互联网时代班主任的挑战 万玮 2014年9月20日.
公務人員退休法、撫卹法 法制與實務講習 銓敘部退撫司 中華民國99年8月.
《傅雷家书》 学 科:语文 年 级:九年级 授课教师:王宁宁.
第3章 建筑剖面设计.
趣味硬币.
项目申报及投资推进工作实务 更多模板、视频教程: 兰溪市发展和改革局 2013年9月 1.
第一節 行政裁量與不確定法律概念 第二節 行政裁量
楼层与地层 水平分隔建筑空间的构件,楼层分隔上下空间,地层分隔底层空间并与土壤直接相连。 楼层的结构层为楼板,地层的结构层为垫层。
节日安全指导手册.
本课设置5个环节 一、限时秒杀--5分钟 二、摩拳擦掌--9分钟 三、刀锋相见--20分钟 四、现炒现卖--5分钟 五、相约课后--1分钟.
从中国与联合国的关系演进 看联合国的产生与发展
网点常规审计管理办法.
猜 谜 说个宝,道个宝,说它宝贵到处有, 看不见,摸不着,不香不臭没味道,   万物生存离不了,在你身边看不见, 越往高处它越少。(打一自然物)
医学寄生虫总论 (二).
家庭財務管理 運動管理學系 陳文喜老師
高雄市政府教育局 防災教育輔導小組委員 高雄市茄萣區興達國民小學 學務主任 溫文正 、
软件工程 Software Engineering
鄉村尋根-農具篇.
实验6 面向对象分析与设计实验.
大同股份有限公司 資訊系統業務處服務中心 花東區維護組組長 蔡俊儀
2019/4/26 值得您列入生涯規劃的 一個重要選項 參加國家考試 考選部國家考試宣導小組.
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
加減法文字題 國小低年級學生對加減法文字題的瞭解 小組成員 陳育娟 羅珠綾 侯宜孜
飛行器製作與飛行 講師:劉修建.
因果性:一个形而上学的预设 赵敦华 2008年5月.
106學年度四技二專技優甄審入學報名說明 1 1.
轉換成二進位、八進位及十六進位 = ( ) = ( ) = ( )16.
資格審查登錄系統-首次登入設定通行碼 若考生先前已於「繳費身分審查系統」設定過通行碼,則無須再行設定,直接登入系統即可.
Presentation transcript:

软件体系结构 主讲老师:刘玮 liuneway@126.com

教学计划 理论课10次 上机课5次 设计课1次 Rational Rose的 安装和使用 Visio的基本操作 Visio的应用 软件体系结构概述 软件体系结构模式 Rational Rose的 安装和使用 Visio的基本操作 软件体系结构描述 软件体系结构建模理论和方法 Visio的应用 软件体系结构分析与评估理论和方法 面向对象的软件工程过程 面向服务的体系结构 面向对象系统分析 面向对象实例软件系统的体系结构设计

考核方法 考试50% 平时40% 随堂考核 抽查式点名 上机10%

参考书(主) 参考书(辅) 软件体系结构教程(高等学校教材) 清华大学出版社 作者:李代平 2008第一版 软件构架实践(影印版·第2版) 卡内基·梅隆大学软件工程丛书 2003 年8月

第一讲 软件体系结构概述

大纲 什么是软件 软件的分类 软件的发展 软件生存期模型 软件危机

什么是软件? 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 强调文档的作用

大纲 什么是软件 软件的分类 软件的发展 软件生存期模型 软件危机

软件的分类(1) 按软件的功能进行划分: 系统软件 操作系统 数据库管理系统 设备驱动程序 通信处理程序等

软件的分类(2) 支撑软件 文本编辑程序 文件格式化程序 磁盘向磁带向数据传输的程序 程序库系统 支持需求分析、设计、实现、测试和支持管理的软件

软件的分类(3) 应用软件 商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 系统仿真软件 智能产品嵌入软件 医疗、制药软件 事务管理、办公自动化软件 计算机辅助教学软件

软件的分类(4) 按软件规模进行划分: 类别 参加人员数 研制期限 源程序行数 微型 1 1~4周 0.5k 小型 1 1~6月 1k~2k 类别 参加人员数 研制期限 源程序行数 微型 1 1~4周 0.5k 小型 1 1~6月 1k~2k 中型 2~5 1~2年 5k~50k 大型 5~20 2~3年 50k~100k 甚大型 100~1000 4~5年 1M(=1000k) 极大型 2000~5000 5~10年 1M~10M

软件的分类(5) 按软件工作方式划分: 按软件服务对象的范围划分: 实时处理软件(如地震、卫星监测系统) 分时软件(如操作系统) 交互式软件(如ATM软件) 按软件服务对象的范围划分: 项目软件(定制软件) 产品软件 实时处理软件:地震、卫星监测系统 常见的通用操作系统是分时系统与批处理系统的结合 在早期的计算机系统中,计算机处理多个用户发送出的指令的时候,处理的方案即为分时(time-sharing),即计算机把它的运行时间分为多个时间段,并且将这些时间段平均分配给用户们指定的任务。轮流地为每一个任务运行一定的时间,如此循环,直至完成所有任务。 这种使用分时(time-sharing)的方案为用户服务的计算机系统即为分时系统。

软件的分类(6) 按使用的频度进行划分: 一次使用 频繁使用 按软件失效的影响进行划分: 高可靠性软件 一般可靠性软件

软件种类和软件工程的关系 功能分类中应用软件的复用性高,适合使用具有复用思想的软件工程方法。 软件规模越大,使用软件工程技术越能提高效率。 高可靠性软件要求软件开发过程的安全性,即安全软件工程

大纲 什么是软件 软件的分类 软件的发展 软件生存期模型 软件危机

软件发展阶段 程序设计阶段 — 40至60年代 程序系统阶段 — 60至70年代 软件工程阶段 — 70年代以后 程序设计阶段 — 40至60年代 使用者和开发者相同,专业人员,规模小 开发软件就是编写程序,提高程序的运行效率 程序系统阶段 — 60至70年代 某一领域广泛用户,规模越来越大 多人分工合作,软件作坊 软件工程阶段 — 70年代以后 硬件发展对软件提出更高要求,出现软件危机 软件工程实践 程序规模小,开发、使用、维护都是同一个人; 软件作坊 软件危机促使软件工程出现和发展

什么是软件工程 为达到一定的“目标”,我们建立起相应的“项目”,在某种“方法论”的指导下,按照一定的“过程”,生产出相应的软件“产品”。 理论与经验”和“工具”可以认为是2个比较独立的概念, 其他概念可以被分为4组——“方法论”、“过程”、“目标”、“项目”,分别标以不同颜色。 软件工程可以描述为:为达到一定的“目标”,我们建立起相应的“项目”,在某种“方法论”的指导下,按照一定的“过程”,生产出相应的软件“产品”。 是不是只有软件公司才关注软件工程技术呢? 1.微软中国研发集团将卓越软件工程部(Engineering Excellence Group)带入了中国 2. 1999年年初,华为技术公司研究管理部副总裁陈青与华为总裁任正非签下了一纸“军令状”——“到2000年,使我们的软件研发能力有一个质的提高,基本达到cmm二三级间的水平。” 2001年12月,华为技术的印度研究所成为中国第一个获得cmm4国际认证的软件研发机构。它是国际上最流行、最实用的软件生产过程标准,以及软件企业成熟度认证标准。 为达到一定的“目标”,我们建立起相应的“项目”,在某种“方法论”的指导下,按照一定的“过程”,生产出相应的软件“产品”。

是不是只有软件公司才关注软件工程技术呢? 微软中国研发集团将卓越软件工程部(Engineering Excellence Group)带入了中国 1999年年初,华为技术公司研究管理部副总裁陈青与华为总裁任正非签下了一纸“军令状”——“到2000年,使我们的软件研发能力有一个质的提高,基本达到cmm二三级间的水平。” 2001年12月,华为技术的印度研究所成为中国第一个获得cmm4国际认证的软件研发机构。它是国际上最流行、最实用的软件生产过程标准,以及软件企业成熟度认证标准。

软件工程的定义 IEEE: 软件工程是开发、运行、维护和修复软件的系统方法 Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法 为了解决“软件危机”,北大西洋公约组织于1968年在西德召开的NATO会上,首次提出“软件工程”的概念。

软件工程过程 软件规格说明:规定软件的功能及其运行的限制 软件开发:产生满足规格说明的软件 软件确认:确认软件能够完成客户提出的要求 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进

大纲 什么是软件 软件的分类 软件的发展 软件生存期模型 软件危机

软件生存期 life cycle 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期 软件生存期的六个步骤,即制定计划、需求分析、设计、程序编码、测试及运行维护

瀑布模型

制定计划 确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口等方面的要求 完成该软件任务的可行性研究(技术可行性、经济可行性、操作可行性、社会可行性) 估计可利用的资源 (硬件,软件,人力等)、成本、效益、开发进度 制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查 可行性研究

需求分析和定义 对用户提出的要求进行分析并给出详细的定义 编写软件需求说明书或系统功能说明书及初步的系统用户手册 提交管理机构评审

软件设计 概要设计 — 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应 详细设计 — 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础 编写设计说明书,提交评审。

程序编写 把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单” 写出的程序应当是结构良好、清晰易读的,且与设计相一致的

软件测试 单元测试,查找各模块在功能和结构上存在的问题并加以纠正 组装测试,将已测试过的模块按一定顺序组装起来 按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用

运行/维护 改正性维护 运行中发现了软件中的错误需要修正 适应性维护 为了适应变化了的软件工作环境,需做适当变更 改正性维护 运行中发现了软件中的错误需要修正 适应性维护 为了适应变化了的软件工作环境,需做适当变更 完善性维护 为了增强软件的功能需做变更

软件生存期模型 软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架 瀑布模型 螺旋模型 喷泉模型 演化模型 智能模型

瀑布模型 缺点 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量; 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险; 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。 不可逆转 适合需求变化能力较弱的系统

螺旋模型 螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即: 缺点 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制 风险分析──分析所选方案,考虑如何识别和消除风险 实施工程──实施软件开发 客户评估──评价开发工作,提出修正建议 缺点 需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。 过多的迭代次数会增加开发成本,延迟提交时间。

喷泉模型 迭代 重复 演进 无间隙 各阶段间无明显界限 喷泉模型主要用于面向对象的软件项目,软件的某个部分通常被重复多次,相关对象在每次迭代中随之加入渐进的软件成分。 缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。  缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。

演化模型 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。 做两次 第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求 第二次则在此基础上获得较为满意的软件产品

智能模型 基于知识的软件开发模型 ,把瀑布模型和专家系统结合在一起,利用专家系统来帮助软件开发人员的工作 需要四代语言(4GL)的支持 用户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序 一种声明式、交互式和非过程性编程语言

面向知识的软件开发框架 ? 网格 P2P 需 求 描 述 资源 需求牵引 柔 性 生 产 Meet in Middle 满足需求的规模化定制 需求建模 领域共性需求 个性化、多元化需求 ? 领域 知识 资源聚合 计算资源 通信资源 一方面,目前网络环境下的资源聚合已成事实,Web服务、网格、P2P、普适计算等各种形态的网络式软件分别从不同角度、不同层面积累了大量的软件服务资源,相关技术得到了极大发展。 另一方面,需求牵引的发展则无论从方法论研究、产业支撑技术,都略显滞后,两者之间呈现出失衡的态势,从而使得需求工程正日益成为网络化软件发展的瓶颈。 存储资源 信息资源 网络环境下的软件服务 Web服务 网格 P2P 普适计算

软件工程三要素: 方法、工具和过程 软件工程方法为软件开发提供了 “如何做” 的技术 软件工程三要素: 方法、工具和过程 软件工程方法为软件开发提供了 “如何做” 的技术 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境 软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的

本讲思考题 试图用软件工程思想描述自己曾经开发软件的过程,能够和哪些工程步骤相对应。