浅析软件开发的3个层次

news/2025/2/19 13:54:06/

一、编程语言和框架

经常听到这样的说法,学习编程担心最后都变成了编码工人,学习C#担心C# 只是能做个网站,不想一辈子编码,在简历中写精通.NET,熟练各种框架等等。编程语言和框架只是我们我们编程的基础,属于第一个层次的生产工具。

语言就是把我们的想法让计算机理解,让计算机按照我们的想法完成一些功能,具体功能如何实现还是需要我们告诉的,实际上还是我们的解决方案。可能就是我们所说的编程思想和业务领域的解决方案吧。另外一种语言是要解决很多领域的问题的,尤其是C#、C、C++这些语言,因为要解决很多问题,所以他的语法、类库可能会很多,而在开发你的某个系统的时候可能仅仅用到其中的很少一部分,另外可能不如一些专门的语言解决的好。

框架是为工程提供一些公用的功能或者模块,本身并没有简化应用的复杂性,反而是增加了应用的复杂性,只是大部分的复杂工作由系统完成了,留给开发人员的内容可能不复杂了。这些框架通常都是在解决了很多同类的问题之后提出的,并不是适合所有情况。我们要用某个框架的时候,我们的思路必须和她一致,受框架的约束,而在完成一些简单应用并且后期发生变化很小的时候没有必要使用框架,可能最简单的解决方案就是最好的。另外当项目中的功能比较复杂的时候,框架并不能帮上忙,有时候还会帮倒忙,因为框架提供的毕竟是最常用的通用的功能,不一定能够满足我们特定的要求。

语言是工具,在开发的时候应该选择一个好工具,但是最重要的是你要有解决问题的思路,你要能够灵活运行语言这个工具来表示的你的思想。框架能够提供在多数时候能提高效率,但是仍然要选择好框架,更重要的时候你要有组织项目的能力,这个能力应该是完成很多实际项目之后才能有的。如果只是停留于这一个层次,你就会纠结于.net /c#版本。举个例子,同样是使用.net下的web开发,有asp.net mvc,asp.net webform, nancyfx 等等,大部分的人还在纠结于用那个框架。

二、软件工程

在这里谈谈以面向对象为指导思想的软件工程。面向对的软件工程采用用例来捕获需求,采用OOA来进行系统分析,采用OOD来进行系统设计,采用面向对象的语言进行开发。OOA的过程中,要懂得使用分析模式,而OOD的过程中要懂的设计模式。在不断的项目经验积累中灵活的运用这些知识,最终达到运用自如的境界。在工作中见过不少人拿着面向对象的语言却是在使用着面向过程的编程,很多会使用c# 语言的同仁都在做着这样的事情。

三、项目管理

项目管理的好坏在很大程度上左右的项目的成功与否。没有很好的项目管理,会导致项目出现很多状况,下面举几个例子:

1、沟通不足:程序员的沟通能力普遍偏低。在自己老板和客户的双重压力下,很多必要的沟通都不能及时进行,以至于在项目进行中总是出现各种不愉快的事情。

2、责任不明确:当项目出现延期或其他状况时,应该由谁负责呢?这是个十分重要的问题。但项目管理没有做好的话,责任就变得模糊不清。例如测试问题,用户只期盼结果,但殊不知这个结果必须由他们仔细验收才行。在沟通不足的情况下,如果不能很好的要求用户配合测试,结果可想而知。程序员催着用户赶快测试,而用户却推脱没有时间的情况比比皆是。

3、进度难以控制:面对需求的不断变更,程序员的懒惰,技术难题甚至各种人员的离职,你是否已经做好了各种应对准备?如果没有很好的进度管理,这些都会使你手忙脚乱,痛苦不堪。最重要的是,最终无法达成交期,造成项目失败。

一名程序员只有从掌握编程语言做起,一步一个脚印才能做到项目经理这个位置。我的理解,经理以行政手段管理项目经理,项目经理以项目管理的手段管理项目(包括项目团队成员),分析师与架构师用软件工程的方法进行分析与设计,程序师用健壮优秀的语言并按照设计文档编写代码。这构成一个项目开发的层次关系。


http://www.ppmy.cn/news/344986.html

相关文章

软件测试-基础

目录 软件测试的生命周期 如何描述bug 定义bug的级别 bug的生命周期 如何发现更多的bug 软件测试的生命周期 软件测试的生命周期包括: 需求分析->测试计划->测试设计,测试开发->测试执行->测试评估 需求分析:测试人员了解需求,分析需求是否完整,是否正确合…

C++的模板特例化template<>

C的模板特例化是指当我们定义了一个通用的模板类或模板函数时,如果特定输入参数类型或值需要进行不同的处理,我们可以为这些特定情况提供单独的实现,这就是模板特例化。下面我们将详细介绍C的模板特例化。 假设我们有以下的一个模板类&#…

CSDN论坛

大家好我是刚玩论坛的菜鸟谢谢大家照顾

[互联/数码] 分享对于论坛经营和传播的观念,牛逼的论坛就这么来的

 对版块的经营观念   有版主认为要想留住会员必需得有吸引力的帖子,在论坛兴建的初期拼命写,到别的网站找一些精彩的帖子转来,事实上这样是错误的,逛论坛的目的无非是:1.发表自己的看法&…

技术论坛

技术论坛: https://dream4ever.org/index.php? https://bbs.et8.net/bbs/index.php? 综艺论坛: http://bbs2.icefish.org/ http://bt.icefish.org/ http://zy.ydy.com/bbs/ 全球网络杂志 http://www.nmag.cn/ 香港論壇 P2PZone-Forum - 大陸用戶專用 h…

uniapp uview2.0 其中u--textarea组件无法换行,换行无效问题解决方案

最终发现是因为默认值的问题,uniapp和uview的官方文档写的confirmType的默认值都是done,但是uniapp的textarea在没有配置的情况下是没有值的,uview给加了一个默认值done,就出现了无法返回的问题,尝试了将uview的textar…

论坛集

000013 001 http://people.sina.com.cn/forum.html新浪网论坛 000015 002 http://club.sohu.com/搜狐社区 000020 003 http://bj.163.com/网易北京社区 000043 004 http://bbs.tom.com/bbs.phpTOM海云天论坛 000143 005 http://bbs.china.com/中华网论坛 000151 006 http:…

技术社区、相关论坛推荐汇总(持续更新)

硬件: 树莓派实验室 https://shumeipai.nxez.com/ 主要以基于树莓派的一些开发实例为主 电子发烧友论坛 http://bbs.elecfans.com/ Github代码托管 https://github.com/ 开源代码库以及版本控制平台。随着越来越多的应用程序转移到了云上,Githu…