软件工程
1. 软件过程是指一套关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及相关Artifacts
(计划、文档、模型、编码、测试、手册等)组成;
CMMI认证是由美国软件工程学会(software engineering institute,简称SEI)制定的一套专门针
对软件产品的质量管理和质量保证标准. CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成;
两种形式:阶段式描述和连续式描述;
过程管理包括:过程策划,过程实施,过程监测和过程改进;
特点:
CMMI一级,完成级。在完成级水平上,企业对项目的目标与要做的努力很清晰,项目的目标
得以实现。但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候仍然能够完成任务。企业在一级上的项目实施对实施人员有很大的依赖性;
CMMI二级,管理级。在管理级水平上,企业在项目实施上能够遵守既定的计划与流程,有资
源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查。企业在二级水平上体现了对项目的一系列的管理程序。这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的所有项目实施都会得到成功;
CMMI三级,定义级。在定义级水平上,企业不仅能够对项目的实施有一整套的管理措施,并
保障项目的完成;而且,企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与流程予以制度化这样,企业不仅能够在同类的项目上生到成功的实施,在不同类的项目上一样能够得到成功的实施。科学的管理成为企业的一种文化,企业的组织财富;
CMMI四级,量化管理级。在量化管理级水平上,企业的项目管理不仅形成了一种制度,而且
要实现数字化的管理。对管理流程要做到量化与数字化。通过量化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动;
CMMI五级,优化级。在优化级水平上,企业的项目管理达到了最高的境界。企业不仅能够通
过信息手段与数字化手段来实现对项目的管理,而且能够充分利用信息资料,对企业在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。 2. 螺旋模型的特点:
1)设计上的灵活性,可以在项目的各个阶段进行变更。 2)以小的分段来构建大型系统,使成本计算变得简单容易。
3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。 4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
首先螺旋模型是遵从瀑布模型的.即需求->架构->设计->开发->测试的路线.螺旋模型最大的价值在于整个开发过程是迭代和风险驱动的.通过将瀑布模型的多个阶段转化到多个迭代过程中,以减少项目的风险. 螺旋模型的每一次迭代只包含了瀑布模型的某一个或两个阶段.如第二次迭代重点是需求,第三次迭代是总体设计和后续设计开发计划等.
3. 极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础
和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。
核心价值:沟通(Communication)、简单(Simplicity)、反馈(Feedback)和勇气(Courage)。 4. 结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有
机组合而成的。
面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界
和设计、构建相应的软件系统。
区别:面向对象方法的可扩展性和可维护性好,基本对象结构不变,只需要加入新的对象、关系和对象的方法。而结构化方法功能变化会危及整个系统的设计。
5. UML(Unified Modeling Language的缩写)统一建模语言,是用来对软件密集系统进行可视化建模的
一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 在描述部分与整体关系时有聚合和组合两种形式。
用例图描述了系统提供的一个功能单元。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。要在用例图上绘制一个角色(表示一个系统用户),可绘制一个人形符号。角色和用例之间的关系使用简单的线段来描述。
类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。 用例侧重于系统外的人员和系统的动作,以及系统的响应,该类型的图可用于描述系统的功能需求。而功能侧重于系统本身。
6. 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
c/s体系的优缺点:(1)、应用服务器运行数据负荷较轻。(2)、数据的储存管理功能较为透明。(3)、C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。三层是指逻辑上的三层,即使这三个层放置到一台机器上。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换。
7. 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻
辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
8.
SOA是英文Service-Oriented Architecture 三个首字母单词的缩写,面向服务架构(SOA)。SOA架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发。通过这种分层设计或架构体系可以使软件产品变得更加弹性和灵活,且尽可能的与第三方软件产品互补兼容,以达到快速扩展,满足或响应市场或客户需求的多样化、多变性。
9. Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定
位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。 元素描述 Xml代码
1 申明该binding名称是SimpleSearch_ServerHttpBinding ○
2 指定该binding指定的操作元素为tns:SimpleSearch_ServerPortType ○
3 该服务提供search方法,并具有request-response模式。消息传递类型为literal。 ○