从Java谈软件开发的流程

AI大模型重塑软件开发流程及如何提高开发效率 AI大模型(如GPT-4、Code Llama、Claude等)正在深度重构软件开发的各个环节,从需求分析到部署维护,其影响已超越传统工具范畴,形成"AI+开发"的协同进化模式。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 经过近十年的发展,说Java是地球上最受欢迎的程序开发语言一点也不为过。Java赋予开发人员高度的选择自由,展现「Java Everywhere」的魅力与成效你我的生活周遭已处处可见Java; 到火星上走走、eBay大采购、网络银行转帐、拿着健保卡到医院看病、无聊时把玩手机上的Java游戏…。 在生活中,你通常只知道「喔!原来这网站是用Java写的」、「喔!原来这是手机的Java Game」。若自技术层次拆解,Java Technology可简单区分为Java 程序语言(language)与Java 平台(platform)。 Java 程序语言所指是撰写程序所需的语法与词汇,像学习中、英文,有一套基本的单字与语法,只要利用单字组出符合语法的句子,这就是Java程序的基础。 至于Java 平台,如大家熟知的,Java共分三大平台:J2ME、J2SE和J2EE,分别专精于嵌入式行动平台、标准平台和企业应用平台,除了共同的类别函式库(API)之外,每个平台也有其特定的API,供程序设计师们开发使用。 随着开发工具陆续推出,降低了Java开发技术门坎,要写出正确无误的Java程序不是太难的事情,但论及系统性的Java软件开发,那可就不是一件轻松事。 开发大型项目有三项非常重要的因素,将会影响整个项目的进度与质量,分别是人(people)、流程(process)与技术(technology)。 这三个要素是环环相扣的,任何一项要素的成败都会影响另外两个要素,而每个要素也都足以影响一个项目的成败。 如何取得这三者的平衡,并将每个要素充份的发挥,取决于管理者的经验,与相关开发人员的素质,这不是一项简单容易的任务,但有好的方法可以完成。 Java弹性多选择资源丰富任君挑选 「技术」应该是最容易掌握的部份,因为你选择了Java。如前所述,全世界已有许多Java资源可以选择。某些人可能会认为Java技术门坎高,考虑训练成本而决定导入较为简易的程序语言,如VB.Net,或是不敢转换到Java平台。 事实上,真正困难的不是Java程序语言或是API的使用,而是整个对象导向程序设计的概念。C#也标榜与Java有着类似的对象导向架构,除执行平台不同、API的名称不同,本质与Java可以算是孪生兄妹,怎么没听有人抱怨C#很难学? 既然Java、.Net门坎是一样的,那该如何选择?答案是,你喜欢谁就选谁。只是当你决定投靠其中一个阵营时,不妨想想一件事:「在这个平台上,我是不是有选择的空间与自由?」 Java是一开放的技术、平台,可执行于各类作业平台,还有各式各样的开发工具、API套件与执行环境,包括商业、免费、开放源码等丰富资源任君挑选。 流程关乎项目预算与时间控制 「程序」指的是软件开发流程或是项目流程,定义流程的目的是要掌控所有的情况。项目的最大敌人是时间及预算,这两者都是有限的,如何在有限预算内准时完成项目,可说是一项艺术。 幸运的是,时间和预算都是可控制的,并不是指我们可以控制时间快慢或长短,而是如何明确知道哪一个时间点,需要何种产出物,而我们有多少的预算可以完成。为有效控制,我们需要一个标准的流程,只要照着规矩走,一切都好办。 RUP(Rational Unified Process)就是一种业界常用的不成文规矩,在多数软件项目中几乎都会使用的一项语言、方法与工具。 RUP的精神在于反复(iterative)与渐近的(incremental)。 在渐进式的开发过程中,透过不断的提炼(refine),可趁早发现问题且找出解决方法,也确保每一工作项目的进度。不过,在架构(Architecture)方面,RUP确实着墨较少,而架构优劣也是足以影响软件系统成败的关键因素。 QoS(Quality of Service)或是SLR(Service Level Requirement),我想是每个系统最基本的要求,它包含可用性(Availability)、可管理(Manageability)、可信赖(Reliability)、可扩充(Scalability)和安全性(Security)等条件。 当系统架构进行规划时,就应同步考虑这几项条件。举例而言,先前某家外商银行因系统设计不良而导致外人可轻易猜出参数设定的方式,直接入侵系统窃取消费者隐私数据; 也有某家电信业者为没考虑系统的负载量,而导致在耶诞、跨年等重要节日时,涌入大量简讯的尖峰时期造成服务塞车、系统当机。 在电视新闻中,我们常常可见类似的新闻报导,而背后隐藏的意义是,「当初没做好系统架构规划」,看得不够远、想得不够深,等系统开发到一半,或是系统上线后才发现问题,此时再东补西补,为时已晚。 虽说不同的程序技术皆有其满足QoS的方法,相较之下,Java对上述五大项功能的支持应该算是最为丰富。如在J2EE的设计模式(Design Pattern)中,几乎都是为解决此几项问题而设计,之后再配合程序语言本身的强固性,开发而成的企业级应用系统,我想应可满足客户对于QoS的严格要求。 话说回头,企业一旦使用Java开发一套系统,就一定会是百分百稳定且满足QoS吗?我想,设计模式跟程序语言无关,将J2EE 设计模式作为C#实作的架构,也未尝不可,只要能建构出相同安全稳定的环境执行该系统,都是可行的。就像会说国语,未必可写出漂亮的文章一样,训练、经验再加上一点天份才是最重要的。 专业技术认证可供参考 「人」是项目中最难预料与掌控的一项要素。人可分成两部份,一是客户,二是研发人员。客户是最难掌握的,不同的客户有不同的个性,没有任何人能教导你,如何应付不同的客户,除了靠运气,还要靠经验。 暂不谈客户,先看研发人员这部分。我想,要满足技术与流程两项因素,关键都是人。如何选择对且合适的技术,要有专业人才; 如何有效管理流程?如何规划满足AMRSS五项需求的系统架构?这都是需要有经验的管理人才及架构师(architect)。当然,能不能写出漂亮且可完善运作的程序代码,也是需要有一定水平的研发人员。 开发程序人员的水平是较容易被认证。Java有几项专业认证,如SCJP、SCJD、SCWCD,都可用以鉴定开发人员基本的功力。另有SCEA、 SCBCD等认证可评鉴程序架构人员的素质。除专业训练之外,经验也是一位优秀的架构师所应具备的条件,而程序部份其实也有认证,如PMP。 也许你会觉得Java很八股,写程序为什么需要一大堆文件、设计模式、程序与方法论(methodology),边写边设计,且战且走不行吗?对于小型系统,或是没有营运压力系统而言,是可以的。如果是人力不足、预算有限、结案期限已在眼前,当然也该直接动工。 但依我接触过案子经验的深刻体验,宁愿花费较长时间与心力,在项目初期就先详细规划,才可节省后期开发的时间,系统上线后也更容易维护与扩充。虽然耕耘过程会较辛苦,但所得好处也会是倍增的
Java编程与软件开发流程初探-FSDDay1 本文还有配套的精品资源,点击获取 简介:在"FSDDay1"这个IT工作坊或课程中,初学者将接触到Java编程基础和软件开发流程的关键概念。通过Java编程语言的学习,参与者将理解变量、数据类型、控制结构、类和对象等基础语法。同时,课程也会涉及面向对象编程的核心概念及特性,例如封装、继承和多态。软件开发流程将包括需求分析、设计、编码、测试和维护等阶段,以及版本控制系统的使用... 阅读详情

相关推荐

Java软件开发流程

应该是最容易掌握的部份,因为你选择了Java。如前所述,全世界已有许多Java资源可以选择。某些人可能会认为Java技术门坎高,考虑训练成本而决定导入较为简易的程序语言,如VB.Net,或是不敢转换到Java平台。 事实上,真正困难的不是Java程序语言或是API的使用,而是整个对象导向程序设计的概念。C#也标榜与Java有着类似的对象导向架构,除执行平台不同、API的名称不同,本质与Java可以算是孪生兄妹,怎么没听有人抱怨C#很难学? 既然Java、.Net门坎是一样的,那该如何选择?答案是,你喜欢谁就选谁。只是当你决定投靠其中一个阵营时,不妨想想一件事:「在这个平台上,我是不是有选择的空间与自由?」 Java是一开放的技术、平台,可执行于各类作业平台,还有各式各样的开发工具、API套件与执行环境,包括商业、免费、开放源码等丰富资源任君挑选。

【Java后端】一个软件的详细开发流程

本文旨在为读者提供一个全面的软件开发概览,从软件开发的流程到技术栈的介绍,我们将一步步深入探讨。

weixin_64178283的博客 6279

Java开发流程(流程图)

Java开发流程 Java开发流程 Java开发流程 Java开发流程 Java开发流程

Java -- 软件开发整体流程;项目环境dev,test,staging,prod

软件应用开发的经典模型有这样几个环境:开发环境(development)、集成环境(integration)、测试环境(testing)、QA验证,模拟环境(staging)、生产环境(production)。通常一个web项目都需要一个staging环境,一来给客户做演示,二来可以作为production server的一个“预演”,正式发布新功能前能及早发现问题(特别是gem的依赖问题,环境问题等)开发环境是程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告。

MinggeQingchun的博客 4788

java软件项目开发流程

java软件 项目开发流程

Java软件开发流程图Visio 2013.vsdx

Java软件开发流程图Visio 2013.vsdx 文档管理软件、自动化打包软件、禅道、svn、maven等都在流程里面有规划

Java项目开发全流程实践

具体选择什么样的设计模式,需要根据程序(系统)所处的环境、技术、资源来决定,例如:一个程序(系统)在交付日期已经确定,项目进度紧张,而技术和人力资源又出现问题的情况下,应以设计实用性、编程效率方面考虑,反之则应从可维护性和扩展性上考虑。算式计算用例包含5个子用例,其中用例、用例、用例和使用者有交互行为,用例和用例为内部用例,由用例调用并使用,用例扫描算式,如果发现算式错误,由算式求解返回错误给使用者。

weixin_53791735的博客 530

java开发流程

从开发环境到数据库配置以及代码格式,开发环境有截图与描述 代码部分有包的格式

一个项目的开发过程及成员组成

根据做项目的经验,现初步拟了一个项目开发过程及成员组成。还请各位多多指教。项目过程1、项目启动  1)、项目组成立(公司成员、客户成员)  2)、制定项目预期目标  3)、制定项目计划周期  4)、建立好项目组成员沟通机制2、需求调研  1)、创建调研计划、协调调研时间  2)、收集客户资料,获取客户需求  所有的资料都需要保留一份,资料中存疑的需要及时询问  3)、编写需求

记事本 3559

Altium Designer 18 将Gerber文件逆向转换成PCB(详细记录)

自己看了网上的教程,弄了很久,估计还有不足的地方,但是先把思路理一理(初学AD) 同时遇到了许多问题: 不是AD导出的Gerber估计不能自动识别层 要自己设置层顺序 要有钻孔文件数据制作NC工具(我也不懂是怎么说,就是size尺寸的) 这里记录一下,以防忘记。 正常顺序: 1.新建CAM 2.导入Gerber,选择CAM文件夹下的所有文件导入 3.设置层属性和物理顺序 4.设置NC工具 5.提取网络表 ...

lb_monkey的博客 1万+

别再手动配网了!用安信可PB-02模组+PHY Mesh App,5分钟搞定蓝牙Mesh智能灯群控

本文详细介绍了如何使用安信可PB-02模组和PHY Mesh App快速搭建蓝牙Mesh智能灯群控系统。通过5分钟的硬件连接和固件烧录,用户可实现多灯分组控制、场景切换及地理围栏等高级功能,显著提升智能家居部署效率。方案特别适合需要快速实现灯光群控的场景。

weixin_28675839的博客 420

从Java谈软件开发流程

从Java谈软件开发流程    经过近十年的发展,说Java是地球上最受欢迎的程序开发语言一点也不为过。Java赋予开发人员高度的选择自由,展现「Java Everywhere」的魅力与成效。你我的生活周遭已处处可见Java;到火星上走走、eBay大采购、网络银行转帐、拿着健保卡到医院看病、无聊时把玩手机上的Java游戏…。在生活中,你通常只知道「喔!原来这网站是用Java写的」、「喔!原来这

Jason Wong's J2EE blog 1168

微信小程序 - 解决web-view嵌套H5网页白屏问题,将h5网页嵌套在webview页面出现无法加载一片空白,详解微信小程序<web-view>页面跳转出现白屏情况(无论本地还是线上H5都能解决)

微信小程序解决web-view打开网页在手机上出现白屏的问题,小程序web-view嵌套H5项目白屏问题分析及解决,使用web-view组件加载H5网页链接后白屏情况,小程序嵌套的h5网页中跳转页面时也有可能出现白屏问题,嵌套webview页面时,出现白屏,WebView 加载不出网页,微信小程序<web-view>页面跳转出现白屏解决方法,解决WebView白屏空白,H5内嵌第三方小程序打开白屏,微信小程序嵌入h5页面加载空白,微信小程序web-view跳转h5白屏,解决微信小程序web-view打开网页

🏆 前端领域优质创作者 1万+

[转]从Java谈软件开发流程

  转自:http://java.youkuaiyun.com/page/9f79369d-9855-48a5-a969-e7ea1615bf8b  经过近十年的发展,说Java是地球上最受欢迎的程序开发语言一点也不为过。Java赋予开发人员高度的选择自由,展现「Java Everywhere」的魅力与成效  你我的生活周遭已处处可见Java; 到火星上走走、eBay大采购、网络银行转帐、拿着健保卡到医院

阿文(alvin)的专栏 1178

数字滤波器应用介绍

线性滤波器FIR ,会引起恒定延迟,通过补零的方式补偿非线性滤波器IIR,会引起频率相关的延迟,通过零相位延迟filtfilt补偿从信号中去除不需要的频谱时,通过滤波和补偿实现。如果需要去除的频率与采样率相差甚远,比如4kHz 与100Hz, 可通过 低通滤波->补偿->降采样–> 滤波 补偿 -->上采样还原的方法。*降采样前一定要先低通滤波为了防止混叠。

weixin_39107270的博客 275

论文翻译:2024 High-Confidence Computing A survey on large language model (LLM) security and privacy: The

大型语言模型(LLMs),如ChatGPT和Bard,已经彻底改变了自然语言理解和生成。它们具有深度语言理解能力、类似人类的文本生成能力、上下文意识和强大的问题解决技能,使它们在各个领域(例如搜索引擎、客户支持、翻译)中变得不可或缺。同时,LLMs也在安全领域获得了关注,揭示了安全漏洞并展示了它们在安全相关任务中的潜力。本文探讨了LLMs与安全性和隐私的交集。具体来说,我们研究了LLMs如何积极影响安全性和隐私,与它们使用相关的潜在风险和威胁,以及LLMs内部的固有漏洞。

CSPhD-winston的博客 1722

从Java谈软件开发流程[转]

  经过近十年的发展,说Java是地球上最受欢迎的程序开发语言一点也不为过。Java赋予开发人员高度的选择自由,展现「Java Everywhere」的魅力与成效。你我的生活周遭已处处可见Java;到火星上走走、eBay大采购、网络银行转帐、拿着健保卡到医院看病、无聊时把玩手机上的Java游戏…。   在生活中,你通常只知道「喔!原来这网站是用Java写的」、「喔!原来这是手机的Java Game...

lunch 189

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

806

企业级软件开发流程

前后端分离开发,就是在项目开发过程中,对于前端的代码专门由前端的开发人员开发,后端代码由后端人员负责,这样可以做到分工明确、各司其职,进而提高开发效率,前后端代码并行开发,加快项目的开发进度前后端分离开发方式被各大公司使用,成为项目开发的主流开发方式推荐给你一些实战项目作为练手~这回不用愁找不到项目啦!中、大型or开发平台SaaS项目(任选其一学习,助力获取行业经验)**学完可快速构建企业级微服务应用项目,达到中、大型or开发平台SaaS工作技能要求。1.品优购【电商项目】

weixin_51689029的博客 5164

DDPM代码详细解读(2):Unet结构、正向和逆向过程、IS和FID测试、EMA优化

Diffusion Models专栏文章汇总:入门与实战 前言:大部分DDPM相关的论文代码都是基于《Denoising Diffusion Probabilistic Models》和《Diffusion Models Beat GANs on Image Synthesis》贡献代码基础上小改动的。官方的DDPM是tensorflow TPU版本,暂时没有GPU的版本。上一篇文章介绍了数据集加载,超参数的含义、关键参数的计算方法等,这一篇重点解读一下网络结构。 目录 EMA优化 训练目标.

沉迷单车的追风少年 1万+

SpringBoot一次请求中缓存数据,请求结束就清除的4种方法,你会几种?

通过以上四种方法,你可以在 SpringBoot 的一次请求中缓存数据,并在请求结束后自动清除这些缓存数据。使用 ThreadLocal:适用于需要跨多个方法调用的缓存数据,灵活性高,但需要注意内存泄漏问题。使用 AOP:适用于全局性的缓存管理,代码更加优雅,但需要对 AOP 有一定的了解。使用 ServletRequestListener:适用于简单的请求生命周期管理,配置简单,但功能相对有限。使用 HttpServletRequest 的 setAttribute 和 getAttribute。

java专栏 1295
上一篇: JAVA中浅复制与深复制概念详细解析
下一篇: Java开发工具 JCreator的使用技巧总结
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值