第一章:软件工程概述1.软件工程的定义:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。2软件的生命周期:软件定义①问题定义②可行性研究③需求分析l软件开发①总体设计②详细设计③编码和单元测试④综合测试运行维护3软件过程模型:瀑布模型(传统瀑布模型、带信息反馈的瀑布模型)快速原型化模型增量模型螺旋模型喷泉模型4.RationalUnifiedProcess,RUP统一软件开发过程5.软件工程方法学三要素:1.过程:获取高质量软件所需要的一系列任务框架(活动)、任务完成顺序、以及质量保证点和项目管理------做什么;2.方法:过程中规定各项任务中采取的技术方法------如何做;3.工具:为方法应用提供自动或半自动支持环境第二章:UML统一建模语言类图:类图是描述类、协作(类或对象间的协作)、接口及其关系的图。表示方法:类名、属性、方法关联的分类:1、包含2、泛化3、依赖4、实现关联的语法:关联有名称、角色、多重性和导航性等语法递归关系:老张开车去东北:小李打妖怪:神州飞船:用例图:1、什么是用例图?用例图由哪几部分构成?用户模型视图也称为用例图,它从用户的角度来描述系统功能,并指出各功能的操作者。用例图是捕获用户需求的强有力工具,它描述了系统应该实现什么样的功能用例图是外部参与者所能观察到的系统功能的模型图,它将系统、子系统和类的行为可视化用例图是获取需求的直接方法用例图还是软件测试人员进行测试的指导用例图由三部分构成:参与者、一组(个)用例、关系2、用例图中关系的分类及图形表达。关联(association)包含(include)扩展(extend)泛化(generalization)3、“修改密码”的用例规约。用况名称:修改密码参与者:多个求职者简要说明:求职者为了密码安全且方便使用,修改了密码前置条件:1求职者已经登录网上求职招聘系统2求职者输入旧密码求职者输入新密码基本事件流:1求职者鼠标单击“修改密码”按钮2系统出现一个对话框,显示“密码修改成功”3求职者单击“确定”按钮4用况结束其他事件流A1:在单击“修改密码”按钮之间,求职者随时可以按“清空”按钮,文本框清空,可以重新填写内容。异常事件流E1:1系统出现一个对话框,显示“旧密码输入错误”2求职者单击“确定”按钮3返回到修改密码页面,旧密码文本框被清空异常事件流E2:1系统出现一个对话框,显示“密码要设在6~10位之间”2求职者单击“确定”按钮3返回到修改密码页面,新密码文本框被清空异常事件流E3:1系统出现一个对话框,显示“旧密码输入错误3次”2系统自动将该用户注销3系统返回到首页后置条件:求职者的密码被重置,再次登录时必须使用新密码4、什么是用例规约?所谓规约,就是业务规则的规格说明。针对每一个用况,都应该有一个用况规约文档与之相对应,以描述该用况的细节内容。每一个用况的用况规约,都应该包含以下内容(1)用况名称(UseCaseName).用况的名称一般由“动词+名词”构成,简单说明“做什么”。(2)简要说明(BriefDescription).简要介绍该用况的作用和目的。(3)前置条件(PreviousCondition).系统在执行该用况前必须处在的状态。(4)事件流(FlowofEvent)描述该用况所有可能的场景,它包括基本流和备选流。基本流:描述该用况在正常情况下的场景。备选流:描述用况执行过程中一场情况或突发情况。(5)用况场景(UseCaseScenario).包括成功场景和失败场景,场景主要由基本流和备选流组合而成。(6)特殊需求(SpecialRequirement).描述与该用况相关的非功能性需求(性能、可靠性、可用性和可扩展性等)以及涉及约束(所使用的操作系统、开发工具等)。(7)后置条件(PostCondition).系统在执行完该用况之后应该处在的状态。顺序图1、什么是顺序图?作用是什么?顺序图也称为时序图,它描述了系统中,对象间通过消息进行的交互,它强调了消息在时间轴上的先后顺序。顺序图的作用顺序图常用来描述用例的实现,它表明了由哪些对象,通过消息相互协作来实现用例的功能,在顺序图中,标识了消息发生交互的先后顺序。2、自动锁车系统中,“锁车”用例的顺序图3、“登录”用例顺序图(MV模式)消息的分类:调用(call)、返回(return)、发送(Send)、创建(Create)和销毁(Destroy)活动图:1、活动图的概念及作用.活动图的概念活动图是描述系统或业务的一序列活动构成的控制流,它描述了系统从一种活动转换到Login.jspLoginCheck.jspUserBeanC.javaWelcome.jsp1:userName,passWord2:userCheck(userName,passWord)3:true/false4:5:另一种活动的整个过程。.活动图的作用活动图常用来描述业务或软件系统的活动轨迹,描述了系统的活动控制流程。用活动图可以对业务过程、工作流和用例实现进行建模。2、活动图中语法(组成元素)活动图的组成元素初始节点和终点、活动结点、转换、分支与监护条件、分岔与汇合3.活动图与流程图的区别:活动图有分岔、汇合与并发。流程图只有分支,只能选一个执行。数据库设计:1、关于范式的理解(1NF、2NF、3NF)第一范式(1NF,每一列都是不可分割的基本数据项)第二范式(2NF,消除部分子函数依赖,即属性完全依赖于主键)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体。第三范式(3NF,消除传递依赖,即属性不依赖于其它非主属性])要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。2、模式分解把这个单一模式分成3个关系模式:S(Sno,Sdept,Sno→Sdept);SC(Sno,Cno,Grade,(Sno,Cno)→Grade);DEPT(Sdept,Mname,Sdept→Mname)3、数据库设计的基本步骤1、需求分析需求收集和分析,得到数据字典2、概念结构设计阶段对用户需求综合、归纳与抽象,形成概念模型,在关系数据库中概念模型一般采用实体-联系模型图,即E-R图3、逻辑结构设计阶段任务:把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。即:E-R图向关系模型的转换4、物理设计阶段任务:主要是设计DB在物理设备上的存储结构和设计方法。主要内容:确定数据的存储结构。存取路径的选择和调整5、数据库的实施阶段根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施阶段6、数据库运行和维护。数据库系统正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始,这个一般是DBA的事情了,比如时间长了,数据量大了,在某些列上加上索引,调优等等。4、(实体-联系)E-R如何向数据库表转化1对1:一一对应建立1对多:在“一对多”关系中,无论“多”端是强制存在的还是可选存在的都不会影响其转化形式,外键必须出现在“多”端,即“多”端转化为从表。当“一”端实体是可选存在时,“多”端实体表中的外键列允许为NULL。多对多:在“多对多”关系中,需要一张新关系表包含两个实体的主键。无论两边实体是否为可选存在的,其转化形式一致,关系表中的外键列不能为NULL。实体可选存在,在关系表中表现为是否存在对应记录,而与外键是否允许NULL值无关。候选码:若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为(超级码)候选码。主码:从多个候选码中选一个作为主码。简单工厂:软件测试的方法:白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息