一、开发平台和技术
1. .Net Framework:.NET Framework是用于Windows的新托管代码编程模型。
2. C#:是微软公司针对于.NET框架的一种面向对象开发语言。其语法与C和JAVA类似。
3. ASP .NET:是微软公司的一种应用于WEB开发的技术,是标记语言与可编译语言结合的由网络服务器端执行的。ASP.NET的前身是ASP(Active Server Pages)中文意思是“动态服务器页面”。运行于IIS之中的程序。
4. IIS:Internet Information Services(因特网信息服务) ,是用来支持ASP.NET等服务器端WEB程序的运行环境。
5. WinForm : 属于.Net Framework框架的一个子集,是一种 Windows消息机制基于事件驱动的开发平台,专用来开发C/S程序或Windows桌面应用程序。
6. WebForm:属于.Net Framework框架的一个子集,也是基于事件驱动,封装了POST与GET提交方式的开发平台,可以使用控件与窗体(FORM)技术,开发WEB程序。
7. WPF:WPF为Windows Presentation Foundation的缩写,是微软新一代图形系统,运行在.NET Framework 3.0以上框架,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。
8. WCF:Windows Communication Foundation(Windows通信基础),是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分。
9. JavaScrip:是一种基于对象的WEB客户端编程技术,基与法与JAVA相近,从本质上讲javascript更像是一门函数式编程语言。而非面向对象的语言,所以与JAVA无关。
10. jQuery:是一个优秀的Javascrīpt框架。jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。目前最新版本为JQuery1.42。
11. ExtJS:是一种主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。
12. HTML:(HyperText Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
13. XML:XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
14. AJAX:即“Asynchronous JavaScript and XML”(异步JavaScript和XML),AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术。AJAX最大的作用就是实现更强的“用户体验”,实现在WEB开发中的通过JS与XML实现通信,而不需要使用传统的整页请求与响应,这样的话就实现了无刷新更改或提交内容,让用户感觉更快捷,和方便。
15. WebService:(WEB服务)提供了一组接口的应用,可以让我们在调用了该服务以后,用对象的形式使用该服务接口中的成员。WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。
16. Linq:语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。
17. Lambda表达式:“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。 所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。Lambda 表达式 x => x * x 读作“x goes to x times x”。
18. SQL:(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
19. DDL:数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述定义。这些定义包括结构定义、操作方法定义等。
20 DML:数据操纵语言DML(Data Manipulation Language),命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。具体是指是SELECT查询、UPDATE更新、INSERT插入、DELETE删除。
21. Transact-SQL(T-SQL):种语言,包含用来管理 SQL Server 实例、创建和管理 SQL Server 实例中的所有对象,以及用来插入、检索、修改和删除 SQLServer 表中所有数据的命令。Transact-SQL 是对国际标准化组织 (ISO) 和美国国家标准学会 (ANSI) 发布的 SQL 标准中所定义语言的一种扩展。
22. 存储过程:(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
23. 触发器:(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
24. WindowsCE:是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。
25. Remoting:简而言之,我们可以将其看作是一种分布式处理方式。
二、设计思想及技术
1. SOA:面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。
2. AOP:面向切面编程(Aspect Oriented Programming),AOP是OOP的延续,将日志记录,性能统计,安全控制,事务处理,异常处理等“功能”性的代码从数据库业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。
3. IOC:依赖注入(Inversion of Control) ,实现方式为不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。
4. ORM:对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动“持久化”到关系数据库中。微软的LINQ to SQL技术主要就是以这种思想实现的技术。我们也可以称它为“数据持久化技术”。
5. 分层架构(三层架构):三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。优点:1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现; 3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。
6. MVC:MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑。 View层用于与用户的交互。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。MVC是分层架构的一种实现方式,但MVC不等同于所有分层架构。
7. 简单工厂:一种实现IOC(依赖注入)的技术,可以通过工厂去创建指定的产品(对象),但是这些对象要依赖于抽象。
8. 抽象工厂:与简单工厂相同,也是用来实现IOC的技术。不过创建方式有所改变,是工厂管理者通过条件去选择不同的工厂来创建产品(对象)。基中工厂需要依赖于抽象。
9. B/S:(Browser/Server结构)结构即浏览器和服务器结构。
10. C/S:在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。
11. WF:工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
三、其他流行技术
1. SEO:搜索引擎优化(Search Engine Optimization,简称SEO)是一种利用搜索引擎的搜索规则来提高目的网站在有关搜索引擎内的排名的方式。
2. WEB标准:WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。
3. 采用Web标准的好处:
(1)对于访问者:● 文件下载与页面显示速度更快。
● 内容能被更多的用户所访问(包括失明、视弱、色盲等残障人士)。
● 内容能被更广泛的设备所访问(包括屏幕阅读机、手持设备、搜索机器人、打印机、电冰箱等等)。
● 用户能够通过样式选择定制自己的表现界面。
● 所有页面都能提供适于打印的版本。
(2)对于网站所有者:● 更少的代码和组件,容易维护。
● 带宽要求降低(代码更简洁),成本降低。举个例子:当 ESPN.com 使用 CSS改版后,每天节约超过两兆字节(terabytes)的带宽。
● 更容易被搜寻引擎搜索到。
● 改版方便,不需要变动页面内容。
● 提供打印版本而不需要复制内容。
● 提高网站易用性。在美国,有严格的法律条款(Section 508)来约束*网站必须达到一定的易用性,其他国家也有类似的要求。
4. 伪静态:为了防止SQL注入问题,和更好的SEO而使用的技术。就是让通过GET方式访问的页面中如果有查询字符串(?id=1)这样的地址,变成一个独产的文件,而不需要有查询字符串。这样的话让我们在地址栏看到的是一个静态页。相对于生成静态页来说,伪静态并不能解决访问页面打开速度的问题。
四、软件系统简写
1. CMS:是Content Management System的缩写,意为"内容管理系统",它具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。
2. MIS:所谓MIS(管理信息系统——Management Information System)系统 ,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。
3. SNS:全称Social Networking Services,即社会性网络服务,专指旨在帮助人们建立社会性网络的互联网应用服务。也指社会现有已成熟普及的信息载体,如短信SMS服务。SNS的另一种常用解释:全称Social Network Site,即“社交网站”或“社交网”。
4. B2B:B2B(Business To Business),是指一个市场的领域的一种,是企业对企业之间的营销关系。
5. B2C:B2C是英文Business-to-Consumer(商家对客户)的缩写,而其中文简称为“商对客”。
C2C:c2c实际是电子商务的专业用语,是个人与个人之间的电子商务。
6 . ERP:是Enterprise Resource Planning (企业资源计划)简称,是上个世纪90年代美国一家IT公司根据当时计算机信息、IT技术发展及企业对供应链管理的需求,预测在今后信息时代企业管理信息系统的发展趋势和即将发生变革,而提出了这个概念。 一种ERP系统ERP是针对物资资源管理(物流)、人力资源管理(人流)、财务资源管理(财流)、信息资源管理(信息流)集成一体化的企业管理软件。
7. OA :办公自动化,OA是Office Automation的简写,是现代利用电脑进行全自动的办公,目的是提高效率。
8. CRM:(Customer Relationship Management),即客户关系管理。这个概念最初由Gartner Group提出来,而在最近开始在企业电子商务中流行。CRM的主要含义就是通过对客户详细资料的深入分析,来提高客户满意程度,从而提高企业的竞争力的一种手段。
9. FMS:(Financial Management system) 是完全基于新会计准则,完全符合新会计制度的全功能管理系统,及时,准确反应企业经营各环节的真实状况,是现代企业财务管理所要求的, 不仅具有完善的账务处理功能,更重要的是具有管理与控制功能.
10. 网站集群:网站群是指一群能够进行数据共享、呈送的相互关联的网站集合。当今,很多门户网站在建立时,相互独立,采用的是各自不同的技术构架体系,在建立门户网站消除信息孤岛的同时,我们也在不断建立着新的信息孤岛。实现部署在不同服务器上的,相互独立的网站间互联互通,是目前网站群建设的难点,但也是最为迫切需要解决的课题。完全重新架构一个全新的网站群系统的成本很高,也不是一个根本的解决方案。
五、常用工具
1. CVS:是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。
2. SVN:(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
3. VSS:全称为 Visual Source Safe 。作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理,几乎可以适用任何软件项目。源代码版本控制机制是现代软件开发中必不可少的管理机制之一,通常借助版本控制软件即Source Code Management(SCM) systems或者Version Control systems来实现。
4. TFS:(Team Foundation Server )是一个工作流协作的引擎,它允许一个团队使用他们自定义的流程,并使用在项目历史中实时收集起来的一个集中的数据仓库。
六、开发方式
1. AM:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。AM的价值观包括了XP的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。
2. XP:极限编程(Extreme Programming,XP)是一门针对业务和软件开发的规则,它的作用在于将两者的力量集中在共同的、可以达到的目标上。它是以符合客户需要的软件为目标而产生的一种方法论,XP使开发者能够更有效 XP的响应客户的需求变化,哪怕是在软件生命周期的后期。它强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用。极端编程属于轻量级的方法,认为文档、架构不如直接编程来的直接。
3. SCRUM:SCRUM是一种迭代的增量化过程,用于产品开发或工作管理。它是一种可以集合各种开发实践的经验化过程框架。SCRUM中发布产品的重要性高于一切。七、软件测试
1. 黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
2. 白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致