《软件项目开发岗位设置.ppt》由会员分享,可在线阅读,更多相关《软件项目开发岗位设置.ppt(34页珍藏版)》请在三一办公上搜索。
1、2023/9/16,系统分析与设计(UML),1,系统分析与设计(UML),计算机工程系,授课教师:李成大,2023/9/16,系统分析与设计(UML),2,教材:面向对象软件工程与UML 张京等 人民邮电出版社参考资料:数据库原理与CASE技术教程刘甫迎等 人民邮电出版社 软件工程导论张海藩 等 清华大学出版社 实用软件工程 郑人杰 等 清华大学出版社 软件工程-实践者的研究方法 Roger S.Pressman 机械工业出版社 面向对象的分析与设计 苑延闿 清华大学出版社参考网址:软件工程专家网,2023/9/16,系统分析与设计(UML),3,具备的相关知识:计算机专业的基础知识,掌握程
2、序设计基础、数据库原理、数据结构、操作系统等知识;具有一定的编程能力。用途:指导软件设计开发商用软件、网站(电子商务、电子政务)设计开发规范;计算机相关专业毕业设计。,相关知识,2023/9/16,系统分析与设计(UML),4,操作系统:Windows 2000等 数据库管理系统软件:SQL Server 2000、Access等 开发软件:C、ASP.NET等,本课程相关软件,2023/9/16,系统分析与设计(UML),5,课程的性质和作用,系统分析与设计(UML)是计算机软件和计算机信息管理专业的一门核心专业课程,同时,该课程在计算机应用、计算机网络等诸多计算机类专业中也是一门非常重要的
3、专业学习领域课程。软件开发是建立计算机应用系统的重要环节,通过软件工程学把软件开发纳入工程化的轨道,而系统分析与设计是用以指导软件人员进行软件的开发、设计的科学。,2023/9/16,系统分析与设计(UML),6,课程的性质和作用,系统分析与设计(UML)作为计算机软件类教学体系中的一门核心课程,其教学效果直接决定学生毕业以后从事实际工作期间的软件开发设计能力。本课程与前导课程“面向对象程序设计”和后续课程“项目管理及软件测试”是计算机软件、计算机信息管理专业最重要的三门专业课程,是培养学生职业能力最重要的三个环节。在这三者之中,本课程又起到承上启下的作用,显得更加重要。,2023/9/16,
4、系统分析与设计(UML),7,课程的主要任务,通过课堂教学和实习指导使学生较全面地了解软件开发和维护各个阶段的具体工作步骤及使用的技术和方法(特别是要具有系统分析与设计的能力),为学生今后从事软件开发打下良好基础。该课程采用教学与实践相结合,在教学设计中按照实际的软件企业开发流程让学生自主完成项目开发的形式,组队合作完成(每队3-4,少数工作量大的可以5人,原则上不得少于3人)。,2023/9/16,系统分析与设计(UML),8,本课程的目标,使学生掌握系统分析与设计的基本概念、基本原理、面向对象的软件开发方法和CASE技术,了解软件工程各领域的发展动向;开发软件项目的工程化的方法及在开发过程
5、中应遵循的流程、准则、标准和规范等,使学生掌握开发高质量软件的方法,加强学生软件开发和系统设计能力的培养,提高学生撰写项目技术文档能力,综合实践软件技术专业课程中所学习的理论、方法和技术,获得软件项目开发经验,熟悉软件开发环境和掌握具体的CASE工具的使用。,2023/9/16,系统分析与设计(UML),9,学生达到下列基本要求:,掌握软件生存周期模型及软件工程的基本概念掌握软件生产的管理手段掌握需求分析的方法,掌握数据流图和数据字典的用途和编写掌握总体设计和详细设计的方法和工具掌握面向对象的分析和设计方法掌握Power Designer的使用能熟练地用PD工具绘出实际的概念数据模型(CDM)
6、、物理数据模型(PDM)、面向对象模型(OOM)图。,2023/9/16,系统分析与设计(UML),10,教学内容的组织,项目驱动模式(项目制)融合了面向对象程序设计、数据库、.NET/JAVA等多门课程,通过一个实际需求的项目开发,使学生对项目全过程有一个深刻的认识,并着重强化软件分析、设计技能;角色模式(团队合作)采用团队合作开发模式,所有人员都担任程序员角色,并且兼任1-2个项目团队其他角色(如:项目经理、配置经理、需求分析员、设计员、测试员等)。,2023/9/16,系统分析与设计(UML),11,课程安排,本课程采用平时成绩(包括出勤考核,平时作业,课堂发言等)、实践(实验和课程设计
7、)和理论考试相结合的考核方法。总评成绩中平时成绩占20%,实践成绩占20%,期末考试占60%。课程设计要求学生按小组完成项目设计,并以软件验收书面报告的形式上交。,2023/9/16,系统分析与设计(UML),12,什么是软件 软件的特点 软件的分类 软件的发展和软件危机 软件工程 软件生存期和软件开发模型,第1章 软件工程概述,2023/9/16,系统分析与设计(UML),13,第1章 软件工程概述,1.1 软件的概念、特点和分类一、软件的概念 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能
8、正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。注:程序并不是软件,程序只是软件的组成部分。,2023/9/16,系统分析与设计(UML),14,第1章 软件工程概述,二、软件的特点(1)软件是一种逻辑实体。(2)软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造。(3)软件维护与硬件的维修有着本质的差别。(4)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。(5)软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制。(6)软件的开发是一个复杂的过程。(7)软件的成本非常高昂。,2023/9/16,系统分析与设计(U
9、ML),15,第1章 软件工程概述,三、软件的分类 1.基于软件功能的划分 系统软件 应用软件 支撑软件 2.基于软件工作方式的划分 实时处理软件 分时软件 交互式软件 批处理软件,2023/9/16,系统分析与设计(UML),16,根据规模进行软件分类,2023/9/16,系统分析与设计(UML),17,例:Windows95有1000万行代码 Windows2000有5000万行代码Exchange2000和 Windows2000开发人员结构,2023/9/16,系统分析与设计(UML),18,第1章 软件工程概述,1.2 软件的发展和软件危机 一、计算机系统的发展历程 第一代(20世纪
10、60年代中期以前):程序设计阶段。第二代(从20世纪60年代中期到70年代中期):程序系统阶段“软件工程”学科诞生。第三代(从20世纪70年代中期到80年代中期):软件工程阶段。第四代(从20世纪80年代中期至今):软件产业在世界经济中已经占有举足轻重的地位。,2023/9/16,系统分析与设计(UML),19,第1章 软件工程概述,二、软件危机 20世纪60年代末70年代初,西方工业发达国家经历了一场“软件危机”。这场软件危机表现在:一方面软件十分复杂,价格昂贵,供需差日益增大,另一方面软件开发时又常常受挫,质量差,指定的进度表和完成日期很少能按时实现,研制过程很难管理,即软件的研制往往失去
11、控制。我们称软件开发和维护过程中所中遇到的这一系列严重问题为软件危机。软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。,2023/9/16,系统分析与设计(UML),20,第1章 软件工程概述,1.3 软件工程一、软件工程的定义 软件工程是指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。1983年美国IEEE软件工程标准术语对软件工程下的定义为:软件工程是开发、运行、维护和修复软件的系统方法,其中“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计事机上运行时所必需的数据。
12、,2023/9/16,系统分析与设计(UML),21,第1章 软件工程概述,二、软件工程方法学通常把在软件生命周期全过程中使用的一整套技术的集合,称为软件工程方法学。软件工程方法学包括三个要素:方法、工具和过程。其中:软件工程方法是完成软件开发的各项任务的技术方法,为软件开发提供了“如何做”的技术。软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。注:传统方法学和面向对象方法学是目前使用得最广泛的两种软件工程方法学。,2023/9/16,系统分析与设计(UML),22,第1章 软件工程概述,1.
13、4 软件生存期和软件开发模型一、软件生存期 如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生存期。一般说来,软件生命期由软件定义、软件开发和软件维护三个时期组成,每个时期又可进一步划分成若干个阶段。,2023/9/16,系统分析与设计(UML),23,第1章 软件工程概述,1软件定义时期(1)问题定义:这是软件生存期的第一个阶段,主要任务是弄清用户要计算机解决的问题是什么。(2)可行性研究:任务是为前一阶段提出的问题寻求一种至数种在技术上可行、且在经济上有较高效益的解决方案。,2023/9/16,系统分析与设计(UML),24,第1章 软件工程
14、概述,2软件开发时期(1)需求分析:弄清用户对软件系统的全部需求,主要是确定目标系统必须具备哪些功能。(2)总体设计:设计软件的结构,即确定程序由哪些模块组成以及模块间的关系。(3)详细设计:针对单个模块的设计。(4)编码:按照选定的语言,把模块的过程性描述翻译为源程序。(5)测试:通过各种类型的测试(及相应的调试)使软件达到预定的要求。,2023/9/16,系统分析与设计(UML),25,第1章 软件工程概述,3软件运行时期 是软件生存周期的最后一个时期。软件人员在这一时期的工作,主要是做好软件维护。维护的目的,是使软件在整个生存周期内保证满足用户的需求和延长软件的使用寿命。,2023/9/
15、16,系统分析与设计(UML),26,第1章 软件工程概述,二、软件开发模型 1.瀑布模型:将软件生存周期的各项活动规定为依照固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件产品。,2023/9/16,系统分析与设计(UML),27,2023/9/16,系统分析与设计(UML),28,第1章 软件工程概述,2.螺旋模型:为了克服瀑布模型的不足,螺旋模型于1988年提出。该模型中加入了风险分析,通常用来指导大型软件项目的开发。,2023/9/16,系统分析与设计(UML),29,螺旋模型,螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即:制定计划确定软件目标,选定实施方案,弄清项目开发的限制风险分析分析所选方案,考虑如何识别和消除风险实施工程实施软件开发客户评估评价开发工作,提出修正建议,2023/9/16,系统分析与设计(UML),30,2023/9/16,系统分析与设计(UML),31,第1章 软件工程概述,3.喷泉模型:体现了软件创建所固有的迭代和无间隙的特征。,2023/9/16,系统分析与设计(UML),32,喷泉模型,迭代 重复 演进无间隙 各阶段间无明显界限,2023/9/16,系统分析与设计(UML),33,2023/9/16,系统分析与设计(UML),34,