赞
踩
软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率,提高软件质量、降低软件成本。
软件由方法、工具和过程三个部分组成。
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。
软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说能否在不同的系统中使用同一个软件架构。
☆软件架构分类:(必考)
①数据流风格:处理序列和管道/过滤器(常用场景:数据仓库/ETL(抽取、加载、转换、清洗)网络安全入侵检测)
②调用/返回风格:主程序/子程序、数据抽象和面向对象以及层次结构
③独立构件风格:进程通信、事件驱动
④虚拟机风格:解释器、基于规则
⑤仓库风格:数据库、黑板系统、超文本系统
软件架构评估可以只针对一个架构,也可以针对一组架构。在架构评估过程中,评估人员所关注的是系统的质量属性。(性能、可靠性、安全性、易用性等)
敏感点是一个或多个构件(或之间的关系)的特征。
权衡点是影响多个质量属性的特征,是多个质量属性的敏感点。
三大评估方式:基于调差问卷(或检查表)的方式、基于场景的方式、基于度量的方式。
软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
软件需求包括:业务需求、用户需求和系统需求(功能需求与非功能需求)。
质量功能部署(Quality Function Deployment,QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标,QFD将软件需求分为三类,分别是常规需求、期望需求和意外需求。
☆需求过程4个:需求获取、需求分析、需求规格说明书编制、需求验证与确认等。
需求获取方法:用户访谈、问卷调差、采样、情节串联板、联合需求、会议讨论等。
需求特性:无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性等。
☆使用结构化分析SA方法进行需求分析,其建立的模型的核心是数据字典。
围绕数据字典有三个层次的模型:数据模型、功能模型和行为模型(状态模型)。
数据模型:实体关系图E-R图;E-R图主要描述实体、属性,以及实体之间的关系。
功能模型:数据流图DFD;DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。
行为模型:状态转换图STD;STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如,处理数据等)。
面向对象的分析OOA,OOA模型:用例模型、分析模型。
00A模型独立于具体实现,即不考虑与系统具体实现有关的因素,这也是OOA和OOD的区别之所在。OOA的任务是“做什么”,OOD的任务是“怎么做”。面向对象分析阶段的核心工作是建立系统的用例模型与分析模型。
OOA:面向对象分析方法Object-Oriented Analysis
OOD:面向对象设计Object-Oriented Design
OOD的主要任务是对类和对象进行设计,包括类的属性、方法以及类与类之间的关系。
常用的OOD原则(面向对象七大原则):
单职原则、开闭原则、李氏替换原则、依赖倒置原则、接口隔离原则、组合重用原则、
☆迪米特原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解,本原则与结构化方法的低耦合原则是一致的。
软件需求规格书SRS是需求开发活动的产地,编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。SRS是软件开发过程中最重要的文档之一,对于任何规模和性质的软件项目都不应该缺少。
B/S:(Browser/Server架构)(浏览器/服务器)
C/S:(Client/Server架构)(客户端/服务器)
在实际工作中,通过需求评审和需求测试工作来对需求进行验证。
☆统一建模语言UML是一种可视化的建模语言,作用于不限于支持OOA和OOD还支持从需求分析开始的软件开发的全过程。
☆UML关系:
依赖:一个事务发生变化会影响另一种事务(快递员用车)
关联:一组对象之间连接的结构关系(单向关联/双向关联)
泛化:一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象(狗是一种动物)
实现:实现是类之间的语义关系,其中一个类指定另一个类保证执行的契约
组合聚集;共享聚集;
聚合:“整体”和“部分”的关系
交互图:顺序图(时序图、通信图、定时图)
☆UML视图:逻辑视图(设计视图)、进程视图、实现视图、部署视图、用例视图。
☆类之间的关系:关联、依赖、泛化、聚合、组合和实现,它们在UML中的表示方式如下图
需求分析阶段解决“做什么”的问题,而软件设计阶段解决“怎么做”的问题。软件设计分为结构化设计与面向对象设计。
结构化设计SD是一种面向数据流的方法,它以SRS和SA阶段所产生的DFD和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。
☆在SD中,遵循基本原则:高内聚,低耦合。
内聚:模块内部各成分之间的联系程度
耦合:模块之间的联系程度
☆面向对象的三大特征:封装、继承、多态。
根据处理范围不同,设计模式:类模式和对象模式。
类模式处理类与子类之间的关系,属于静态关系;对象模式处理对象之间的关系,具有动态性。
根据目的和用途不同,设计模式:创建型模式、结构型模式和行为型模式。
软件测试:静态测试、动态测试。
☆静态测试指被测程序不在机器上运行, 采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试采用桌前检查、代码走查和代码审查。
☆动态测试:白盒测试(结构测试)、黑盒测试(功能测试)
白盒测试:测试人员完全清楚程序的结构和处理算法,按照程序内部逻辑结构设计测试用例,主要有控制流测试、数据流测试和程序变异测试,使用静态测试的方法也可以实现白盒测试,最常用的技术是逻辑覆盖。
黑盒测试:主要用于集成测试、确认测试和系统测试,完全不考虑程序内部结构和处理算法。黑盒测试根据SRS所规定的功能设计测试用例,包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等。
软件开发完成后,必须部署在最终用户的正式运行环境,交付给最终用户使用,才能为用户创造价值。
软件过程能力成熟度模型CSMM模型由4个能力域、20个能力子域、161个能力要求组成:
系统集成的内容:技术环境的集成、数据环境的集成、应用环境的集成。
系统集成在技术需遵循法人基本原则包括:开放性、结构化、先进性和主流化。
数据仓库技术是数据集成的关键。
数据集成:基本数据集成、多级视图集成、模式集成和多粒度数据集成。
数据集成的目的是为应用提供统一的访问支持,因此集成后的数据必须保持一定的完整性,包括数据完整性和约束完整性。
异构数据集成:异构数据集成的方法、开放数据库互联标准、基于XML的数据交换标准、基于JSON的数据交换格式
☆开放数据库互联标准:实现异构数据源的数据集成,首先要解决的问题是原始数据的提取。从异构数据库中提取数据大多采用开放式数据库互联ODBC,ODBC是一种用来在数据库系统之间存取数据的标准应用程序接口。
软件构件标准:公用对象请求代理结构CORBA、COM、DCOM、COM+、.NET、J2EE应用架构
X轴是“安全机制” ;Y轴是“OSI网络参考模型”; Z轴是“安全服务”;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。