广告位API接口通信错误,查看德得广告获取帮助

电工培训,电工培训班,电工学校-湖南长沙阳光电工培训学校移动版

主页 > 技术文章 > 电脑技术 >

三星手机维修视频教程-分享:企业信息化与软件工程迷思


在IT信息化过程中,软件工程技术持续演化,各个行业都需要IT信息化,信息系统融入基于日常工作中。 在通常软件行业的公司内信息化往往比较健全,而非软件行业的公司做得就相差甚远。 非软件行业公司在这儿,主要指非以软件研发,电子商务互联网为首要赢利的公司与企业。 笔者曾经看到过某个国内上市公司,内部连一个门户Protal都没有。整个公司内部使用QQ做为工作沟通与文件分享工具。一些上千人的国企公司也是如此,大都缺乏信息安全意识,协作平台。又如一个非软件行业公司,自行组建研发团队做信息系统研发。而这种情况下,缺乏熟悉对某个领域专业知识,加之业务部门对业务不精通,研发出来的系统往往流程低效。有些业务流程有问题,居然也不知道,甚至系统中一些业务逻辑错误操作的情况。这也是领导者一个意识的问题,回到根本就是没有深刻理解企业信息化本质,以及未能从全局来规划信息化,各处都是信息孤岛。反思一个非软件行业的公司需要CIO吗?领导信息化意识差,更别谈互联网思维。非软件行业公司信息化如何做得好呢? 大型公司一般会实施ERP,CRM。


在信息系统研发过程中,这本身也是一个软件工程过程。按高层领导的想法想快速做一个系统,而他们认识里面往往只有开发这个过程。对于软件测试,部署,实施完成没有意识。总是在不断催促下开发一个信息系统。到最后,2个月系统开发完成。勉强投入使用,后面发现某个功能点又不能满足需求了。系统中BUG不断出现,没有办法,不断有工程师陷入到系统BUG修复,维护过程中。后续又想继续做新项目时,发现人力资源完全耗在遗留项目维护中了。这样的领导往往不知道,修改程序比开发程序所花费的时间要大得多。接着出现的就是软件系统存在质量问题,测试过程薄弱,发布更新效率低的症状。想实施成熟的CMMI,但企业急功近利的情况下,完全不现实。最后演化为边做边改的开发模式。开发工程师深受其苦,导致各类不标准,不规范的开发过程产生。项目再出现延期的迹象,但决策者不了解Brooks'Law:“往一个已经延误的项目里加人力资源,只能让那个项目更延误”.

如何提高软件系统质量呢?


第一,需求阶段。从软件工程的源头开始,需求是否充分分析,在需求不清楚的情况下,做到敏捷需求开发。很大一部分取决于业务需求分析能力。在系统设计阶段,非软件行业的公司往往缺乏,对系统分析设计深入相对较少。系统没有经过设计就开始进入编码过程,最后没有系统设计任何文字留下来。从来没有说敏捷开发,就不需要系统设计,架构设计。对于大型信息系统,架构设计更是重要。在RUP(Rational Unified Process),统一软件开发过程,RUP最重要的它有三大特点:1)软件开发是一个迭代过程,2)软件开发是由Use Case驱动的,3)软件开发是以架构设计(Architectural Design)为中心的。在今天软件研发过程中,审视我们能否快速的迭代就能发现很多问题,再看是否有Use Case,Use Case是否设计合理,第三是否有系统架构设计,设计是否满足质量属性。


第二,系统设计阶段。分析和设计(Analysis & Design)工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作实现用例的功能。设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。与建筑学类似,如果软件系统没有一个好的架构是不可能成为成功的软件系统的。没有图纸的建筑地、没有设计的造桥工程都是不可以想象的混乱世界。建筑工程如是,软件工程中亦然!架构设计是人们对一个结构内的元素及元素间关系的一种主观映射的产物。架构设计是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。之前写过一些,架构相关的文章,其中有数据库的互联网数据库架构设计思路,对于企业架构涉及有企业架构转型重构与治理,企业IT架构介绍。架构设计中软件架构风格介绍,企业级应用架构模式N-Tier多层架构,软件架构中质量特性。互联网行业的电子商务基础技术架构,互联网电商搜索架构演化之一。我们看到巨头公司的:


文件的横向扩展。以Google的搜索技术为例,文件被分割为多个小块并分别拷贝到多个服务器中。这样搜索可并行地完成,并通过合并各个服务器所给出的结果得到最终的搜索结果。


架构的横向扩展。以Amazon的做法为例,事务会被切分为多个服务,每个服务使用特定服务器实现。当事务存在瓶颈时,可在多个服务器上复制服务,并且每个服务由一个半自治的“双比萨”团队负责。


(责任编辑:admin)
广告位API接口通信错误,查看德得广告获取帮助