【文档说明】软件工程-方法与实践课件.ppt,共(88)页,1.697 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45010.html
以下为本文档部分文字说明:
软件工程-方法与实践窦万峰计算机科学与技术学院南京师范大学2009年8月zhu.kerry@gmail.com第一部分:软件工程与过程什么是软件工程?什么是工程化思想?什么是软件过程?有哪些过程模型?如何建立过程模型?什么是统一过程?什么是敏捷过程?有哪些模
型?什么是软件工程实践?注:本部分的实验课参照实验教材实验1和实验2进行zhu.kerry@gmail.com第1章概述(主要内容)软件工程的基本概念软件工程化思想软件工程两大范型软件工程思想与基本原理软件工
程基本活动zhu.kerry@gmail.com软件工程定义B.W.Boehm的定义:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。FritzBauer的定义:软件工程是为了经济地获得能够在实际机器上有
效运行的可靠软件而建立和使用的一系列完善的工程化原则。1983年美国《IEEE软件工程标准术语》的定义为:软件工程是开发、运行、维护和修复软件的系统方法,其中“软件”的定义为:计算机程序、方法、规则、相关的文档资料以
及在计事机上运行时所必需的数据。zhu.kerry@gmail.com什么是软件?三要素:程序文档数据特性:复杂性一致性不会磨损和“老化”易变性移植性成本高zhu.kerry@gmail
.com软件演化第一代:程序设计阶段。1946年到60年代初,其主要特征是程序生产方式为个体手工方式。第二代:程序系统阶段。60年代初到70年代初,软件工程学科诞生。软件的开发方式由个体生产发展到了小组生产,软件的开发与维护费用以惊人的速度增加,
维护困难,导致软件危机。第三代:传统软件工程阶段。20世纪70年代中期至80年代中期,软件工程师把工程化的思想加入到软件的开发过程中,用工程化的原则、方法和标准来开发和维护软件。第四代:面向对象阶段。20世纪80年代中期至今,
面向对象的方法学受到了人们的重视,促进了软件业的飞速发展,软件产业在世界经济中已经占有举足轻重zhu.kerry@gmail.com软件危机两个方面的问题:如何开发如何维护表现:软件的规模大复杂度增加软件的需求量增大价格昂贵供需差增大开发速度慢
质量难以保证zhu.kerry@gmail.com软件危机解决途径重视需求分析,明确与确切表达需求重视与客户沟通与交流统一的、公认的方法论和规范指导重视设计和实现过程的资料充分的检测工作zhu.ke
rry@gmail.com软件工程化思想把软件看作是一个工程产品两个方面:软件开发技术软件工程管理原因:缺乏软件过程控制能力能力成熟模型(CapabilityMaturityModel)zhu.kerry@gmail.c
om软件工程两大范型传统的结构化范型特征:结构化技术要么面向行为,要么面向数据构成结构化范型的技术包括:•结构化分析•结构化设计•结构化编程•结构化测试•结构化维护zhu.kerry@gmail.com软件工程
两大范型面向对象范型特征:将对象视作一个融合了数据及在其上操作的行为的、统一的软件组件。技术包括:•面向对象分析•面向对象设计•面向对象编程•面向对象测试•面向对象维护优势:•对象的概念符合业务或领域的客观实际•维护容易zhu.kerry@gmail.com软件工程
基本原理分阶段的软件生存周期坚持进行阶段评审实行严格的产品控制采用现代程序设计技术明确职责开发小组的人员应少而精不断改进开发过程zhu.kerry@gmail.com软件工程思想推迟实现的观点逐步求精的观点分解与抽象的观点
信息隐蔽观点质量保证观点zhu.kerry@gmail.com软件工程基本活动开发活动软件生命周期模型项目管理活动项目的范围(要做的内容)进度(要花费的时间)成本(要耗费的资源)过程改进活动关注质量软件开
发的最佳实践过程定义和改进zhu.kerry@gmail.com小结软件工程的是主旨以工程化的思想进行软件开发,以生产高质量和高效率的软件。软件工程化思想的核心是,把软件看作是一个工程产品。软件工程方法学分别是传统结构化范型和面向对象范型。软件工程活动包括开发活动、管理活动和过程改
进活动。zhu.kerry@gmail.com第2章软件过程(内容提要)什么是软件过程?什么软件生命周期?能力成熟度模型敏捷过程软件过程实践zhu.kerry@gmail.com软件过程定义:软件过程是为了开发出
软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动通常使用生命周期模型简洁地描述软件过程层次:软件工程是一门建立在以质量焦点为基础,分过程、方法和工具三个研究层次的综合技术zhu.kerry@gmail.com过程方法与工具工具方法过程
质量焦点zhu.kerry@gmail.com软件过程框架定义:框架是实现整个软件开发活动的基础,并且那些与过程有关的角色、职责的定义以及实现也都离不开框架的支持两个方面组织及管理框架技术及工具框架zhu.kerry@gmail.com软件过程模型把软件生命周期中各项开发活
动的流程用一个合理的框架—开发模型来规范描述,这就是软件过程模型。软件生命周期模型软件生命周期划分为定义、开发和运行三个阶段细分为六个阶段:•问题的定义及规划•需求分析•软件设计•程序编码•软件测试•运行维护zhu.kerry@gmail.com能力成熟度模型集成CMM(
CapabilityMaturityModel)是指“能力成熟度模型”CMM是由美国卡内基-梅隆大学的软件工程研究所(SEI)开发的软件成熟度模型。思想:管理软件过程的方法不当引起的问题,导致新软件技术的运用并不会自动提高软件的生产率和质量。CMM为软件企业的过
程能力提供了一个阶梯式的改进框架,它基于过去所有软件工程过程改进的成果,吸取了以往软件工程的经验教训,提供了一个基于过程改进的框架。能力成熟度模型集成(CMMICapabilityMaturityzhu.kerry@gmail.comCMM概述为企业的发
展规定过程成熟级别,分为5级(Version1.0):初始级(Initial):一般企业皆具有可重复级(Repeatable):成功经验可以重复定义级(Defined):一套完整的企业过程,人员自觉遵守(培训)管理级(Managed):过程&产品可度量和控制优
化级(Optimizing):过程持续改进从无序到有序、从特殊到一般、从定性管理到定量管理、最终达到动态优化zhu.kerry@gmail.comCMM概述(续)2.Repeatable1.Initial3.Defi
ned4.ManagedDisciplinedProcessStandard,ConsistentProcessPredictableProcessContinuouslyImprovingProcessUnpredictableandpoorlycontr
olledCanrepeatpreviouslymasteredtasksProcesscharacterized,fairlywellunderstoodProcessmeasuredandcontrolledFocusonprocessimprovement5
.OptimizingProjectManagementIntegratedEngineeringProcessProductandProcessQualityManagingChangeDisorderDi
sciplinedPredictableImmatureMaturezhu.kerry@gmail.comCMM的概念模型关键过程域KPA:代表一组相关的工作(活动)。每个KPA都有一个确定的目标,完成该目标即认为过程能力的提高。一般特性CF
(CommonFeatures):进一步细分KPA的工作。五个特性:承诺(commitment)准备(ability)执行(activity)度量分析(measurement&analysis)验证(verifyingimpleme
ntation)zhu.kerry@gmail.comCMM的五个级别Level1:初始级过程无序且不可见OutInzhu.kerry@gmail.comCMM的五个级别Level2:可重复级Milestone可见,按计划开发zhu
.kerry@gmail.comCMM的五个级别Level2的6个KPA:侧重于管理•需求管理(RequirementsManagement)•软件项目计划(SoftwareProjectPlanning)•软件项目的跟踪和监控(SoftwarePr
ojectTackingandOversight)•软件子合同管理(SoftwareSubcontractManagement)•软件质量保证(SoftwareQualityAssurance)•软件配置管
理(SoftwareConfigurationManagement)zhu.kerry@gmail.comCMM的五个级别Level3:定义级每个阶段的内部活动可见标准过程和项目定义过程裁剪zhu.kerry@gmail.comCMM的五个级别Le
vel3的7个KPA:工程过程+企业理念•机构过程关注(OrganizationProcessFocus)•机构过程定义(OrganizationProcessDefinition)•培训计划(TrainingProgram)•集成软件管理(IntegratedS
oftwareManagement)-过程裁剪和定义•软件产品工程(SoftwareProductEngineering)-过程执行•组间协调(IntergroupCoordination)•对等审查(PeerReviews)zhu.kerry@gmail.comCMM的
五个级别Level4管理级过程可度量,预测值与结果之间的偏差可控zhu.kerry@gmail.comCMM的五个级别Level4的2个KPA:预测+量化管理•定量过程管理(Quantitati
veProcessManagement)-过程度量•软件质量管理(SoftwareQualityManagement)-产品度量zhu.kerry@gmail.comCMM的五个级别Level5优化级过程动态调整、新技术的采用zhu.kerry@gmail.comCMM的五个级别Level
5的3个KPA:动态优化•缺陷预防(DefectPrevention)•技术改变管理(TechnologyChangeManagement)•过程改变管理(ProcessChangeManagement)zhu.kerry@gmail.
com能力成熟度模型集成CMMI--CapabilityMaturityModelIntegration是CMM模型的最新版本。CMMI有两种表示方法:和软件CMM一样的阶段式表现方法连续式的表现方法•过程管理•项目管理•工程•支持CMMI的目标是质量
、时间表和最低的成本zhu.kerry@gmail.com敏捷过程敏捷不是一个过程,是一类过程的统称。敏捷方法的两大主要特征:对“适应性”的强调对“人”的关注做法:引入迭代式的开发手段将整个软件生命周期分解为若干个小的迭代周期
获取切实有效的客户反馈提出12条基本原则zhu.kerry@gmail.com极限编程极限编程(eXtremeProgramming,XP)是一种软件工程方法学,是敏捷开发中最富有成效的方法学之一由KentBeck在1996年提出具有强沟通、简化设计、迅速反馈等特点
适合于规模小、进度紧、需求不稳定、开发小项目的小团队。zhu.kerry@gmail.com极限编程特点:XP模型是“轻量型”或“灵活”的软件过程模型与面向对象语言结合的开发方案“专家协作”的开发方式,解决难点问题核心有四个要点:交流简单反馈勇气zhu.kerr
y@gmail.com结对编程结对编程(Pair-Programming)是XP中非常重要的实践之一。定义:两个人坐在同一台计算机前面,使用相同的键盘和鼠标来开发同样的一个模块,一个称为驾驶者(Driver),负责代码的键入,另外一个称为领航员(Navigator),负责监看与决策,包
括低级错误和方向性的错误。当出现的一个问题对其中一个人来说,难以解决,而恰好是另外一个人的强项的时候,那么角色就会发生转换。zhu.kerry@gmail.com结对编程优势:可以减少风险可以使团队生产效率更高是知识传播的最好途径可以打造出最佳的合作团队。可以生成更好的代码三个方面的
应用:教育学结对学习工业界结对开发与编程分布式结对编程环境zhu.kerry@gmail.com结对编程研究教育学研究结对编程学习效果研究结对双方的相容性研究结对编程过程研究软件工业界结对编程实践
方式社会动力学研究个人编程能力的增强分布式结对编程结对编程开发环境研究开发结对编程工具的需求适合开展分布式结对编程的工具研究zhu.kerry@gmail.com自适应软件开发自适应软件开发(AdaptiveSoftwareDevelo
pment)由JimHighsmith提出着眼于人员协作和团队自我组织,类似于收集人们创意的容器生命周期三个阶段包括:思考:启动项目并完成自适应循环计划协作:沟通与信任学习:改进真正的理解水平,通
过焦点组、正式技术评审和事后剖析方式进行学习zhu.kerry@gmail.com动态系统开发动态系统开发(DynamicSystemDevelopmentMethod)是一种使用增量原型开发模式完全满足对时间约束的系统构建和维护的敏捷软件开发方法。借用Pareto(佩瑞多)原则:
即如果交付整个应用系统需用100%时间,那么80%的应用系统可以用20%的时间交付建议使用迭代软件过程动态系统开发生命周期的敏捷过程模型:可行性研究业务研究功能模型迭代设计和构建迭代实现zhu.kerry@gmail.com特征驱动开发特征驱动开发(Fe
ature-Drivendevelopment)把软件开发项目作为一个系统,即生产软件的系统定义六种关键项目角色:项目经理,负责报告进度情况、管理预算、筹措人员,以及管理设备、办公场地和资源等主设计师,负责
系统的整体设计开发经理,负责领导日常开发活动,解决主程序员们自己无法解决的日常的资源冲突问题。主程序员,参与高层的需求分析和设计活动,领导3-6人开发小组负责新软件特征的底层分析、设计和开发工具。类的所
有者,是主程序员领导的开发小组的成员,对新软件系统所需要的特征进行设计、编码、测试和编写文档。领域专家,是客户、用户、业主、业务分析专家或者所有这些的混合。zhu.kerry@gmail.com软件工
程实践软件工程实践的精髓是理解问题、计划解决方案、实施计划和检查结果的精确度等方面通用的框架活动包括:沟通计划建模部署普适性活动zhu.kerry@gmail.com软件工程实践核心原则:存在价值保持简
洁维护视图生产者要让消费者理解面向未来计划复用认真思考zhu.kerry@gmail.com软件工程实践沟通实践:包括决定项目涉及人的信息和沟通需求计划实践:是软件开发过程的准备阶段,包括定义问题、可行性分析、制
定计划建立模型实践:创建分析模型和设计模型zhu.kerry@gmail.com小结软件工程是一种层次化技术,包括过程、技术和工具。软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过
程框架定义了若干个小的框架活动,为完整的软件开发过程建立了基础。软件过程框架的通用过程框架活动包括沟通、计划、建模、构建和部署。能力成熟度模型(CMM)是改进软件过程的有效策略。它的基本思想是通过改进对软件过程的管理来提高软件生产率和软件质量。敏捷方法是一组敏捷实践技术的总称,包括极限编程、
自适应软件开发、动态系统开发和特征驱动开发等等。软件工程实践包括概念、原则、方法和在整个软件开发过程中所使用的工具。软件工程实践的通用框架活动包括沟通实践、计划实践、建模实践、构造实践和部署实践。zhu.kerry@gmail.
com第3章软件过程模型(内容提要)瀑布模型增量模型螺旋模型协同开发模型面向对象模型面向方面的软件开发zhu.kerry@gmail.com瀑布模型瀑布模型提供了软件开发的基本框架。瀑布模型将软件生命周期划分为软件计划、需求分析和定义
、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落而得名它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的。每个阶段都会产生循环反馈各个阶段产生的文档是维护软件产品时必不可少的,没有文档的软件几乎是
不可能维护的。zhu.kerry@gmail.com瀑布模型示意图系统需求软件需求需求分析设计编码维护测试zhu.kerry@gmail.com瀑布模型特点顺序性和依赖性推迟实现质量保证的观点是一种线性模型强调文档的作用zhu.
kerry@gmail.com增量模型增量模型(IncrementalModel)也称为渐增模型,是在项目的开发过程中以一系列的增量方式开发系统。软件被作为一系列的增量构件来设计、实现、集成和测试,
每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成.增量方式包括:增量开发:以一定的时间间隔开发部分工作软件增量提交:以一定的时间间隔增量方式向用户提交工作软件及相应文档增量模型
融合了线性顺序模型的基本成份和原型实现模型的迭代特征。zhu.kerry@gmail.com增量模型分为渐增模型和原型模型渐增模型是瀑布模型的变种,有两类渐增模型:增量构造模型:它在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发
。前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。演化提交模型:它在瀑布模型的基础上,所有阶段都进行增量开发,也就是说不仅是增量开发,也是增量提交。zhu.kerry@gmail.com增量构造
模型需求分析设计编码1测试1测试2编码2编码3测试3zhu.kerry@gmail.com螺旋模型螺旋模型(SpiralModel)是结合了瀑布模型和快速原型模型的迭代开发模型强调了其他模型均忽略了的风险分
析:风险识别风险分析风险控制特别适合于大型复杂的系统每一个周期都包括需求定义、风险分析、工程实现和评审zhu.kerry@gmail.com螺旋模型示意图zhu.kerry@gmail.com螺旋模型活动四个象限分别代
表了以下活动:制定计划:确定软件目标,选定实施方案,确定项目开发的限制条件;风险分析:分析评估所选方案,考虑如何识别和消除风险;实施工程:实施软件开发和验证;客户评估:评价开发工作,提出修正建议,制定下
一步计划。螺旋模型是风险驱动的模型zhu.kerry@gmail.com协同开发模型协同开发模型(CollaborativeDevelopmentModel,简称CDM),有时也叫做协同工程,可以表示
为一系列框架活动、软件工程动作和任务以及相应的状态。在某一特定时间,建模活动可能处于任何一种状态。协同开发模型定义了一系列事件,这些事件将触发软件工程活动、动作或任务的状态转换。zhu.kerry@gmail.com协同开发模型空状态开发状态等待变更
状态评审状态修改状态建立基线状态结束状态建模活动zhu.kerry@gmail.com面向对象过程模型面向对象是一种的程序设计方法,或者说它是一种程序设计范型。基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。面向对象的要素:抽象:
强调实体的本质、内在的属性,忽略一些无关紧要的属性。类实现了对象的数据(即状态)和行为的抽象,是对象的共性的抽象。封装性:指所有软件部件内部都有明确的范围以及清楚的外部边界。共享性:面向对象的特征:对象惟一性;分
类性;继承性;多态性(多形性)。zhu.kerry@gmail.com统一过程模型统一过程(UnifiedProcess,UP)是风险驱动的、基于用例技术的、以架构为中心的、迭代的、可配置的软件开发流程。统一
过程是以用例驱动的,以架构为中心,迭代和增量的过程。统一过程是一个软件开发过程,是一个通用的过程框架:初始细化构造移交zhu.kerry@gmail.com统一过程的四个阶段zhu.kerry@gmail.com统一过程五个核心工作流需求(RequirementsCa
pture):致力于开发正确的系统分析(Analysis):更精确地理解需求设计(Design):深入理解与非功能性需求和约束相联系的问题实现(Implementation):实现系统与集成测试(Test):验证实现的结构zhu.kerry@
gmail.com核心工作流zhu.kerry@gmail.com统一过程准则准则迭代的开发软件需求管理基于构件的体系结构可视化软件建模验证软件质量控制软件的变更统一过程主要的优点是提高了团队生产力zhu.kerry@gmail.com构件集成模型构件
集成模型是基于构件的开发模型构件集成模型:整个系统模块化复用构件库中的软件构件构件集成模型是演化形的,开发过程是迭代的5个阶段:软件的需求分析和定义体系结构设计构件库建立应用软件构建测试和发布zhu.kerry@gmail.com构件集成模型
需求分析和定义体系结构设计构件库建立测试和发布应用软件构建1:Nzhu.kerry@gmail.com面向方面的软件开发面向方面的软件开发(Aspect-OrientedSoftwareDevelopment,简称AOSP)是一系列新兴技术,用以寻找软件系统
中新的模块化特性。强调独立描述关注点方面需求(AspectualRequirement)定义了那些对整个软件体系结构产生影响的横切关注点:对等关注点,这种关注点是相互独立的,没有任何一个对等关注点比另一个更重要。如ATM的取款、转帐和存款等扩展(exte
nsion),是在基础组件(base)之上定义的组件,它用来表示附加的服务或功能。如在图书馆系统中,当还书时发现该书已经超期,那么系统就要计算罚金。计算罚金功能就是还书的扩展。zhu.kerry@gmail.com对等关注点zhu
.kerry@gmail.com对等关注点(分离限制)zhu.kerry@gmail.com扩展zhu.kerry@gmail.com对等关注点(分离限制)问题:缠绕(tangling),各个组件包含满足不
同关注点的实现(也就是编码)分散(Scattering),某个特定关注点的实现是分散在多个组件中。分离扩展是一种使复杂问题易于理解的技术。zhu.kerry@gmail.com关注点分离技术关注点分离
技术(ConcernSeparationTechnique)对关注点进行建模和结构化。用例技术zhu.kerry@gmail.com关注点合成机制关注点合成机制(ConcernCompositionMechani
sm)将关注点合成发生在编译时、编译后,甚至是运行时zhu.kerry@gmail.com扩展相互分离扩展相互分离Jacobson早在1986发表的论文“支持易于变化的实时系统的语言”术语:表示原有程序、扩展基
础的术语existion;表示添加到existion的新功能的术语extensions。zhu.kerry@gmail.com扩展在编译或运行阶段,而非编码阶段,往existion中插入extensions(扩展)原有系统的源代码甚至
二进制代码都与任何扩展之间保持了清晰性和无关性优点:扩展更为简单系统将更易于理解zhu.kerry@gmail.com序列变化器zhu.kerry@gmail.com小结软件开发模型是指软件开发全部过程、活动和任务的结构框架,能清晰、直观地表达软件开发全过程,明确规定了要完成
的主要活动和任务,用来作为软件项目工作的基础。瀑布模型是一种线性模型,文档驱动的模型。增量提交模型采用一系列的增量方式开发系统。螺旋模型结合瀑布模型和快速原型,是一种风险驱动的开发模型协同开发模
型是一种时间驱动的活动网络模型。统一过程模型是以用例驱动的,以架构为中心,迭代和增量的过程。构件集成模型利用模块化方法将整个系统模块化,复用构件库中的软件构件,通过组合手段提高应用软件系统过程的效率和质量。zhu.kerry@gmail.com第4章案例研
究出卷系统短信系统POS机系统ATM机系统图书馆系统zhu.kerry@gmail.com出卷系统系统支持人工辅助和自动出卷。系统应能够进行题库管理系统能够进行试卷管理,应完成试卷修改
、删除和打印等。试卷能够按照给定的样式进行输入。系统应能支持不同的科目。系统能够在所有流行的技术环境下运行,优好的图形界面。系统应该具有很好的可扩展性。试题不允许重复出现,至少三次不能重复。试卷
符合要求的96%以上即可结束,允许教师调整。应能进行试卷分析。zhu.kerry@gmail.com短信系统短信发送:客户选择一个或多个目标人员、编辑内容、立即或定时发送通知信息。短信人工应答:用户察看收到的短信内容,并确定
回复内容回复询问者。短信自动应答:根据短信询问内容,并依据规则自动回复询问者。短信接收:接收外部短信。短信确认:确认接收方是否接收。客户资料维护:添加、删除和更新用户。短信息维护:预设短消息内容接口要求:支持移动终端通过串口通信;支持与移动网关通信。zhu.kerry@gmail.co
mPOS机系统收银员可以记录销售商品信息,系统计算总价。收银员能够通过系统处理支持,包括现金支付、信用卡支付和支票支付。经理还能处理顾客退货。系统要求具有一定的容错性,即如果远程服务(如库存系统)暂时中断,系统必须仍然能够获取销售信息并且
至少能够处理现金付款。POS机必须支持日益增多的各种的客户终端和接口,比如多种形式的用户图形界面、触摸屏输入装置、无线PDA等。系统需要一种机制提供灵活的处理不同客户独特的业务逻辑规则和定制能力。zhu.kerry@gmail.comATM机系统ATM机处理银行储户的各种操作,并与分行计算机
通信;各分理处的计算机保存各自的帐户,负责录入帐户和事务数据;分行计算机与拨款分理处结帐;ATM机与用户接口接受现金卡,与分行计算机通信完成事务,发放现金,打印票据;系统需要记录保管和安全措施;
系统必须正确处理同一帐户的并发访问。zhu.kerry@gmail.com图书馆系统图书馆系统有借书者、管理员、系统管理员和一般浏览者四种角色。借书者是图书馆的会员,拥有自己的帐户,可以借阅图书;一般浏览者是非图书馆会员,只能通过网络浏览图
书馆的基本信息,如浏览者通过查询可以获取图书馆提供的各种服务信息;借书者能够从图书馆系统中借、还、续借和预约图书,还可查询自己的借书信息和系统情况等;普通管理员协助借书者完成借书、还书、续借服务;系统管理员负责图书管理如图书编目和图书登记、借书者管理和普通管理员管理等任务。图书馆系统能够处
理藏书200万左右的图书和4万左右的会员;图书馆系统处理图书流通每次事务时间应小于8秒以内;借书者可以通过网络进行续借和预约图书。zhu.kerry@gmail.com小结在结构化分析与设计和面向对象分析与设计中选择相应的系统介绍。图书馆系统、出卷
系统重点在结构化范型中介绍ATM机系统、POS机系统和短信系统重点在面向对象范型中介绍。POS机系统在两个范型中都有介绍,以便对照分析。zhu.kerry@gmail.com实验说明软件工程环境、工具
和文档规范与标准:1、软件工程CASE工具加深理解软件工程环境及其原理,了解现在市场上发布的各类软件工程CASE工具。2、软件工程标准化文档理解软件工程各阶段文档的作用与意义,了解软件软件工程国家标准及其规范。zhu.kerry@gmail.c
om实验1:软件工程CASE工具实验目的与要求:理解软件工程的基本概念,熟悉软件、软件生存周期、软件危机和软件工程基本原理。理解软件工程环境和工具,熟悉软件工程环境组成和软件工具分类等。通过Internet了解软件工程技术网站和主流的软件工程工具等
。实验内容:上网了解查询软件工程网站和相关软件工程知识了解软件工程环境概念、层次、组成和开发要求查询现有主流的软件工程工具及其功能、用途和特点及适用范围浏览CASE工具,通过互联网了解现有软件工程主流工具zh
u.kerry@gmail.com实验2:软件工程标准化文档目的理解软件工程各阶段文档的作用与意义,了解软件软件工程国家标准及其规范。内容国内外软件工程标准及网站;软件生存周期各阶段中的文件编制大纲和要
点