第一部分软件工程与过程ppt课件.ppt

上传人:飞****2 文档编号:88950289 上传时间:2023-05-04 格式:PPT 页数:105 大小:1.15MB
返回 下载 相关 举报
第一部分软件工程与过程ppt课件.ppt_第1页
第1页 / 共105页
第一部分软件工程与过程ppt课件.ppt_第2页
第2页 / 共105页
点击查看更多>>
资源描述

《第一部分软件工程与过程ppt课件.ppt》由会员分享,可在线阅读,更多相关《第一部分软件工程与过程ppt课件.ppt(105页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、软件工程软件工程方法与实践方法与实践课程简介课时数:3*18学时本课程讨论关于软件的工程化构建课程目标:理解软件工程的思想和原则;了解软件过程的方法、工具和过程;熟悉一种软件开发过程;第一部分:软件工程与过程什么是软件工程?什么是工程化思想?什么是软件过程?有哪些过程模型?如何建立过程模型?什么是统一过程?什么是敏捷过程?有哪些模型?什么是软件工程实践?注:本部分的实验课参照实验教材实验1和实验2进行第1章 概述(主要内容)软件工程的基本概念软件工程化思想软件工程两大范型软件工程思想与基本原理软件工程基本活动软件工程定义-1FritzBauer的定义:软件工程是为了经济地获得能够在实际机器上有

2、效运行的可靠软件而建立和使用的一系列完善的工程化原则。1968年在NATO科技会议上首次提出软件工程的概念软件工程定义-2B.W.Boehm的定义的定义:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。巴利玻姆,软件工程估算模型COCOMO模型之父、软件过程螺旋式模型之父。软件工程定义-31983年美国IEEE软件工程标准术语的定义为:软件工程是开发、运行、维护和修复软件的系统方法,其中“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计事机上运行时所必需的数据。什么是软件?软件是计算机系统中与硬件相对应的另一部分,包括一系列程序、数据及

3、其相关文档的集合。三要素:程序文档数据软件的特征特性:复杂性一致性不会磨损和“老化”易变性移植性成本高时间故障率软件演化-1第一代:程序设计阶段第一代:程序设计阶段。1946年到60年代初,其主要特征是程序生产方式为个体手工方式。第二代:程序系统阶段。第二代:程序系统阶段。60年代初到70年代初,软件工程学科诞生。软件的开发方式由个体生产发展到了小组生产,软件的开发与维护费用以惊人的速度增加,维护困难,导致软件危机。软件演化-2第三代:传统软件工程阶段。第三代:传统软件工程阶段。20世纪70年代中期至80年代中期,软件工程师把工程化的思想加入到软件的开发过程中,用工程化的原则、方法和标准来开发

4、和维护软件。第四代:面向对象阶段。第四代:面向对象阶段。20世纪80年代中期至今,面向对象的方法学受到了人们的重视,促进了软件业的飞速发展,软件产业在世界经济中已经占有举足轻重的地位。软件危机-1主要表现:软件的规模大复杂度增加软件的需求量增大价格昂贵供需差增大开发速度慢质量难以保证软件危机-2两个方面的问题:如何开发软件,以满足客户对软件日益增长的需求;如何维护数量不断膨胀的软件;软件危机解决途径软件危机解决途径重视需求分析,明确与确切表达需求重视与客户沟通与交流统一的、公认的方法论和规范指导重视设计和实现过程的资料充分的检测工作软件工程化思想软件工程化思想把软件看作是一个工程产品两个方面:

5、软件开发技术软件工程管理软件危机的原因:缺乏软件过程控制能力1991年,SEI提出了能力成熟模型(CapabilityMaturityModel)V1.0版软件工程两大范型软件工程两大范型范型用来表示一套涵盖整个软件生产过程的技术集合。传统的结构化范型特征:结构化技术要么面向行为,要么面向数据构成结构化范型的技术包括:结构化分析结构化设计结构化编程结构化测试结构化维护软件工程两大范型软件工程两大范型面向对象范型特征:将对象视作一个融合了数据及在其上操作的行为的、统一的软件组件。技术包括:面向对象分析面向对象设计面向对象编程面向对象测试面向对象维护优势:对象的概念符合业务或领域的客观实际维护容易

6、软件工程基本原理软件工程基本原理B.W.Boehm在1983年提出七条基本原理:分阶段的软件生存周期坚持进行阶段评审实行严格的产品控制采用现代程序设计技术明确职责开发小组的人员应少而精不断改进开发过程软件工程思想软件工程思想推迟实现的观点逐步求精的观点分解与抽象的观点信息隐蔽观点质量保证观点软件工程基本活动软件工程基本活动软件开发活动软件生命周期模型项目管理活动项目的范围(要做的内容)进度(要花费的时间)成本(要耗费的资源)过程改进活动关注质量软件开发的最佳实践过程定义和改进小结软件工程的主旨是以工程化的思想进行软件开发,以生产高质量和高效率的软件。软件工程化思想的核心是,把软件看作是一个工程

7、产品。软件工程方法学分别是传统结构化范型和面向对象范型。软件工程活动包括开发活动、管理活动和过程改进活动。分组每组6人组长1名:负责项目管理活动组员4名:负责软件开发活动,包括需求分析软件设计编码软件测试配置管理课程考核课堂考勤10%分组作业和讨论60%每组有6个角色,每个角色必须承担各自的任务组员成绩由个人成绩(60%)和团队成绩(40%)构成团队成绩为全组平均分期末考试(卷面)30%第2章 软件过程(内容提要)什么是软件过程?什么软件生命周期?能力成熟度模型敏捷过程软件过程实践软件过程定义:软件过程软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动通常使

8、用生命周期模型生命周期模型简洁地描述软件过程。生命周期模型规定了把生命周期划分为哪些阶段及各个阶段的执行顺序,也称为过程模型过程模型软件工程三要素层次:软件工程是一门建立在以质量焦点为基础,分过程、方法和工具三个研究层次的综合技术工具 方法 过程 质量焦点软件过程框架软件过程框架定义:框架是实现整个软件开发活动的基础,并且那些与过程有关的角色、职责的定义以及实现也都离不开框架的支持包括两个方面组织及管理框架技术及工具框架软件过程模型软件过程模型把软件生命周期中各项开发活动的流程用一个合理的框架开发模型来规范描述,这就是软件过程模型软件过程模型。软件生命周期模型软件生命周期软件生命周期划分为定义

9、、开发和运行三个阶段细分为六个阶段:问题的定义及规划需求分析软件设计程序编码软件测试运行维护软件生命周期模型软件生命周期划分为定义、开发和运行三个阶段细分为六个阶段:问题的定义及规划需求分析软件设计程序编码软件测试运行维护能力成熟度模型集成能力成熟度模型集成CMM(CapabilityMaturityModel)是指“能力成熟度模型”CMM是由美国卡内基梅隆大学的软件工程研究所(SEI)开发的软件成熟度模型。CMM核心:把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究。能力成熟度模型集成能力成熟度模型集成CMM是目前国际上最流行的一种软件生产过程标准,已经得到了众多国家

10、一级国际软件产业界的认可。CMM为软件企业的过程能力提供了一个阶梯式的改进框架,它基于过去所有软件工程过程改进的成果,吸取了以往软件工程的经验教训,提供了一个基于过程改进的框架。能力成熟度模型集成(CMMI-CapabilityMaturityModelIntegration)是CMM模型的最新版本。CMM概述为企业的发展规定过程成熟级别,分为5级(Version1.0):初始级(Initial):一般企业皆具有可重复级(Repeatable):成功经验可以重复定义级(Defined):一套完整的企业过程,人员自觉遵守(培训)管理级(Managed):过程&产品可度量和控制优化级(Optimi

11、zing):过程持续改进从无序到有序、从特殊到一般、从定性管理到定量管理、最终达到动态优化CMM概述(续)2.Repeatable1.Initial3.Defined4.ManagedDisciplined ProcessStandard,Consistent ProcessPredictable ProcessContinuously Improving ProcessUnpredictable and poorly controlledCan repeat previously mastered tasksProcess characterized,fairly well understo

12、odProcess measured and controlledFocus on process improvement5.OptimizingProject Management Integrated Engineering ProcessProduct and Process QualityManaging ChangeDisorder Disciplined Predictable Immature Mature CMM的概念模型关键过程域KPA:代表一组相关的工作(活动)。每个KPA都有一个确定的目标,完成该目标即认为过程能力的提高。一般特性CF(CommonFeatures):进一

13、步细分KPA的工作。五个特性:承诺(commitment)准备(ability)执行(activity)度量分析(measurement&analysis)验证(verifyingimplementation)CMM的五个级别Level1:初始级过程无序且不可见OutInCMM的五个级别Level2:可重复级里程碑(Milestone)可见,按计划开发CMM的五个级别Level2的6个KPA:侧重于管理需求管理(RequirementsManagement)软件项目计划(SoftwareProjectPlanning)软件项目的跟踪和监控(SoftwareProjectTackingandOv

14、ersight)软件子合同管理(SoftwareSubcontractManagement)软件质量保证(SoftwareQualityAssurance)软件配置管理(SoftwareConfigurationManagement)CMM的五个级别Level3:定义级每个阶段的内部活动可见标准过程和项目定义过程裁剪CMM的五个级别Level3的7个KPA:工程过程企业理念机构过程关注(OrganizationProcessFocus)机构过程定义(OrganizationProcessDefinition)培训计划(TrainingProgram)集成软件管理(IntegratedSoftw

15、areManagement)过程裁剪和定义软件产品工程(SoftwareProductEngineering)过程执行组间协调(IntergroupCoordination)对等审查(PeerReviews)CMM的五个级别Level4管理级过程可度量,预测值与结果之间的偏差可控CMM的五个级别Level4的2个KPA:预测量化管理定量过程管理(QuantitativeProcessManagement)过程度量软件质量管理(SoftwareQualityManagement)产品度量CMM的五个级别Level5优化级过程动态调整、新技术的采用对过程的不断改进CMM的五个级别Level5的3个

16、KPA:动态优化缺陷预防(DefectPrevention)技术改变管理(TechnologyChangeManagement)过程改变管理(ProcessChangeManagement)能力成熟度模型集成CMMI-CapabilityMaturityModelIntegration是CMM模型的最新版本。CMMI有两种表示方法:和软件CMM一样的阶段式表现方法连续式的表现方法过程管理项目管理工程支持CMMI的目标是质量、时间表和最低的成本敏捷过程2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场。经过两天的讨论,“敏捷”(Agi

17、le)这个词为全体聚会者所接受,用以概括一套全新的软件开发价值观。这套价值观,通过一份简明扼要的敏捷宣言,传递给世界,宣告了敏捷开发运动的开始。敏捷不是一个过程,是一类过程的统称。符合敏捷价值观、遵循敏捷原则敏捷宣言我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下价值观:个体与交互重于过程和工具可用的软件重于完备的文档客户协作重于合同谈判响应变化重于遵循计划在每对比对中,后者并非全无价值,但我们更看重前者。敏捷过程敏捷方法的两大主要特征:对“适应性”的强调对“人”的关注做法:引入迭代式的开发手段将整个软件生命周期分解为若干个小的迭代周期获取切实有效的客户反馈提出

18、12条基本原则敏捷12原则1.我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。2.欢迎对需求提出变更即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。3.要不断交付可用的软件,周期从几周到几个月不等,且越短越好。4.项目过程中,业务人员与开发人员必须在一起工作。敏捷12原则5.要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。6.无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。7.可用的软件是衡量进度的主要指标。8.敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。敏捷12原则9.对技术的精益求精以及对设计

19、的不断完善将提升敏捷性10.要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。11.最佳的架构、需求和设计出自于自组织的团队。12.团队要定期反省如何能够做到更有效,并相应地调整团队的行为。极限编程敏捷开发过程的方法很多,主要有SCRUMCrystal特征驱动软件开发(FeatureDrivenDevelopment,简称FDD)自适应软件开发(AdaptiveSoftwareDevelopment,简称ASD)以及最重要的极限编程(eXtremeProgramming,简称XP)。极限编程极限编程(eXtremeProgramming,XP)是敏捷开发中最富有成效的方法学之一。由Sma

20、lltalk社群中的大师级人物KentBeck在1996年首先提出。具有强沟通、简化设计、迅速反馈等特点适合于规模小、进度紧、需求不稳定、开发小项目的小团队。极限编程特点:XP模型是“轻量型”或“灵活”的软件过程模型,提供与面向对象语言结合的开发方案“专家协作”的开发方式,解决难点问题核心有四个要点:交流:客户、开发人员、管理人员的交流简单:设计、编码、注释和测试的简单反馈:客户和测试反馈勇气:接受任务的勇气结对编程结对编程(Pair-Programming)是XP中非常重要的实践之一。定义:两个人坐在同一台计算机前面,使用相同的键盘和鼠标来开发同样的一个模块,一个称为驾驶者(Driver),

21、负责代码的键入,另外一个称为领航员(Navigator),负责监看与决策,包括低级错误和方向性的错误。当出现的一个问题对其中一个人来说,难以解决,而恰好是另外一个人的强项的时候,那么角色就会发生转换。结对编程优势:可以减少风险可以使团队生产效率更高是知识传播的最好途径可以打造出最佳的合作团队。可以生成更好的代码自适应软件开发自适应软件开发(AdaptiveSoftwareDevelopment)由JimHighsmith提出着眼于人员协作和团队自我组织,类似于收集人们创意的容器生命周期三个阶段包括:思考:启动项目并完成自适应循环计划协作:沟通与信任学习:改进真正的理解水平,通过焦点组、正式技术

22、评审和事后剖析方式进行学习动态系统开发-1动态系统开发(DynamicSystemDevelopmentMethod)一种使用增量原型开发模式完全满足对时间约束的系统构建和维护的敏捷软件开发方法。借用Pareto(佩瑞多)原则:即如果交付整个应用系统需用100%时间,那么80%的应用系统可以用20%的时间交付动态系统开发-2建议使用迭代软件过程动态系统开发生命周期的敏捷过程模型:可行性研究业务研究功能模型迭代设计和构建迭代实现可以与极限编程结合使用特征驱动开发-1特征驱动开发(Feature-Drivendevelopment)敏捷软件开发过程家族的一员特点是可以不断提交切实可行的结果把软件开

23、发项目作为一个系统,即生产软件的系统。组成该系统的三个最大的部分是人、过程和技术特征驱动开发-2定义六种关键项目角色:项目经理项目经理,负责报告进度情况、管理预算、筹措人员,以及管理设备、办公场地和资源等主设计师主设计师,负责系统的整体设计开发经理开发经理,负责领导日常开发活动,解决主程序员们自己无法解决的日常的资源冲突问题。主程序员主程序员,参与高层的需求分析和设计活动,领导3-6人开发小组负责新软件特征的底层分析、设计和开发工具。类的所有者类的所有者,是主程序员领导的开发小组的成员,对新软件系统所需要的特征进行设计、编码、测试和编写文档。领域专家领域专家,是客户、用户、业主、业务分析专家或

24、者所有这些的混合。软件工程实践软件工程实践的精髓是理解问题、计划解决方案、实施计划和检查结果的精确度等方面通用的框架活动包括:沟通计划建模部署普适性活动软件工程实践的核心原则DavidHooker提出的7个核心原则:存在价值保持简洁维护视图生产者要让消费者理解面向未来计划复用认真思考小结-1软件工程是一种层次化技术,包括过程、技术和工具。软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程框架定义了若干个小的框架活动,为完整的软件开发过程建立了基础。软件过程框架的通用过程框架活动包括沟通、计划、建模、构建和部署。小结-2能力成熟度模型(CMM)是改

25、进软件过程的有效策略。它的基本思想是通过改进对软件过程的管理来提高软件生产率和软件质量。敏捷方法是一组敏捷实践技术的总称,包括极限编程、自适应软件开发、动态系统开发和特征驱动开发等等。软件工程实践包括概念、原则、方法和在整个软件开发过程中所使用的工具。软件工程实践的通用框架活动包括沟通实践、计划实践、建模实践、构造实践和部署实践。第3章 软件过程模型(内容提要)瀑布模型增量模型螺旋模型协同开发模型面向对象模型面向方面的软件开发瀑布模型瀑布模型提供了软件开发的基本框架。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,规定了它们自上而下

26、、相互衔接的固定次序,如同瀑布流水逐级下落而得名它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的。每个阶段都会产生循环反馈各个阶段产生的文档是维护软件产品时必不可少的,没有文档的软件几乎是不可能维护的。瀑布模型示意图系统需求软件需求需求分析设计编码维护测试瀑布模型特点顺序性和依赖性推迟实现质量保证的观点是一种线性模型强调文档的作用增量模型增量模型(IncrementalModel)也称为渐增模型,是在项目的开发过程中以一系列的增量方式开发系统。软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成.增量方式包括:增量开发:

27、以一定的时间间隔开发部分工作软件增量提交:以一定的时间间隔增量方式向用户提交工作软件及相应文档增量模型融合了线性顺序模型的基本成份和原型实现模型的迭代特征。增量模型分为渐增模型和原型模型渐增模型是瀑布模型的变种,有两类渐增模型:增量构造模型:它在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。演化提交模型:它在瀑布模型的基础上,所有阶段都进行增量开发,也就是说不仅是增量开发,也是增量提交。增量构造模型需求分析设计编码1测试1测试2编码2编码3测试3螺旋模型螺旋模型(SpiralModel)是结合了瀑布模型和快

28、速原型模型的迭代开发模型强调了其他模型均忽略了的风险分析:风险识别风险分析风险控制特别适合于大型复杂的系统每一个周期都包括需求定义、风险分析、工程实现和评审螺旋模型示意图螺旋模型活动四个象限分别代表了以下活动:制定计划:确定软件目标,选定实施方案,确定项目开发的限制条件;风险分析:分析评估所选方案,考虑如何识别和消除风险;实施工程:实施软件开发和验证;客户评估:评价开发工作,提出修正建议,制定下一步计划。螺旋模型是风险驱动的模型协同开发模型协同开发模型(CollaborativeDevelopmentModel,简称CDM),有时也叫做协同工程,可以表示为一系列框架活动、软件工程动作和任务以及

29、相应的状态。在某一特定时间,建模活动可能处于任何一种状态。协同开发模型定义了一系列事件,这些事件将触发软件工程活动、动作或任务的状态转换。协同开发模型空状态开发状态等待变更状态评审状态修改状态建立基线状态结束状态建模活动建模活动面向对象过程模型面向对象过程模型面向对象是一种的程序设计方法,或者说它是一种程序设计范型。基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。面向对象的要素:抽象:强调实体的本质、内在的属性,忽略一些无关紧要的属性。类实现了对象的数据(即状态)和行为的抽象,是对象的共性的抽象。封装性:指所有软件部件内部都有明确的范围以及清楚的外部边界。共享性:面向对象的特

30、征:对象惟一性;分类性;继承性;多态性(多形性)。统一过程模型统一过程模型统一过程(UnifiedProcess,UP)是风险驱动的、基于用例技术的、以架构为中心的、迭代的、可配置的软件开发流程。统一过程是以用例驱动的,以架构为中心,迭代和增量的过程。统一过程是一个软件开发过程,是一个通用的过程框架:初始细化构造移交统一过程的四个阶段统一过程五个核心工作流需求(RequirementsCapture):致力于开发正确的系统分析(Analysis):更精确地理解需求设计(Design):深入理解与非功能性需求和约束相联系的问题实现(Implementation):实现系统与集成测试(Test):

31、验证实现的结构核心工作流统一过程准则准则迭代的开发软件需求管理基于构件的体系结构可视化软件建模验证软件质量控制软件的变更统一过程主要的优点是提高了团队生产力构件集成模型构件集成模型是基于构件的开发模型构件集成模型:整个系统模块化复用构件库中的软件构件构件集成模型是演化形的,开发过程是迭代的5个阶段:软件的需求分析和定义体系结构设计构件库建立应用软件构建测试和发布构件集成模型需求分析和定义体系结构设计构件库建立测试和发布应用软件构建1:N面向方面的软件开发面向方面的软件开发(Aspect-OrientedSoftwareDevelopment,简称AOSP)是一系列新兴技术,用以寻找软件系统中新

32、的模块化特性。强调独立描述关注点方面需求(AspectualRequirement)定义了那些对整个软件体系结构产生影响的横切关注点:对等关注点,这种关注点是相互独立的,没有任何一个对等关注点比另一个更重要。如ATM的取款、转帐和存款等扩展(extension),是在基础组件(base)之上定义的组件,它用来表示附加的服务或功能。如在图书馆系统中,当还书时发现该书已经超期,那么系统就要计算罚金。计算罚金功能就是还书的扩展。对等关注点对等关注点(分离限制)扩展对等关注点(分离限制)问题:缠绕(tangling),各个组件包含满足不同关注点的实现(也就是编码)分散(Scattering),某个特定

33、关注点的实现是分散在多个组件中。分离扩展是一种使复杂问题易于理解的技术。关注点分离技术关注点分离技术(ConcernSeparationTechnique)对关注点进行建模和结构化。用例技术关注点合成机制关注点合成机制(ConcernCompositionMechanism)将关注点合成发生在编译时、编译后,甚至是运行时扩展相互分离扩展相互分离Jacobson早在1986发表的论文“支持易于变化的实时系统的语言”术语:表示原有程序、扩展基础的术语existion;表示添加到existion的新功能的术语extensions。扩展在编译或运行阶段,而非编码阶段,往existion中插入exten

34、sions(扩展)原有系统的源代码甚至二进制代码都与任何扩展之间保持了清晰性和无关性优点:扩展更为简单系统将更易于理解序列变化器小结小结软件开发模型是指软件开发全部过程、活动和任务的结构框架,能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。瀑布模型是一种线性模型,文档驱动的模型。增量提交模型采用一系列的增量方式开发系统。螺旋模型结合瀑布模型和快速原型,是一种风险驱动的开发模型协同开发模型是一种时间驱动的活动网络模型。统一过程模型是以用例驱动的,以架构为中心,迭代和增量的过程。构件集成模型利用模块化方法将整个系统模块化,复用构件库中的软件构件,通过

35、组合手段提高应用软件系统过程的效率和质量。面向方面的软件开发是一系列新兴技术,用以寻找软件系统中新的模块化特性,允许对软件系统中多种关注点进行独立描述,同时又能自动统一组合到工作系统之中。第4章 案例研究出卷系统短信系统POS机系统ATM机系统图书馆系统出卷系统系统支持人工辅助和自动出卷。系统应能够进行题库管理系统能够进行试卷管理,应完成试卷修改、删除和打印等。试卷能够按照给定的样式进行输入。系统应能支持不同的科目。系统能够在所有流行的技术环境下运行,优好的图形界面。系统应该具有很好的可扩展性。试题不允许重复出现,至少三次不能重复。试卷符合要求的96%以上即可结束,允许教师调整。应能进行试卷分

36、析。短信系统短信发送:客户选择一个或多个目标人员、编辑内容、立即或定时发送通知信息。短信人工应答:用户察看收到的短信内容,并确定回复内容回复询问者。短信自动应答:根据短信询问内容,并依据规则自动回复询问者。短信接收:接收外部短信。短信确认:确认接收方是否接收。客户资料维护:添加、删除和更新用户。短信息维护:预设短消息内容接口要求:支持移动终端通过串口通信;支持与移动网关通信。POS机系统收银员可以记录销售商品信息,系统计算总价。收银员能够通过系统处理支持,包括现金支付、信用卡支付和支票支付。经理还能处理顾客退货。系统要求具有一定的容错性,即如果远程服务(如库存系统)暂时中断,系统必须仍然能够获

37、取销售信息并且至少能够处理现金付款。POS机必须支持日益增多的各种的客户终端和接口,比如多种形式的用户图形界面、触摸屏输入装置、无线PDA等。系统需要一种机制提供灵活的处理不同客户独特的业务逻辑规则和定制能力。ATM机系统ATM机处理银行储户的各种操作,并与分行计算机通信;各分理处的计算机保存各自的帐户,负责录入帐户和事务数据;分行计算机与拨款分理处结帐;ATM机与用户接口接受现金卡,与分行计算机通信完成事务,发放现金,打印票据;系统需要记录保管和安全措施;系统必须正确处理同一帐户的并发访问。图书馆系统图书馆系统有借书者、管理员、系统管理员和一般浏览者四种角色。借书者是图书馆的会员,拥有自己的

38、帐户,可以借阅图书;一般浏览者是非图书馆会员,只能通过网络浏览图书馆的基本信息,如浏览者通过查询可以获取图书馆提供的各种服务信息;借书者能够从图书馆系统中借、还、续借和预约图书,还可查询自己的借书信息和系统情况等;普通管理员协助借书者完成借书、还书、续借服务;系统管理员负责图书管理如图书编目和图书登记、借书者管理和普通管理员管理等任务。图书馆系统能够处理藏书200万左右的图书和4万左右的会员;图书馆系统处理图书流通每次事务时间应小于8秒以内;借书者可以通过网络进行续借和预约图书。小结在结构化分析与设计和面向对象分析与设计中选择相应的系统介绍。图书馆系统、出卷系统重点在结构化范型中介绍ATM机系

39、统、POS机系统和短信系统重点在面向对象范型中介绍。POS机系统在两个范型中都有介绍,以便对照分析。实验说明软件工程环境、工具和文档规范与标准:软件工程环境、工具和文档规范与标准:1、软件工程CASE工具加深理解软件工程环境及其原理,了解现在市场上发布的各类软件工程CASE工具。2、软件工程标准化文档理解软件工程各阶段文档的作用与意义,了解软件软件工程国家标准及其规范。实验1:软件工程CASE工具实验目的与要求:理解软件工程的基本概念,熟悉软件、软件生存周期、软件危机和软件工程基本原理。理解软件工程环境和工具,熟悉软件工程环境组成和软件工具分类等。通过Internet了解软件工程技术网站和主流的软件工程工具等。实验内容:上网了解查询软件工程网站和相关软件工程知识了解软件工程环境概念、层次、组成和开发要求查询现有主流的软件工程工具及其功能、用途和特点及适用范围浏览CASE工具,通过互联网了解现有软件工程主流工具实验2:软件工程标准化文档目的理解软件工程各阶段文档的作用与意义,了解软件软件工程国家标准及其规范。内容国内外软件工程标准及网站;软件生存周期各阶段中的文件编制大纲和要点

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com