目录软件定义&特点.......................4软件工程定义&层次图............4过程框架包含的五个活动.......5普适性活动.............................5实践的精髓.............................5过程流....................................6瀑布模型................................7增量过程模型.........................7敏捷原则&人的因素...............8用例必备要素&用例图............9活动图&泳道图.....................11确定类、分析类关系、画类图.............................................12设计层次..............................15好设计的三个特征................15四种结构..............................16界面设计的三条黄金规则.....17测试用例..............................18三种方法计算环形复杂度.....18软件定义&特点1、指令的集合,通过这些指令可以满足预期的特征、功能和性能需求2、数据结构,是程序可以合理利用信息3、软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用。软件的特点1、开发的而不是传统意义上上产制造的2、不会有磨损3、根据客户需求定制的软件工程定义&层次图1、建立和使用一套完整的工程原则,一边经济的获得可靠的,可以在实际机器上高效运行的软件。2、IEEE:将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。软件工程层次图1、工具2、方法3、过程4、质量关注点(根基)过程框架包含的五个活动1、沟通–communication2、策划–planning3、建模–modeling4、构件–construction5、部署–deployment普适性活动1、项目跟踪和控制2、风险管理3、软件质量保证4、技术评审5、测量6、软件配置管理7、可复用管理8、工作产品的准备和生产实践的精髓1、问题理解(沟通和分析)2、计划解决方案(建模和软件设计)3、实施计划(代码生成)4、检查结果的正确性(测试和质量保证)过程流瀑布模型缺点:1、项目很少遵守瀑布模型提出的顺序2、客户难以描述所有的需求3、客户必须有耐心,最后才能考到成果4、阻塞状态需要等待增量过程模型增量模型发布一系列成为增量的版本,随着每个版本的交付,逐步为用户提供更多的功能。敏捷原则&人的因素人的因素1、基本能力2、共同目标3、精诚合作4、决策能力5、模糊问题解决能力用例必备要素&用例图1、用例名称2、主要参与者3、目标4、前提条件5、触发器6、异常7、未解决的问题用例图活动图&泳道图泳道图确定类、分析类关系、画类图设计层次好设计的三个特征1、满足需求模型中的需求,满足利益相关者期望的隐含需求2、对于生成代码以及测试维护软件的人而言,设计必须是可读理解的3、必须提供软件的全貌,从实现的角度说明数据域、功能域、行为域四种结构界面设计的三条黄金规则1、用户操作控制2、减少用户记忆负担3、保持界面一致性测试用例1、等价划分法划分等价类(输入条件、合理等价类、不合理等价类)设计测试用例(输入数据、预期结果、覆盖范围)2、边界值分析法最小负整数-32768最大正整数32767三种方法计算环形复杂度1、数条数2、V(G)=E-N+2E为边数N为点数3、V(G)=P+1P为判断分支点