热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

直面当代软件开发之中存在的诸多问题

直面当代软件开发之中存在的诸多问题--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
我们先来看看软件开发过程中的两个典型场景、这些场景在每个项目中都有可能会遇到,它们比较客观的反映了国内很多软件公司项目开发过程的实际情况。

场景一:一个项目组刚刚接了一个比较大的项目,项目的需求很明确,客户对功能的细节也不是很挑剔,只是对性能要求比较高,整个系统要能承受非常大的用户量,对系统的响应速度要求也很高,项目经理感觉这个项目没有什么大问题,一切都按照计划进行,可是最终部署到用户的服务器上时,整个程序的效率很低,由于公司在这方面没有什么技术积累,虽然以后修改了多次,性能仍然达不到要求。

场景二:某个大型电子政务系统年底需要生成大量的报表,可是报表系统突然出现了故障无法使用,这个报表系统是由一个老程序员编写的,可是此时他已经离开了这家公司,也没留下什么文档,别的开发人员根本无法维护这个报表系统,由于时间紧迫项目经理只好决定让开发人员手工编写了所有报表,浪费了大量的人力物力。

软件开发面临的主要问题

前面的场景显示了国内一些软件公司存在着规模小、技术力量薄弱、管理薄弱、设计人员缺乏等问题,除此以外,我们认为还有以下一些问题严重的制约着管理软件的进一步发展:

产品开发技术路线的选择比较随意,很难适应未来产品的发展的需要,软件不能进行无缝的升级。产品和项目界限不分明,通用性、定制性比较差。产品缺乏良好的结构设计,代码难以维护。

产品的质量很难保证,很多软件产品是从一个项目过渡来的,品对安全性、性能、部署环境往往考虑不够。

产品开发对开发人员的要求比较高、人员的流动对开发的进度影响很大。在很多公司中开发人员没有独立的分工,每个人都负担着一个模块的需求、设计、实现,很多开发人员甚至需要负担一定的美工工作,产品的测试也不是很细致,开发人员负担角色过多的后果就是每部分的工作都很难做得十分到位。

设计能力不足,很多项目经理和开发人员对设计重视不够,为了赶工期,很多项目的设计过程过于简单,有的甚至根本没有设计过程。

项目经理的管理能力不足,没有及时把握进度项目经理自己也不知道项目的状态,下属人员报喜不报忧,害怕报告问题后给自己添麻烦。进度管理必须随时收集有关项目管理的数据,开发人员总是担心管理工作会增加自己的工作量,不愿配合。管理人员甚至不知道应该收集哪些数据。

6、开发计划不充分,没有良好的开发计划和开发目标,项目的成功就无从谈起。

7、找不到软件工程或者项目管理的方法能够大幅度提高应用软件的开发效率,开发周期长、开发费用高,实施费用超支和工期延长,已经司空见惯。更加可怕的是,随着企业的环境和需求的不断变化,“建成即成闲置”,形成软件工程的灾难。

业务基础软件平台

软件开发的问题是由多方面原因造成的,有市场的原因、有公司管理水平的原因,也有技术的原因。目前基于业务基础软件平台的开发方式是解决这些问题的一个比较好的解决办法。业务基础软件平台是一种技术创新,它使软件平台又多了一个层次,并将应用软件的业务逻辑和开发技术分开,使得应用软件的开发者可以仅仅关注应用软件的业务过程,而不必关注其技术的实现。这使管理与业务人员参与应用软件的开发成为可能。

业务基础软件平台包括集成应用平台、开发体系两个部分。从技术角度分析,业务基础软件平台为复杂应用软件系统的开发提供了一个基本框架,并有与之相应的、方便易用的开发与维护管理工具。这个框架给出了一些复杂应用软件的基本组成部分和实现方法,并且预置了很多供参考的软件模块。有了这样的准备,在业务基础软件平台之上开发管理软件就可以降低复杂性,省去很多基础性的研发工作,从而大大缩短研发周期,提高研发效率。

具体来说,业务基础软件平台能满足复杂应用软件系统开发的如下要求:首先是速度要求。通过业务基础软件平台提供的基本框架,以及预置好的模块,软件提供商能很快地研制出用户所需要的复杂应用软件系统。其次是灵活性要求。通过业务基础软件平台提供的开发与管理工具,软件提供商能很方便地满足用户个性化的需求,以及用户在发展过程中各种各样变化的需求。再者是集成性要求。业务基础软件平台为复杂应用软件系统提供了一个集成框架,不仅为集成同一平台上的各种不同软件提供了规则,还为集成其他应用软件系统提供了思路。

ezFramework一个佳例

ezFramework是一套面向中小项目的基于J2EE整体解决方案,是面向电子政务、电信、税务、社保、金融等领域的业务基础软件平台,它把开发项目过程中经常遇到的问题进行总结,通过平台的形式来解决这些问题。使用ezFramework可以让开发人员把精力更多的集中于业务,而不是技术本身,所有的技术问题和通用模块都由ezFramework框架来处理。

ezFramework有一整套开发J2EE表现层的界面库,这一点和AWT、SWING是一样的,所不同的是ezFramework是面向BS结构的J2EE表现层的界面库,而AWT和SWING是面向桌面程序的界面库。ezFramework的客户端不需要安装任何运行环境,只需要有一个标准的Internet浏览器就可以了,ezFramework运行在服务器端,能够自动的生成界面需要的html代码。基于ezFramework开发应用软件可以降低软件开发的成本,由于有了界面库,我们只需要把我们要显示的界面描述清楚,框架可以按照我们的要求生成各种风格的界面,而不再需要美工和程序员反复的修改程序。

ezFramework框架的表现层是这个产品的一大特色,除了表现层外,这个框架还包括业务层管理和持久层管理以及一些通用的模块如用户管理、服务管理、认证与授权等等。ezFramework是一个整体解决方案,但是ezFramework不强迫用户必须使用ezFramework的每个部分,用户可以根据自己的需要自由的选择自己需要的模块。

ezFramework系统运行

基于ezFramework开发不仅能够快速优质的完成项目,同时也有利于我们的标准化和业务积累,各个项目的模块互相都可以使用,同时随着ezFramework的不断升级,软件的质量也可以不断得到提升。

综上所述,通过业务基础软件平台的方式来进行软件的开发是一种有效解决目前开发软件技术瓶颈的好办法。ezFramework已经成为清华同方的开发框架标准,形成了以ezFramework为基础的一系列技术和行业套件,开发一个应用可以从已有的构件库中选择已有的构件,而不必从头到尾进行开发,最大程度实现了组件的重用。
推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
author-avatar
手机用户2602883105
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有