导航:首页 > 软件问题 > 外行人怎么了解软件开发

外行人怎么了解软件开发

发布时间:2022-11-01 16:48:57

‘壹’ 谁了解软件开发的全过程啊,请高手指点

我提供一些软件开发的流程,我举一个例子:
你是一个软件开发的老板,我是一个软件开发的员工,翻然 你的公司还有很多从事其他业务的人员,一天的工作开始了
一个客户来到了我们的公司,首先由接待员接待,问请他要开发什么样的软件(类型),并把他的问题提交给程序策划人员,这还不够,第二天,策划人员要与客户面谈,内容就是软件需要什么样的功能,并给出合理的建议,以及针对某一个功能进行评估,(是否能够满足,因为客户的要求有的时候是不可能完成的,他毕竟是外行)。他了解了客户的要求以后,并对该软件进行详细的分解,并最后决定是否接受该软件的开发,分解的过程是这样的:
1 列出该软件的功能表:针对每一个问题,都有一个详细的说明
2 根据功能表,制定出软件的几大模块。
并切根据模块的复杂程度,决定是否继续划分出更详细的模块
3 详细分解模块之间的关系,并画出关系图纸。我门叫他《程序的流程图》
做好了以上的工作以后,就可以将各各模块分发给普通的程序设计者,设计者们根据模块的要求,设计自己的程序模块,具体的工作是:
1 分解模块的问题,并指定出可行的算法。
2根据算法,画出流程图,
3根据流程图及算法,编写程序代码
4上机运行。
5找出程序的错误。
6返回第3步,修改代码,继续第4步,5步
直到程序没有错误,
每个程序员都这样完成了自己的工作,
并把自己的模块的 代码,流程图,及其他稳当提交给程序策划人员,策划人员接过代码后编写主要的函数(既主程序)目的是将各模块主和在一起,形成一个完整的程序。在这一过程中也有返工和修改错误的可能。直到程序完好。
下面的工作就有测试人员完成了
要分别进行 嘿盒子测试,和白盒子测试。
黑盒子测试: 由非设计人员,提出一些极端的,苛刻的,以及错误的要求,看程序是否可以正常运行。如果不能,修该程序。
白盒子测试: 有程序设计者提供合理的,全面的要求,看程序是否可以正常运行,如果不能,修改。
经过测试,程序已经设计完毕。由接待人员把程序提交给客户,并客户调试,运行,满意以后,交钱。
程序的文挡要保留好,因为客户很可能继续提出跟高的要求,一旦事情发生,程序员根据历史文挡进行程序的功能扩葱,这就是人们常见的版本,例如 photoshop v1.2 ,photoshop v2.0
等等,
这是从人员的角度开发程序的过程。
一个程序是如何产生的呢 答案如下
愿代码 -》编译程序-》目标程序
原代码:
根据程序设计语言编写的文本

main()
{
printf("这就是一个程序,它的功能很简单,就是在屏幕成打印这句话!");
return(0);
}
计算机硬件是看不懂这样的字的,必须有相关的编译程序翻译成计算机硬件可以识别的 2进制文件例如
00110011 00111100 11001010 11001010
00001111 00010001 00011010 00101000

目标程序就是以上的 由 0 和 1 主成的目标程序,这样的程序就可以使用了。

‘贰’ 现在软件开发专业前景如何

1.从事软件开发多年,如果不出什么意外还会继续玩下去,程序员说白了就是一个混口饭吃的职业,说的高大上一点就是一种兴趣爱好,每天不敲几行代码心里总会感觉欠缺点什么东西,开发软件写代码就是一种职业谈不上什么高大山。

倒是很多对这个行业不是很理解的人对于写代码感觉十分的好奇,觉得能写代码的不是一般人,现在全国有几百万人的程序员说明普及型还是非常高,不是什么高大上的职业。

2.外行人都是如何认识程序员这个职业的,主要原因还是不了解,毕竟很多人觉得能够用代码控制一些硬件或者做出很智能的产品特别好奇,而且不懂行的人觉得每个程序员都是万能的。

就连基本的修电脑以及破解QQ密码这种事情也是程序员日常要做的事情联系在一起,就现在每次回到老家第一件事情就是给亲戚朋友修电脑,从心底里不想折腾电脑,在公司里面这都是网管做的事情。

有事情电脑出问题了自己也懒得去定位问题了,直接让网管过来给整理就可以了,术业有专攻不可能每件事情都做得非常出色。

如果你想开发小程序或者app的话,可以通过第三方专业开发平台,来帮助你实现开发需求:厦门在乎科技-专注厦门小程序定制开发、app开发、网站开发

‘叁’ 什么是软件开发

有人问我:“什么是软件开发?”。回答这个问题前,我们需要先理解什么是软件。
一、软件定义
关于软件,一些优秀的人已经给出了简单易懂的定义,举个例子:
软件是计算机系统的一部分,它适配各种不同用途的机器。例如,通过同一台计算机但不同的软件,我们可以玩游戏、计算缴税、写信或者写书,以及获得约会邀请的答复。
—— 杰拉尔德·温伯格
这句话是作者解释给他的朋友的,他的朋友是一名电脑小白。
有了上述定义,什么是软件开发也就显而易见。
软件开发研究如何让运行在计算机里的不同系统解决人们在现实中遇到的问题。
我们经常见到这样的句式,试图一句话就把事情讲得面面俱到。
不妨简化一下。
软件开发研究如何让计算机解决问题。
目前看起来不错。
倘若你听过“一切问题都是人的问题”这句话,并且愿意相信它,那我们就可以接着简化。
软件开发解决人的问题。
这个定义充满了敷衍的味道。如果你敢向你的女友这么解释,她大抵会提到“你是不不爱我了”。
回到正题,它好在足够笼统,把所有的细节归纳为“人的问题”,一言以蔽之,至少不会有多大偏差。
关于什么是“人的问题”,我们无法一一列举。但通过下面的例子,也许可以窥探到一些奥秘:早在 1995 年,有人便觉得软件开发要解决的问题陷入了困境。
我们遇到了前所未有的困难,不知道在做出电子表格(Excel)后,计算机还可以用来做什么。
—— 查尔斯·西蒙尼
从今天来看,这个观点颇失谦逊,软件行业从来没有止步于表格处理程序。当然,我们不是要批判什么,它是用来引出以下软件开发的三点特性。
“人的问题”不可预料。
世界在改变,人的需求也是一直变化的,我们不知道下一步会发生什么。值得一提的是,有时我们甚至不知道过去发生了什么。
“人的问题”具有延续性。
在 1977 年,人们开始用电子表格处理数据。在今天的办公自动化领域,电子表格仍具有着不可替代的作用。这是值得庆幸的,总有些问题和解决方案会持续很长一段时间。
“人的问题”具有复杂性。
尽管软件技术在当今的 IT 领域开花结果,人们探索出了各种各样的成型解决方案,但开发者和开发团队依旧面对着复杂的开发环境。
复杂性足够我们花费一整节的内容来阐述它,欢迎阅读下一节。
二、软件复杂性
随手翻开一本介绍软件工程的书,你都会看到它会提及复杂性。软件复杂性的本质是,现实世界是无比复杂的。至于现实为什么是复杂的,不在本文讨论的范畴。本文更关心的问题是:
是什么让软件变复杂的?
我们在上文提到“软件是运行在计算机里的系统”,这里直接给出系统的一般定义:
系统是对世界的一种观点。
你可能一时无法接受这个它。
换种说法,系统是对世界的一种抽象。
抽象意味着要从繁复的具象世界里剥丝抽茧,不同的抽象就会产生不同的系统。
观点或者说抽象可以简单也可以复杂。
一个软件从无到有,越来越复杂,根本原因就在于特性不断增加和改变,不同角度会产生不同的观点。
举个食品行业的例子。
一家公司以独家配方生产一种食品,每个季度的销售额上涨 10%。
管理层希望业绩进一步提高,具体到研究部门,目标是调制出更好吃的配方。
研究团队计划每个月只改动一点点,一年过去了,不断地有顾客投诉食品不再是原来的味道了。
公司董事决定开会。
“我们生产的食品更好吃了吗?”
“当然,我们的销售额增长达到了 30%。”
“但是我们的顾客不这样说。”
“他们只是不愿意改变!”
再举个例子,打开你的手机,各类软件源源不断地弹出新闻资讯类消息。大部分软件工具成熟以后,不再愿意仅做好它的本职工作,当你使用一个小众 APP 时,你可以亲眼见证它从小而美到臃肿不堪的历程。
这是复杂性的一面,面对它,我们唯一能够做的就是“不要多余的特性”,它有个经典表述:
不要过早的考虑优化。
回到上面的故事,也许那家公司什么也不做,销售额同样会上涨。
你可能会质疑“说的轻巧,我们总不能什么都不做?”
回答它,涉及到我们做出决定时绕不开的一个问题。
你愿意付出什么样的代价?
付出什么,就要准备好得到什么。你愿意付出多少薪资雇佣员工,你愿意增加多少特性,你愿意采用什么样的解决方案,你愿意为这个 Bug 留出多少工作量。
拿出什么样的筹码,是真实摆在我们眼前的问题。
四、什么是软件开发
现在,我们可以正式回答这个问题了。
首先,“预料”对方真正的目的是什么?
1. 对方只是随口一问。
2. 对方想打探你的薪资,然后向你介绍相亲对象。
3. 对方对软件行业这个话题感兴趣,并想深入了解更多。
4. 其他可能性。
对于醉翁之意不在酒,你翻开朋友圈,阅读一番《不得不看,职场新老手都有用的一百条话术!》,基本可以见招拆招了。
至于第三种情况,先给他来个含辞模糊的定义,比如
软件开发通过设计、编码、测试以及持续地维护解决人的需求。
一般地,对方发现自己听得云里雾里后,就会识趣的停止这个话题。但也有可能,尤其是碰到其他领域的工程师时,会引出更为具体的问题。
不幸的是,有时候问题根本就不存在,正如下面的寥寥数语,它会让你所有准备好的说辞付之流水。
“工作忙吗?”
“还行。”
“每天都干啥?”
“主要是写代码。”
“不懂,听说挺累的。”
“有时候是累,工作不都这样么。”
“嘿,说的也是。”
希望对您有所帮助!~

‘肆’ 外行如何进入IT行业比如程序员

1.技术+技术(深入阶段)

这算是一条纯技术路线,具体又可以分3个方向:

技术(2年以上编程经验)+技术(软件测试,或系统分析师,或系统架构师)

有软件开发的工作经验,再加软件测试,比刚开始就进入软件测试行业的人要更具竞争优势。软件测试工作经验越多越好,可以干到退休,不用担心年龄问题。

如果选择“系统分析师,系统架构师”,则首先要打好扎实的“理论基础”(可以通过考证书,比如参加软考),以保证自己“后劲力十足”,这样等有了4,5年的工作经验后,才有可能能冲上这个高端领域。平时工作中要不断的锻炼自己的“发散思维”,培养善于发现业务需求的“眼光”。

2.技术+管理 :比如 项目经理。

像雷军说的那样:“程序员象木工一样,熟能生巧。程序员必须写足够代码量(8万行以上)的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。”项目经理大多是从“优秀”的程序员里挑选出来,想走这条路,平时就要疯狂的编码,迅速累积丰富的编程经验,然后再补充一些管理方面的知识。(本人打算走这条路,呵呵)

3.技术+销售:比如 技术销售工程师,技术支持工程师。

这类工作要有一定的技术背景(入门级也可以),具备较好的语言表达,沟通能力。工作比较轻松,月薪待遇主要看个人销售业绩等,个人收入差别可能比较大。

4.当培训老师

如果你“乐于分享”工作经验,传授知识,或者觉得自己年龄比较大,精力不够充沛,且往上升又比较困难的话,可以选择去培训机构当老师,就目前而言,当老师工作轻松,待遇也不错。

5.创业

程序员创业除了需要有商业头脑外,更需要具有较高的“胆商”(人有5商,包括智商情商),即有没有胆量去做别人不敢做的事情(抓住商机)。

‘伍’ ERP软件开发工程师的主要工作是什么你会选择这个行业吗

从事软件开发多年,如果不出什么意外还会继续玩下去,软件开发说白了就是一个混口饭吃的职业,说的高大上一点就是一种兴趣爱好,每天不敲几行代码心里总会感觉欠缺点什么东西,开发软件写代码就是一种职业谈不上什么高大山,倒是很多对这个行业不是很理解的人对于写代码感觉十分的好奇,觉得能写代码的不是一般人,现在全国有几百万人的程序员说明普及型还是非常高,不是什么高大上的职业。

软件开发之所以让人觉得高大上,还有一个很重要原因是门槛高,不是随便一个人就能从事软件开发,主要和编程的生态链有关系,学习编程首先懂点英语,这点就能卡位住很多人,所以很多人喊着为什么我们中国人就不能有自己的编程语言,现在有个易语言的中文编程语言,生态圈发展的很不理想,现在几乎成为了开发游戏辅助和外挂的天堂了,任何一种编程语言都需要有其存在的必要性以及历史背景。而且能够在这个行业呆满五年以上的数量会少很多,有很多人做不到几年就退出了,觉得自己不适合或者觉得这个行业太苦太累了。

软件开发本身就是一种职业由于普遍被大众认知度不高,所以产生很多很神秘的遐想,特别是一些黑客电影的渲染导致这个行业显得更加神秘无比,就个人来讲就是一个写代码的工作而已,并且觉得感兴趣,会一直做下去。

‘陆’ 外行人了解‘关于安卓软件的3个开发工具’

好的 我解释一下: jdk 是java程序编译的工具集,你需要配置到环境变量中,eclipse是集成开发环境也就是编写程序的工具,sdk是干嘛的呢?它是应用程序开发的工具包里面含有各种接口API。
开发安卓 需要 : jdk+eclipse + sdk + adt

‘柒’ 一个外行人要进入it行业需掌握哪些技术

IT范围非常广泛,分为不同的领域,比如运行维护、软件开发、编程,硬件维修等等,每个领域所需要的知识和技术是不同的,每个领域又分为好多小领域,比如运行维护又分为日常桌面类运维、网络类运维、系统类运维。要看你想往哪个方面发展了。建议你初期先了解一下每个领域具体都做些什么,然后挑选你喜欢的领域深入学习。

阅读全文

与外行人怎么了解软件开发相关的资料

热点内容
电脑上怎么下载班智达的软件 浏览:1151
无痕迹消除图片软件 浏览:715
免费小票软件 浏览:948
华为在哪里设置软件停止运行 浏览:956
用电脑键盘调节声音大小 浏览:1253
自动刷软件赚钱 浏览:1256
古装连续剧免费版 浏览:1409
工免费漫画 浏览:1141
手机软件专门储存文件 浏览:1504
uos如何用命令安装软件 浏览:1311
有线耳机插电脑麦克风 浏览:642
侏罗纪世界3在线观看完整免费 浏览:990
单个软件怎么设置名称 浏览:715
凤凰网电脑版下载视频怎么下载视频怎么下载 浏览:1380
明白之后如何免费获得无人机 浏览:827
如何解禁软件菜单 浏览:846
副路由器连接电脑视频 浏览:1346
内置wifi电视如何装软件 浏览:1096
手机换零免费雪碧 浏览:1583
国行苹果如何下载美版软件 浏览:1203