常见软件项目开发模式思考

软件工程10-如果你想技术转管理,先来试试管好一个项目 想要技术转型管理,首先从转变思维方式开始,从技术思维到管理思维,从关注细节到关注整体。然后去改变习惯,控制自己想写代码的冲动,多去从其他角度想办法。要管理好一个项目,关键是要管理好项目中的人和事。对客户要管理好期望,对项目成员则通过合理的流程规范更好的一起协作;对于项目中事的管理就是对软件开发过程的管理,选择好开发模型很重要,然后就是制定好计划,按照计划推进,过程中不断的调整,并且管理好项目中的风险。 阅读详情

一、软件项目

在2000左右 程序员还是一种比较罕见的工作,那是的个人台式机还是当时富裕家庭的高级娱乐用品,一开始网络程序员部分前后端,PHP、JSP、ASP这些技术形成了最早的网络程序。BS 系统

简单的设计文档在那时形成,同时诞生了一批技术、团队的外包公司,外包公司比较推崇敏捷开发,单具体操作起来就是一次性开发,根据合同内容,设定好开发目标,利用公司现有的技术架构,快速实现一套系统。

敏捷开发的好处就是短时间内多做项目,多赚钱,对于系统的使用者来说,系统上线之后 开始用着还可以,随着时间的推移,问题暴露的越来越多,导致 系统越来越难用,最后再找一家公司重新开发,往复循环。

或者公司自身成立技术团队,在系统交付之后二次开发,但是一开始设计的时候很少考虑后期扩展,对接收团队的技术、业务能力要求极高,设想一下,一栋建筑,交付之后 给物业做一些日常工作,业主突然有一天要把电梯改成旋转楼梯,还不能影响入驻的客户。

软件项目和我们的生活息息相关,但却是一个年轻的行业,年轻意味着缺少系统性的沉淀,加之软件是虚拟的逻辑整理,没有实体可以感受,一个项目的好坏外行很难看出来,只有实践才能检验。

本文将从开发模式角度入手,分析讨论业务、产品、开发、测试 直接的协作关系,和具体的开发模式的差异。

项目质量的保证,项目的管理心得。

1.1管理离不开技术

软件开发的管理人员一般是产品、开发、测试出身、

产品距离业近,经常和公司管理层打交道,对于业务驱动的公司来说,产品的话语权更高,晋升管理的概率更大,产品出身的管理需要有一个沟通协作良好的开发团队,信任开发给出的技术方案,工时评估,

设想,一个产品提了一份用户头像编辑的功能,技术团队开始确认细节,头像格式的支持、头像图片大小的限制、图片存储方案、头像图片压缩、历史头像存储、头像图片的审核、头像的中文字审核,越是用户多的系统考虑的细节越多,例如头像的文字审核,涉及到OCR、文本处理,这就需要技术强悍的开发人员,设计实现一套可行性方案,考虑产品需求,实现成本、运行成本、维护成本。

需求评估就得需要两天,根据产品确认的需求再确定具体的方案

曾经遇到过产品主管和技术主管沟通不畅,产品找自己信任的开发评估工时的情况。

技术晋升管理走的是技术路线,针对技术部 开发和测试的管理,技术管理主要的协调开发资源,处理跨团队沟通协作,评审团队内部技术方案,不对业务负责。典型如CTO

测试管理,很少遇到,目前测试正在朝着开发测试的方向发展,对测试的技术能力要求越来越高,对比专职开发,测试的技术水平相对浅显,测试 的有事是对于业务很熟练。

开发团队的管理很大程度和领导的个人风格有关系,人都有喜好,很难做到公平公正。

个人认为软件团队的管理主要内容是资源协调,优化开发周期,控制风险,推动困难解决。

对于管理人选 可以根据不同业务场景具体分析,综合分析开发人员最合适,其次是产品

管理需要实践和经验,你的组员突然请假三天怎么办,组员水平低怎么安排,怎么激发组员的工作积极性,这些似乎都没有模板化的方案,
如果一个管理者只是在分配任务,没有担当,不了解项目细节,这个项目很难顺利进行。

二、开发模式

2.1TDD Test-Driven Development

TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。(摘自百度百科)

测试驱动,分广义和狭义,两者都属于敏捷开发的定义范围,
个人不推荐敏捷开发,敏捷意味快速高效,除非是外包公司流水线的开发团队,例如一套人事管理系统已经完成,A 、B 、C 三家公司都需要一套人事管理系统,但是需求细节不完全相同,这时候利用以前的开发团队,和已经有的系统可以实现敏捷开发。

前提条件:对所开发的业务非常熟悉,技术架构成熟。

对于一般规模的管理系统,三五个开发人员 10人以下的团队,没有高并发,高可用的管理系统适用。

互联网公司很少提到敏捷开发,网络服务千头万绪。

回到TDD ,就是以测试为核心,写代码之前先写单元测试,之后写代码,测试用例可以覆盖整个业务,这需要测试对于业务逻辑很熟悉,保证所有测试用例能覆盖所有的业务逻辑情况,不仅仅是happy ending。

测试驱动没有实践过,个人目前的理解 对于业务简单的系统,常见开发模式都可以胜任,业务简单,场景少,只需要重点关注技术架构 ,技术选型。

但对于业务复杂的系统,则不适用,如果测试用例可以覆盖一套业务逻辑复杂的系统,那么整个开发部门测试人员将是比例最高的

开发模式和业务业务复杂度息息相关,单纯的并发高,业界已经有了程序的解决方案,如果并发高加上业务复杂则是对团队能力的挑战。

试想,一个完整的线上会员购买流程,需要 账户、会员、订单、支付、可能还有营销、售后的业务模块整体协作完成,这单元测试怎么写,

如果我们呢把每个模块都写对应的单元测试
, 恐怕测试代码的比例要超过业务逻辑。

单元测试保证基本的代码运行,保证某一段的逻辑正常。

但对于整体 还是需要测试部门手工测试

参考总资料:
https://stackify.com/what-is-test-driven-development/
https://www.guru99.com/test-driven-development.html

What Is Test Driven Development?
ERIC BOERSMAMARCH 23, 2020DEVELOPER TIPS, TRICKS & RESOURCES

When I’m writing new software, one of the most important thoughts in my mind is how I’ll test to make sure it works. There are lots of ways to test software, and when you’re at your best, you should be using all of them. Sure, you should make sure that your QA team is able to verify that your code works before it goes live. You should make sure that the code passes acceptance tests, too. In the best shops, you’ll even have a robust suite of unit tests to ensure that small units of code behave the way that they should.

Lots of times, I’ll write some code, and then write a few tests to make sure that it works. That’s not a bad system. But what would happen if we flipped that process on its head? What if we wrote the tests first, then wrote code that would make the tests pass?

New call-to-action
Test Driven Development: Writing Your Tests Backwards
This method of flipping around how you write your tests is the core idea behind Test Driven Development. Instead of writing your code, you write your tests first. Then, even though you know they won’t pass, you run the tests. You watch them fail?

Why?

Because if your tests fail, you know that you’ve written an effective test. If every test you write only ever passes, that can conceal subtle bugs which make your tests ineffective. I know that I’ve written tests before which always passed. When I ran my tests to ensure my code worked, I was operating under a mistaken sense of security. It turned out that my code didn’t work, but I had no way of telling. My test had never failed, so I had no idea that it wasn’t effectively testing my code. It took until some time later that I realized my error. Sometimes, the bug even made it to production before I noticed.

After you’ve seen your test fail at least once, you write code that makes the test pass. One of the core tenets of Test Driven Development is that you write only enough code to make the test pass.

What Are Some Benefits of Test Driven Development?
In addition to the aforementioned benefits of writing your tests backwards, Test Driven Development provides other benefits. Like we mentioned before, thinking about how you’ll test your code is a key part of building effective software. As a developer, one of your roles is to write software that’s easy to verify. You don’t want to ship code only to find out later that it doesn’t work. Catching defects early saves time and money.

With TDD, thinking about how you’ll test your code is a core part of the code-writing process. You’re writing the tests for your code while you write your code. If you’re an experienced developer, you’ve probably experienced writing a big chunk of code. You’re pretty sure it works, but as you lean back, you have no idea how to guarantee that the code you wrote works the way you expect. With Test Driven Development, that’s never a concern. You’re building your tests right into the process of writing the code itself.

Writing Less Code With Test Driven Development
Another benefit of Test Driven Development is that you write less code. Remember before how we talked about writing just enough code to make the test pass? That’s a key part of the Test Driven Development philosophy. As a developer, your job is to take your feature requests and turn them into testable features. Then, you write the tests for those features and finally the code that satisfies those tests. As we’ve said before, the key is to just write the code that satisfies those requests.

The benefit here is that writing just the code that satisfies the tests means you write fewer bugs. Why? Well, the argument goes, developers are prone to writing more code than they actually need at any given time. I know that I’m guilty of this. I’ll often try to build a more robust, complex solution than the current problem calls for. These robust solutions often lie dormant, because we’re not using all their features. They’ll be useful “someday.” In reality, that code is often never useful. That feature I thought was so important at the time turns out to never be needed. Or, by the time it’s useful, the parameters of that use have changed so that the code needs to be heavily modified before application.

This approach is an extreme variant of the “You Aren’t Gonna Need It” mentality. I know that as a developer, I regularly have to remind myself not to needlessly complicate my work by trying to solve future problems. Effectively adhering to Test Driven Development is a big benefit there.

Test Driven Development Means Easier Refactoring
Another major benefit to Test Driven Development is easier code refactoring. I’ve written enough code in my life to never expect that the work I do is permanent. I fully expect that every piece of code I ever write will be changed by someone down the line. It might be after I’m long gone, but it’ll happen, someday. When that day comes, I want to make it easy for that future teammate (or my future self!) to know how those changes break code that relies on mine. This is another benefit of the TDD philosophy. The tests that I write for my code serve as a form of documentation. It’s also a contract with other parts of the code base. So long as my code continues to pass all the tests I wrote for it, that code behaves the way the rest of the code expects.

So, if someone ever needs to refactor my code, they can do so confidently. The same is true if their refactoring breaks one of the tests. It might be that they need that test to change! It’s OK to refactor things and for those changes to break code. With a broad suite of unit tests, like those proscribed by TDD, you’ll know which behaviors of the code you’re changing. Then, as the person making those changes, it’s up to you to make sure you fix all the places that code is used.

black and silver laptop computer on brown wooden table
Taking Test Driven Development to the Next Level
Test Driven Development is a powerful philosophy. Most developers that follow it truly write better code. But it’s not enough on its own to deliver bug-free software. You’ll need to add more skills to your testing tool belt to deliver the best software that you can.

That’s where a tool like Prefix comes in. Prefix works best in test-driven teams. It runs on your local machine, and works like a web-request profiler. But it’s really powerful: it provides a lot more insight than an average profiler. It’s also really easy to read and understand the data it shows you. This means that if you’re working with one of the languages it supports, like Java and C#, you’ll find more bugs more quickly. You’ll also quickly identify bottlenecks in your code that are killing your performance. Even the best unit tests can’t tell you why or where your code is slow. Using Prefix will give you visibility into your code that you can’t get from tests alone.

Give Test Driven Development a Try
Test Driven Development isn’t for everyone. I’ll be honest: I don’t use it for every piece of code that I write. But I do find the lessons it teaches to be valuable in writing better, clearer, bug-free code. It’s a good idea for every developer to give Test Driven Development a try, for at least a little while in their career. You’ll learn how to build better tests, and how to trust those tests to write better code.

Is today the right day for you to take your first steps into Test Driven Development? I don’t see why not!

2.2BDD

Behavior Driven Development,行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。06年提出。

行为驱动开发 强调全部角色参与,集体思维覆盖系统中所有的行为,BDD定义为敏捷开发的一种,网上也有一种观点BDD 是TDD 的一种变种,
作为开发者,没有实践过BDD的开发模式,其实没有最好的开发模式,只有最适合某种业务的开发模式,世界复杂,业务千变万化,个人认为在选择开发模式的时候,针对具体的业务,其中最重要的影响因素是业务的复杂度,
国内,很多用户认为技术是万能的,有时候甚至提出来拦截用户收到的短信验证码的需求,很少见到有业务为技术让路的场景。

针对行为驱动的开发模式思考:

以一家行业内建材B2B 平台业务举例,业务对接产品、产品对接开发、测试、设计。

整个流程是产品为中心,这就对产品的岗位综合要求最高,但是一个项目或者一个版本上线的时候,考虑的因素纷繁复杂,例如开发排期,针对历史业务的兼容,数据迁移,服务器环境,并发量,是否对接第三方,技术选型等

由于产品针对业务逻辑设计需求,由于平台业务复杂,产品的逻辑相互依赖影响,这就需要一个level 比较高的人能掌握平台的所有业务逻辑,针对不断堆积的业务逻辑进行梳理。

若是采用BDD的模式,全员会针对产品逻辑提出自己的问题,看法,这样产品设计的业务逻辑就很难达成一致,反而不会那么敏捷,

如果场景简单的系统,那么即便是口头沟通也不会有大问题。

参考资料:https://specflow.org/bdd/

2## 标题.3 DDD

领域驱动设计是由 Eric Evans在其开创性著作 Domain Driven Design:

Trckling Complexity in the heart of software 中定义的一种发展理念。

DDD 擅长解决复杂的业务逻辑,这一点业界很少有反对,使用DDD的开发模式,强调业务的规划,管控,往往需要一个精通业务的领域专家,这个角色往往有项目经理或者架构师承担,业务精通则通过和具体业务人员的沟通取得。

DDD 的特点很鲜明,实践起来也也行之有效。

缺点则是 学习曲线高,03年发布之后 后续没有进一步优化,可见业界软件的系统往往不复杂,很多时候使用TDD 或者BDD 都可以实现需求。

DDD 之前应用于大规模的复杂的业务系统,对于简单的系统来说应用DDD

有点成本过高,个人建议,简单系统也可以使用DDD 开发模式,优点是降低开发、业务、测试之间的沟通成本,设计、开发阶段可以预留足够的扩展空间,有助于延长软件系统的寿命。
是的
大部分软件系统都有自己的预期寿命,少则3年 ,多则5年。
根据熵定律 一个系统如果没有新的能力注入 则慢慢会释放能力变回自然状态,自然状态的CPU和沙子没啥区别。

大话软件项目管理之软件开发模式 常用的软件开发模型有哪些? 为什么有这么多的软件开发模型? 它们之间的区别在哪里? 它们分别适合什么类型的项目? 立即下载

相关推荐

深度解析跨境支付之业务架构

详解跨境支付之业务架构

weixin_47493863的博客 1877

软件开发模式

对于一个优秀的软件开发团队来说,有效的管理开发项目,可以增强开发人员之间的协作,节省整个软件项目的开发时间,因此软件开发经理或开发团队在项目启动前,要选择一种最适合手头项目的软件开发模式,使整个团队拥有更好的工作效率,而目前主要的软件开发模式大致可以分为四种,对于软件项目来讲不同的开发模式都有各自的特点,至于哪一种的方法最合适自己,那就要看软件经理如何选择了。一、瀑布发展方法瀑布开发模式一种传统的...

qq_37953949的博客 737

《揭秘 BME688人工智能压力湿度温度气体传感器:气体检测的多面能手》:此文为AI自动生成

BME688 是博世推出的一款具有人工智能和集成高线性度高精度压力、湿度、温度传感器的气体传感器,专为移动和联网应用开发,尺寸紧凑且低功耗。BME688 作为一款先进的传感器,在多个领域展现出卓越的性能。它采用了坚固而紧凑的 3.0 x 3.0 x 0.9 mm³ 封装,这种小巧的尺寸使其能够轻松应用于对空间要求严格的移动设备和联网应用中。同时,低功耗的特性也使得它在能源有限的环境下能够长时间稳定运行。

zheng_ruiguo的专栏 1927

工作流设计:如何设计合理的多人开发模式?

一个企业级项目是由多人合作完成的,不同开发者在本地开发完代码之后,可能提交到同一个代码仓库,同一个开发者也可能同时开发几个功能特性。这种多人合作开发、多功能并行开发的特性如果处理不好,就会带来诸如丢失代码、合错代码、代码冲突等问题。在使用 Git 开发时,有 4 种常用的工作流,也叫开发模式,按演进顺序分为集中式工作流、功能分支工作流、Git Flow 工作流和Forking 工作流。接下来,我会按演进顺序分别介绍这 4 种工作流。这一讲中,我基于 Git 向你介绍了 4 种开发模式,现在跟我回顾一下吧。

爱死亡机器人 816

震坤行:企业 MRO 物料标准化革新之路

那产生这些问题的原因是什么呢?要想解决此问题,企业高层必须下定决心对历史数据进行梳理,并善于利用信息技术,融合企业管理的流程机制,建立起一套适合企业发展的物料标准化管理体系,循序渐进,逐步规避由物料不规范带来的管理问题,最终使得这套标准化体系能够满足企业多元化业务发展需要。国内某电子制造头部企业原先内部物料无对应分类,仅有物料编码,给企业对采购、领料的过程中造成极大的不变,基于震坤行的目录结构,预测物料对应的分类,预测准确率达到80%以上,再辅以人工校正,最终搭建起一套标准的目录体系,如图2.2所示。

carson99的博客 421

【KITTI数据集中Raw_Data数据标定文件中的参数关系解读】

上一节本人将KITTI Odometry数据集中的参数文件进行了解释。本节主要针对一些做融合slam的人,将Raw_Data数据标定文件中的参数按照自己的理解做如下阐述。其中,所讲之处如有错误,欢迎各位批评指正。

weixin_43389152的博客 1526

Scrum 敏捷开发

什么是敏捷开发敏捷开发是一个术语,用于描述迭代软件开发。迭代软件开发通过在短增量完成工作(通常称为冲刺, Sprint)来缩短 DevOps 生命周期。冲刺通常长达一到四周。敏捷开发通常与传统或瀑布式开发形成鲜明对比,后者会提前规划大型项目,并根据计划完成它们。每次冲刺交付生产质量代码都需要敏捷开发团队来加快速度。所有的编码、测试和质量验证都必须在每一次冲刺 (sprint) 中完成。除非团队已正确设置,否则结果可能低于预期。虽然这些失望提供了很好的学习机会,但开始之前,学习一些关键教训会很有帮助。

似水流年的博客 1万+

PCL Fast Global Registration 快速全局配准(源码版)

Fast Global Registration(FGR)是一种经典的点云粗配准算法,已集成到Open3D和CloudCompare等软件中。本文介绍了该算法的源码实现及优化方法,包括如何通过修改源码直接读取点云进行配准,而不依赖文件中读取特征描述子。文章还提供了关键参数设置(如最大迭代次数、匹配距离等)。算法实现简单高效,未来计划发布基于纯PCL的版本。源码和论文链接已附上,供开发者参考。

点云侠的博客 382

软件开发的11种模式

软件开发的11种模式 1,边做边改模型(Build-and-Fix-Model) 在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户和测试等等满意为止。 这是一种类似作坊的开发方式,边做边改模型的优点毫无疑问就是前期出成效快。 对编写逻辑不需要太严谨的小程序来说还可以对付得过去,但这种方法对

xianshengsun的博客 8491

【数据集处理】中国地面气候资料日值数据集(V3.0)(含MATLAB全代码)

简介数据集数据处理

WW、forever的博客 1万+

mapbox进阶,dem数据转为等高面,加载转换后的等高面到地图

本文详细介绍如何基于mapbox-gl v3.*.* 版本,使用dem数据转为等高面,加载转换后的等高面到地图,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 406

架构师集合之23种开发模式详解(代码举例,相似模式分析异同)

java 23种开发模式详解 Java 23种开发模式代码 java 23种开发模式异同

小明程序猿 1787

《手把手教你修复过期K8s集群证书:记一次K8s集群起死回生实录》

今天本想打开半年前部署的K8s测试集群跑个Demo,结果`kubectl`直接报错`certificate has expired`!作为一名云原生老司机,我决定把这次'抢救'过程记录下来,手把手带大家解决这个运维常见问题。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 3777

瀑布开发模式和敏捷开发模式的区别和思考

瀑布开发模式: 瀑布开发模式有以下显著的特点: 1.严格把软件项目的开发分隔成各个开发阶段:需求分析,要件定义,基本设计,详细设计,编码,单体测试,结合测试,系统测试等。 使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。 2.重视和强调过程文档,在开发的中后期才会看到软件原型,早起只能通过文档来了解系统的模样。 在这种情况下,文档的重

vessalasd1的博客 4万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

两种开发模式的区别和思考

💻 你使用的是哪个模式

日常开发分享 1059

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

软件开发人员从0到1实现物联网项目:项目架构的思考

因为种种原因,《软件开发人员从0到1实现物联网项目》这个项目的进度停滞了将近一个月。鉴于该项目的前期开发和后期的维护就我一人,为避免开发效率低下和后期维护中的潜在问题。我针对项目架构进行了初步的思考,从开发模式到后期维护进行了全面的梳理。基于这些思考,最后整理出了一份简单的技术架构图。有什么不足之处还请各位大佬不吝赐教,欢迎提出宝贵的意见和建议。

二蛋的博客 1387

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

关于软件项目开发的思考

写在前面: 在说之前,先想想,在做之前,先想想。关于软件项目开发和管理。 1.增量式开发和时刻运行时系统 人月神话的作者,IBM系统之父比较推崇这种开发模式。主要是因为他的可维护性和可拓展性。 增量式开发是指在每个开发阶段,都有一个运行时系统。第一阶段开发的系统只具备最基础的功能,并且...

chizuanduo9634的博客 254

有感而发:从Supercell的开发模式浅谈AI安防项目的落地

最近看完了一本书,书里介绍了国外一家叫做Supercell的游戏开发公司的开发模式,关于里面提到的等词汇,再结合最近几年作为产品经理,陆陆续续做了不少安防项目后,不由地深受触动。

m0_46702066的博客 1111

关于软件公司开发模式的思考

做了多年j2ee方向软件产品研发,看着周围的同事换了一拨又一拨,于是忍不住反思:对于软件公司来说最最重要的莫过于人,而人员变动无论是对于产品还是项目损伤都很大,为什么仍然不能引起公司领导的高度关注呢?          不可否认每个人都有每个人需要面对的现实情况,例如需要回家娶妻生子,等等诸多原因。而只要细细想法挖掘我们就不难发现问题的根源出现在随着房租物价等生活成本的逐渐上升,而薪资却总是迟迟

HouYing 1758

2025年,能靠项目制活下来的软件公司已经不多了

举个例子吧,有的软件公司做了一个业务管理平台,功能堆满了十几个子系统,UI也花了不少钱做了动效和响应式,但数据模型是分裂的:客户系统用一套用户体系,项目系统又自己搞了一套工时规则,报表逻辑全写在页面逻辑里,写死字段,全靠文档标注区分。但你要小心,这种“低代码表象”背后,很多平台只是把“定制的活”推给了客户,让客户自己拼,拼完再来找你调BUG,改字段,补联动,最后又回到了你团队反复改需求的日常。模型你来想、结构你来抽象、流程你来拼凑,复用靠导出 JSON,交付靠导入 ZIP,一旦跨项目、跨团队,就变成灾难。

2404_87446307的博客 1342

开发模式的思考

对近几年来软件开发模式的思考,欢迎各位高手多提宝贵意见。按照软件的应用层次,底层为通用平台(包括用户、权限、日志、工作流等),此平台在任何行业都适用,然后在此平台的基础上可针对不同的行业开发出特定性的组件,打包形成各种应用产品,然后提供相应的配置工具及二次开发工具,可供实施人员不用编程就可快速对客户的个性化需求进行开发,提高客户响应度及满意度,同时在此过程中进...

139

开发模式的思考 (转)

对近几年来软件开发模式的思考,欢迎各位高手多提宝贵意见。    按照软件的应用层次,底层为通用平台(包括用户、权限、日志、工作流等),此平台在任何行业都适用,然后在此平台的基础上可针对不同的行业开发出特定性的组件,打包形成各种应用产品,然后提供相应的配置工具及二次开发工具,可供实施人员不用编程就可快速对客户的个性化需求进行开发,提高客户响应度及满意度,同时在此过程中进一步收集客户的建议,对行业组件

ulark的专栏 429

我看软件开发中的误区--思考一

 强调代码规范。还记得几年前,每次谈及软件规范,就是那些厚厚的代码规范文档,变量怎么命名,语句怎么写,括号怎么写。。。,同期有本很畅销的书《C++高质量变成指南》也被奉为经典。在同样追逐了一段时间后,发现这些规范并为对软件的质量起到根本的作用,反而在开发时被这些因素所耽误。类似这样的工作完全可以由Netbeans、Eclipse 之类的开发工具自动完成,如用得最多得代码刷japloy(

jTeam的专栏 1945

开源软件:技术创新与应用的推动力量

随着信息技术的飞速发展,开源软件已经获得了广泛的认可和应用。它的诸多优势,如低成本、可协作性和透明度,正不断地推动着软件开发行业的变革和创新。然而,随之而来的是一系列的挑战和问题,如安全风险和维护困难。因此,我们必须认真思考如何更好地利用开源软件,充分发挥它的优势,同时有效地应对潜在的风险。本文将探讨开源软件的影响力,以及如何在使用开源软件时取得最佳效益。在充满活力的技术领域,创新是至高无上的,有一种方法已获得显著的吸引力——开源软件。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 2万+
上一篇: 精通Redis 1 - Redis概览 和基础数据结构
下一篇: Mysql 使用UUID 作为主键的分析
hamish-wu
博客等级 码龄15年 2814粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值