L1系统分析与设计导论_第1页
L1系统分析与设计导论_第2页
L1系统分析与设计导论_第3页
L1系统分析与设计导论_第4页
L1系统分析与设计导论_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、系统分析与设计系统分析与设计教师姓名:蔡培茂联系电话Q: 1813968005邮箱: 办公室:知行楼ZA310系统分析与设计导论系统分析与设计导论n目的:目的:了解本课程了解本课程了解了解OOA/OODn内容:内容:课程介绍课程介绍何谓何谓OOA/OOD课程介绍课程介绍n本课程学什么本课程学什么n为什么要学为什么要学n如何学如何学课程介绍课程介绍n本课程学什么本课程学什么n为什么要学为什么要学n如何学如何学现场小调查现场小调查n哪些同学参与过实际软件项目?哪些同学参与过实际软件项目?n你的主要工作是什么?你的主要工作是什么?n若是编码,你是如何开展工作?若是编码,你是

2、如何开展工作?系统分析与设计系统分析与设计本课程学什么本课程学什么n软件工程的目标是要生产出用户需要软件工程的目标是要生产出用户需要的软件。生产这种软件,实际上就是的软件。生产这种软件,实际上就是构造一个基于计算机的系统;构造一个基于计算机的系统;n软件工程常常和建筑工程类比。软件软件工程常常和建筑工程类比。软件就好比建筑工程师要建的房子。就好比建筑工程师要建的房子。本课程学什么本课程学什么n假如要建筑师在假如要建筑师在花园一角建一间花园一角建一间狗舍,只需要按狗舍,只需要按照经验即兴建成,照经验即兴建成,不需要额外的准不需要额外的准备工作;备工作;本课程学什么本课程学什么n如果要建一如果要建

3、一座大楼,则座大楼,则需要很多其需要很多其他的工作。他的工作。本课程学什么本课程学什么n首先,工程师要理解客户的首先,工程师要理解客户的真正需求真正需求。弄清楚客户要一座怎样的房子;弄清楚客户要一座怎样的房子;n其次,工程师要决定这个房子应由其次,工程师要决定这个房子应由哪些哪些部分构成部分构成,各部分之间有什么,各部分之间有什么关系关系;本课程学什么本课程学什么n然后,工程师要规划好建房的然后,工程师要规划好建房的步骤步骤;n在这些工作的基础上,房子才能破土动在这些工作的基础上,房子才能破土动工。工。n这些工作,就相当于本课程要学习的这些工作,就相当于本课程要学习的系系统分析和设计统分析和设

4、计。本课程学什么本课程学什么n系统分析:发现问题、理解问题、定义系统分析:发现问题、理解问题、定义问题(不是解决问题);问题(不是解决问题);n系统设计:对问题给出系统设计:对问题给出概念性概念性解决方案解决方案(不是真的实施)。(不是真的实施)。n本课程内容主要围绕上面两个方面及有本课程内容主要围绕上面两个方面及有关的过程展开关的过程展开本课程学什么本课程学什么n首先,我们要学会发掘、理解、记录用首先,我们要学会发掘、理解、记录用户对软件的需求;户对软件的需求;n学会确定软件的架构及组成要素,并用学会确定软件的架构及组成要素,并用文字和图形表示出来;文字和图形表示出来;n学习软件开发的一般过

5、程(步骤)、活学习软件开发的一般过程(步骤)、活动及完成活动的方法(原则与技巧)。动及完成活动的方法(原则与技巧)。本课程学什么本课程学什么n了解需求了解需求很容易吗?很容易吗?由于行业的隔阂、语言的二义性,基于由于行业的隔阂、语言的二义性,基于计算机的系统的需求很难了解,也很难计算机的系统的需求很难了解,也很难描述;描述;要克服许多沟通障碍,做到准确描述。要克服许多沟通障碍,做到准确描述。本课程就是为此介绍有关的专门方法。本课程就是为此介绍有关的专门方法。本课程学什么本课程学什么n确定软件系统结构确定软件系统结构很容易吗?很容易吗?这涉及许多程序设计的专业知识、经验这涉及许多程序设计的专业知

6、识、经验和技巧;和技巧;所设计的结构应该是可以实现的、稳健所设计的结构应该是可以实现的、稳健的、能适应变化的的、能适应变化的做这样的工作,需要有哲人的睿智,科做这样的工作,需要有哲人的睿智,科学家的严谨,工匠的精细。学家的严谨,工匠的精细。本课程学什么本课程学什么n软件系统构建的步骤软件系统构建的步骤很简单吗?很简单吗?房子只是一种有形的实体,尚有各种不房子只是一种有形的实体,尚有各种不同的建造方法;同的建造方法;软件是一种无形的东西,其构建的步骤软件是一种无形的东西,其构建的步骤当然比建房要复杂许多。当然比建房要复杂许多。不同的方法代表了不同的观念和思想。不同的方法代表了不同的观念和思想。本

7、课程就是要带领各位领略巨匠的妙思。本课程就是要带领各位领略巨匠的妙思。课程介绍课程介绍n本课程学什么本课程学什么n为什么要学为什么要学n如何学如何学为什么要学为什么要学n知识结构知识结构不学习就不能全面理解软件开发不学习就不能全面理解软件开发其他课程不能完全发挥作用其他课程不能完全发挥作用为什么要学为什么要学n工作需要工作需要软件开发中实际应用软件开发中实际应用部分同学的职业部分同学的职业职业发展路线职业发展路线(某公司的员工晋升模式)(某公司的员工晋升模式)为什么要学为什么要学n开启智慧开启智慧本课程涉及的知识具有普遍意义本课程涉及的知识具有普遍意义不管做什么工作都有启发不管做什么工作都有启

8、发课程介绍课程介绍n本课程学什么本课程学什么n为什么要学为什么要学n如何学如何学如何学如何学n认真听课认真听课n阅读教材及参考书阅读教材及参考书n思考思考n完成作业和练习完成作业和练习听课听课+ +阅读阅读+ +思考思考+ +实践实践如何学如何学n教材教材UML和模式应用和模式应用面向对象的分析设计和迭代开发面向对象的分析设计和迭代开发作者具有丰富的工程实践经验作者具有丰富的工程实践经验内容翔实具体,可模仿性强内容翔实具体,可模仿性强如何学如何学n参考书参考书面向对象的系统分析与设计(第二版)面向对象的系统分析与设计(第二版) 美美乔治乔治 等等著,著, 龚晓庆等译,清华大学出版社,龚晓庆等译

9、,清华大学出版社,2008年年1月版;月版;用例驱动的用例驱动的UML对象建模应用:范例分析对象建模应用:范例分析 美美罗森罗森堡堡 斯克特斯克特 等著,等著, 管斌译,人民邮电出版社,管斌译,人民邮电出版社,2005年年5月版;月版;系统分析师系统分析师UML实务手册实务手册 邱郁惠邱郁惠 著,机械工业出著,机械工业出版社,版社,2008年年4月版;月版;敏捷软件开发敏捷软件开发美美Robert C. Martin著,中国电力著,中国电力出版,出版,2003年年7月月如何学如何学n参考书参考书UML面向对象建模与设计(第二版)面向对象建模与设计(第二版) 美美巴拉赫巴拉赫 兰宝等著,兰宝等著

10、, 车皓阳译,人民邮电出版社,车皓阳译,人民邮电出版社,2006年年1月版,月版,ISBN:9787115142238, 共共389页,页, 45元;元;UML基础、案例与应用(第三版)基础、案例与应用(第三版) 美美施穆勒施穆勒 著,著, 李虎译,人民邮电出版社,李虎译,人民邮电出版社,2004年年7月版,月版,ISBN:9787115123350, 共共328页,页, 42元;元;面向对象软件工程(修订版)(英文)面向对象软件工程(修订版)(英文) 瑞典瑞典雅各雅各布森布森 著著 人民邮电出版社,人民邮电出版社,2003年年9月版,月版,ISBN:9787115111630,49元。元。如

11、何学如何学n参考书参考书大话设计模式:程杰大话设计模式:程杰(著著) | 清华大学出版社清华大学出版社 2008-01-01;这些大师的著作:这些大师的著作:Martin Flower、Craig Larman、Peter Coad、 GoF、 三剑客(三剑客(James Rumbaugh、Ivar Jacobon、Grady Booch) 1)书名: Objict-Oriented Modeling and Design 作者: James Rumbaugh等2) 书名: Objict-Oriented Modeling and Design for Database Application

12、s 作者: Michael Blaha William Premerlani3)书名: Design Paterns(设计模式)作者: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides4)书名: Applying Use Case (Second Edition) 作者:Geri Schneider Jason P.Winters 中译本:用例分析技术(原书第2版) 译者:姚淑珍 李巍 5)书名:The Rational Unified Process an Introduction(Second Edition) 作者: Phi

13、lippe Kruchten 中译本: Rational统一过程引论(原书第2版) 译者:周伯生 吴超英 王佳丽6)书名:The Unified Modeling language Reference Manual 作者:James Rumbaugh, Ivar Jacobon, Grady Booch 译者:姚淑珍 唐发根 7)书名:UML and C+: A Practical Guide to Object-Oriented Development (Second Edition) 作者:Richard C.Lee, William M.Tepfenhart 中译本:C+面向对象开发(原

14、书第2版) 译者:麻志毅 蒋严冰如何学如何学n网站网站http:/http:/使用百度查找。关键词:软件工程、使用百度查找。关键词:软件工程、UML、系统分析、系统分析如何学如何学n答疑答疑联系电话:联系电话Q: 1813968005邮箱:邮箱: 面对面:周四上午面对面:周四上午3、4节。地点节。地点: ZA310如何学如何学n考核考核l课程性质:必修课程性质:必修 专业教育专业教育l学分:学分:4 学时:学时:64 课内实验:课内实验:0l考核性质:考试考核性质:考试l考核形式:提交报告考核形式:提交报告l考核模式:二段制考核模式:

15、二段制l成绩评定方法:总评成绩成绩评定方法:总评成绩 = 平时成绩平时成绩 X 30% + 报报告成绩告成绩 X 70% l补考方法:总评成绩不足补考方法:总评成绩不足60分需补考。补考成绩分需补考。补考成绩 = 平时成绩平时成绩 X 30% + 补交报告成绩补交报告成绩 X 70%如何学如何学n分组分组l每组每组3人,选一名组长人,选一名组长l共同完成作业和参与课堂讨论共同完成作业和参与课堂讨论l分组原则:自行安排分组原则:自行安排l小组题目:基于小组题目:基于B/S架构架构的项目,先小组内自行的项目,先小组内自行讨论和选择,若不能确定,由老师指定题目。讨论和选择,若不能确定,由老师指定题目

16、。何谓何谓OOA/OODn软件工程简史软件工程简史n结构化方法简介结构化方法简介n面向对象的方法简介面向对象的方法简介n本课程要介绍的方法本课程要介绍的方法何谓何谓OOA/OODn软件工程简史软件工程简史n结构化方法简介结构化方法简介n面向对象的方法简介面向对象的方法简介n本课程要介绍的方法本课程要介绍的方法软件工程简史软件工程简史n计算机产生于计算机产生于1940年代;年代;n软件工程的概念出现于软件工程的概念出现于1960年代末;年代末;n软件工程的目标是探索有效的软件开发方软件工程的目标是探索有效的软件开发方法。开始,随着结构化程序设计语言产生法。开始,随着结构化程序设计语言产生的方法,

17、被称为的方法,被称为结构化方法结构化方法;n1980年代后,随着面向对象的程序设计语年代后,随着面向对象的程序设计语言的出现和流行,产生了言的出现和流行,产生了面向对象方法面向对象方法。何谓何谓OOA/OODn软件工程简史软件工程简史n结构化方法简介结构化方法简介n面向对象的方法简介面向对象的方法简介n本课程要介绍的方法本课程要介绍的方法结构化方法简介结构化方法简介n结构化方法的发展经过结构化方法的发展经过结构化的本意是工程化、有章法的结构化的本意是工程化、有章法的意思;(从这个意义说,面向对象意思;(从这个意义说,面向对象的方法也是结构化的)的方法也是结构化的)结构化方法指一大类设计方法,即

18、结构化方法指一大类设计方法,即软件工程诞生后、面向对象的方法软件工程诞生后、面向对象的方法产生前的软件开发方法;产生前的软件开发方法;结构化方法简介结构化方法简介n结构化方法包括:结构化方法包括:结构化的程序设计;结构化的程序设计;结构化的系统分析;结构化的系统分析;结构化的系统设计结构化的系统设计结构化方法简介结构化方法简介n结构化的程序设计结构化的程序设计C语言程序设计,就是结构化的程序语言程序设计,就是结构化的程序设计方法。设计方法。有哪些特点?有哪些特点?结构化方法简介结构化方法简介n结构化的系统分析结构化的系统分析典型的分析方法是把系统的功能看典型的分析方法是把系统的功能看成是对一些

19、数据的处理成是对一些数据的处理对系统的描述可以从数据及对数据对系统的描述可以从数据及对数据的处理、数据的关系出发。的处理、数据的关系出发。结构化方法简介结构化方法简介n结构化的系统分析结构化的系统分析使用使用数据流图数据流图(DFD)表示系统中数据表示系统中数据的流动和转换。包括输入和输出数的流动和转换。包括输入和输出数据据由四种符号构成由四种符号构成(数据源、流向、处数据源、流向、处理、存储理、存储)数据流图可以分层画出数据流图可以分层画出结构化方法简介结构化方法简介n结构化的系统分析结构化的系统分析数据流图数据流图结构化方法简介结构化方法简介n结构化的系统分析结构化的系统分析实体关系图实体

20、关系图可以用来表示数据对象可以用来表示数据对象之间的关系和数据对象的属性之间的关系和数据对象的属性表示符号表示符号也称为也称为E-R图图结构化方法简介结构化方法简介E-R图图结构化方法简介结构化方法简介n结构化的系统分析结构化的系统分析数据字典数据字典是结构化分析常采用的文是结构化分析常采用的文档。对不同的系统元素,采用不同档。对不同的系统元素,采用不同的格式描述的格式描述一般有四种。一般有四种。结构化方法简介结构化方法简介结构化方法简介结构化方法简介n结构化的系统设计结构化的系统设计设计的结果包括:系统由哪些模块设计的结果包括:系统由哪些模块构成;每个模块有哪些功能;模块构成;每个模块有哪些

21、功能;模块之间有什么关系;每个模块具体如之间有什么关系;每个模块具体如何实现。何实现。常采用常采用模块结构图模块结构图、IPO图图表示。表示。结构化方法简介结构化方法简介结构化方法简介结构化方法简介现场小调查现场小调查n同学们学过的面向对象程序设计语言同学们学过的面向对象程序设计语言有哪些?有哪些?C+JAVAC#面向对象面向对象OOOO思想才是核心思想才是核心何谓何谓OOA/OODn软件工程简史软件工程简史n结构化方法简介结构化方法简介n面向对象的方法简介面向对象的方法简介n本课程要介绍的方法本课程要介绍的方法面向对象的方法简介面向对象的方法简介n产生的原因产生的原因面向对象释义:对象包含了

22、数据和对面向对象释义:对象包含了数据和对数据的处理,是对客观存在的抽象。数据的处理,是对客观存在的抽象。传统方法具有的缺陷传统方法具有的缺陷n不便于适应系统变化不便于适应系统变化n不利于代码重用不利于代码重用面向对象的程序设计技术的发展(旧面向对象的程序设计技术的发展(旧方法与新的编程语言和技术不协调)方法与新的编程语言和技术不协调)面向对象的方法简介面向对象的方法简介n面向对象的基本概念面向对象的基本概念类和类实例类和类实例类之间的关联类之间的关联类的封装性类的封装性类的继承性类的继承性类的多态性类的多态性接口接口面向对象的方法简介面向对象的方法简介n面向对象方法的特点面向对象方法的特点容易

23、理解容易理解容易适应变化容易适应变化有利于提高开发效率与质量有利于提高开发效率与质量何谓何谓OOA/OODn软件工程简史软件工程简史n结构化方法简介结构化方法简介n面向对象的方法简介面向对象的方法简介n本课程要介绍的方法本课程要介绍的方法本课程要介绍的方法本课程要介绍的方法n面向对象的方法有很多种面向对象的方法有很多种n本课程要介绍的方法实操性强,特点本课程要介绍的方法实操性强,特点鲜明鲜明n课程教材为软件工程领域的名著,有课程教材为软件工程领域的名著,有很大的影响很大的影响n教材的特点是将方法与过程编织,在教材的特点是将方法与过程编织,在特定的过程语境下介绍方法特定的过程语境下介绍方法本课程

24、要介绍的方法本课程要介绍的方法n教材以教材以Rational 统一过程(统一过程(UP)为纲,)为纲,结合敏捷开发思想,阐述了敏捷的统结合敏捷开发思想,阐述了敏捷的统一过程迭代开发的真意。内容涉及一过程迭代开发的真意。内容涉及UML(统一建模语言统一建模语言)、模式及面向对、模式及面向对象分析设计中的重要原则象分析设计中的重要原则本课程要介绍的方法本课程要介绍的方法n用例驱动的、以架构为中心的迭代的用例驱动的、以架构为中心的迭代的软件开发方法(软件开发方法(RUP推荐方法)推荐方法)n通过自然语言描述软件的应用场景,通过自然语言描述软件的应用场景,称为称为用例用例。用例表示了软件的需求及。用例

25、表示了软件的需求及范围;范围;n整个分析设计都从用例入手(以用例整个分析设计都从用例入手(以用例为着眼点,为向导,为抓手);为着眼点,为向导,为抓手);本课程要介绍的方法本课程要介绍的方法n架构先行的设计。架构先行的设计。架构架构为软件提供基为软件提供基本构造和设计基础,使用已有的经验本构造和设计基础,使用已有的经验法则法则(模式模式);其中,;其中,GRASP模式,提模式,提出了以职责分配为着眼点的一套方法出了以职责分配为着眼点的一套方法,称为,称为职责驱动的方法;职责驱动的方法;n并非一步到位地完成设计,而是反复并非一步到位地完成设计,而是反复精化、反复改进(反复即精化、反复改进(反复即迭

26、代迭代)。)。n本课程涉及以下内容:本课程涉及以下内容:Topics and SkillsUML notationRequirements analysisPrinciples and guidelinesPatternsIterative development with an agile Unified ProcessOOA/D本课程要介绍的方法本课程要介绍的方法n粗略地说,粗略地说, 对一个系统做分析设计,对一个系统做分析设计,通常做以下事情:通常做以下事情:定义用例,定义用例,定义领域模型,定义领域模型,定义交互图,定义交互图,定义设计类图定义设计类图简单示例简单示例n如果我们要设计一个骰子电脑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论