hzxuanyou.0tkd.com hzxuanyou.hkaba-wa.com hzxuanyou.2mgt.com hzxuanyou.okcupis.com hzxuanyou.f5g1.com hzxuanyou.amcba.com hzxuanyou.itolab.net hzxuanyou.oursusu.com hzxuanyou.juanpizhan.com hzxuanyou.summerinla.com hzxuanyou.nashihou.com hzxuanyou.armorpools.com hzxuanyou.scaant.com hzxuanyou.canopyred.com hzxuanyou.tomi-tax.com hzxuanyou.dietskn.com hzxuanyou.pdnfull.com hzxuanyou.hostvis.net hzxuanyou.sinomit.com hzxuanyou.dsa.com hzxuanyou.attitrade.com hzxuanyou.xuthanh.com hzxuanyou.jxcamera.com hzxuanyou.yanjiaopingan.com hzxuanyou.makeup-recruit.com hzxuanyou.pdimsa.com hzxuanyou.isi-bw.com hzxuanyou.yjwjd.com hzxuanyou.swdates.com hzxuanyou.kiss52099.com hzxuanyou.mmbmwtc.com hzxuanyou.ex3k.com hzxuanyou.gf6n.com hzxuanyou.xiaofenghui.com hzxuanyou.jiahuaapp.com
0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

在一个软件开发中,都有哪些角色吧?

发表时间:2023-08-30 11:00:19

文章来源:炫佑科技

浏览次数:233

菏泽炫佑科技

在一个软件开发中,都有哪些角色吧?

本文是写给刚刚进入这个行业或者即将进入这个行业的朋友,或者是对互联网、软件感兴趣的朋友,主要是为了对团队中的各个角色有一个比较基础的了解。

过年回家,亲戚朋友一直问我在做什么,我一个字也解释不清楚,就说我在“写代码”、“开发软件”。 但在软件开发过程中,实际上涉及到很多角色,代码编写者也有好几种类型。

事实上,这取决于软件的规模。 比如像我个人网站这样的小型软件,其实一个人就可以搞定一切。 它既是用户,又是开发者,又是维护者。

但规模稍微大一点的软件,就需要各种角色共同协作来开发。 接下来,我们简单介绍一下软件开发中的角色。

用户

用户是为软件创建需求的角色。 用户有很多种类型。 从大的分类来看,主要分为B端()和C端()。 B端一般是后端管理系统,面向企业员工或者公司内部人员。 C端指的是个人用户,比如我们平时使用的微信、淘宝、抖音等,都是针对C端用户的软件。

C端软件的逻辑比较简单,但是用户数量非常多,迭代也非常快,所以在性能和稳定性方面都会有比较大的挑战。 另一方面,B端软件逻辑更复杂,功能更多,上下游环节长。 需要处理的是软件开发效率和可扩展性。

产品

产品经理,有的公司也叫产品,有的叫业务分析师(BA)。

产品需要控制产品具有什么样的功能。 对于B端软件来说,用户的主要需求一般在软件开发之前就客观存在。 产品经理需要做的就是发现用户需求,然后用软件来实现这个需求,帮助用户提高效率或者帮助业务发展。

对于C端来说,往往需要在功能上有更多的创新来吸引和转化用户,所以C端产品会更加关注用户的迭代速度和各种数据,不断尝试,灰度,然后根据用户的行为数据来做出产品开发决策。

产品一般会产生需求描述和需求文档。 为了更直观地表达产品意图,一些产品同学还会制作一些流程图和简单的产品界面设计。

设计

设计有很多种类型,UI、UX、UE,统称为UED。 其实我也不知道他们之间的具体区别。 一般来说,UI是指用户界面,在软件设计过程中一般指软件的图形界面。 UX和UE都是指用户体验,会关注用户在整个使用过程中的感受。 它包括用户界面,但不仅仅是用户界面,可能还有操作线路、交互设计等东西。

在我认识的团队中,产品一般不会画图或者画一些比较简单的图,然后交给设计去打磨、丰富细节,*后为开发者制作出完整的设计图。

前端

前端和后端统称为RD(和)或Dev

前端是指用代码写设计图的人,主要负责软件界面、交互以及后端数据的读写。

很多传统软件需要在客户端下载安装,手机上的APP也是这种形式。 近年来,WEB终端越来越流行。 用户无需安装软件,只需在浏览器中输入URL即可使用系统中的软件进行工作。 比较典型的是知乎和B站,都是从WEB端起步的。 面向toB的软件基于浏览器开发的更为广泛。 这主要是出于开发效率的考虑以及用户的非感性更新迭代。

所以其实Web前端、移动端包括开发、ios开发、基于等技术的跨平台开发、以及小程序,统称为前端,也有人称之为“大前端”结束”。 但一般技术行业都有专业化,前端技术栈更新快、多。 大多数前端只精通平台一部分的前端开发。

其实很早以前,并没有专门的前端,后端就顺便写了前端。 但后来前端技术栈越来越复杂,出现了“前后端分离”的说法,逐渐有了专业的前端角色。

后端

如果前端负责用户在界面上可以看到的代码。 后端负责所有用户“不可见”的代码和逻辑。

前端接收用户的输入和点击行为,然后调用后端提供的接口。 后端负责逻辑验证、处理和数据存储。

例如,当用户在电商应用中点击“确认订单”操作时,后端会检查库存是否不足、拉取商品信息、生成订单和付款单、处理优惠券计算等逻辑。

前面说过,B端的逻辑会比较复杂,链路也会很长。 后端可能有很多开发团队,彼此之间可能存在接口,所以沟通协调能力也非常重要。 当然,服务设计和代码设计也很重要。

对于C端软件来说,后端还负责性能问题和数据一致性问题。 因为前端计算能力一般都在用户的电脑和手机上。 目前硬件发展很快,基本上机器资源是绰绰有余的。 但后端部署在服务器上,要同时处理数万甚至上亿的请求。 如何承载如此大的并发量并保证数据不出错,本身就是一个比较困难的任务。

测试

测试是产品质量的把关人,简称QA。 事实上,开发人员一般都会测试自己,但为什么要测试呢?

一方面,技术行业有专门化,自动化测试、用户界面测试等,都需要专业的测试,效率会更高。 所以现在有很多角色叫“测试开放”,也就是测试开发,可以写一些自动化测试,他们在测试行业比较受欢迎。 但小公司一般测试和开发较少,更多的是手工完成,好的时候叫“回报”,不好的时候叫重复劳动。

另一方面,测试的角度与产品理解的角度不同。 开发者虽然可以自己测试,但只会按照自己理解的产品逻辑来测试自己,绝不会测试超出自己理解的产品逻辑。 然而,测试人员有不同的观点。 他们可以从更完整的产品链路的角度进行测试,也可以发现一些开发者可能没有想到的边界和场景。 这样,交叉检查可以确保产品更完整,错误更少。 。

数据与算法

数据和算法通常只有大公司才能使用。

用户在使用过程中会产生大量的数据。 这些数据非常有价值,可以用来分析用户行为,进而可以指导产品设计,甚至影响商业决策。

但用户产生的数据一般都是开发出来直接存储在各种数据库中,是*原始的数据。 这些数据需要同步到数据仓库以便进一步处理和使用。

数据简称DA(Data)或BI(BI)

算法会根据用户产生的数据训练出合适的算法模型,*终产生适合业务的算法接口。 后端开发调用这些算法接口,在背后有数据和算法的支持,形成比较强大的功能,比如产品推荐、抖音视频推荐、知乎文章推荐等。

算法工程师的需求没有前端后端那么大,但人才相对稀缺,尤其是顶级算法工程师,基本都是科学家。 算法更看重学历和学术研究成果,但薪资确实很高,有条件的同学可以冲。

专案经理

开发软件的过程实际上是一个复杂的工程项目。

这个过程需要一个人把控整个时间节奏和人员安排,保证产品能够按期顺利开发完成,功能按时迭代上线。

这个角色一般称为项目经理,简称PM。

但在互联网行业,管理不需要花费太多时间,所以一般专职项目经理很少,甚至没有项目经理。 有时产品主要负责驱动整个过程。 有时,这就是发展。 这里不得不提的是,互联网公司似乎很看重开发者推动整个项目进程。 阿里称之为“主观能动性”,“此时此刻,不是别人,正是我”,字节称之为“追求极致,务实勇敢,多元兼容”。 因此,就会出现技术 PM 和技术 Owner 等角色,这些角色通常由更有经验的开发人员担任。

在敏捷开发过程中,项目经理还要管理迭代,所以也有称为Scrum等。

运行维护

运维主要负责服务器部署、自动化管道搭建等工作。

在云时代之前,服务器都是物理机,运维可能还负责服务器的入架、巡检、维护,以及一些简单的服务器分配和网络分配。

软件部署和自动化流水线的搭建一般都是兼职后端开发人员。

但随着云服务的发展和软件机规模的不断扩大,运维也需要大量的自动化工作。 运维开发(也叫开发维护)的角色诞生了,负责系统架构、服务容器化、自动化开发等。这种角色一般存在于依赖云服务的中型企业中自动化软件开发,但有公司没有成熟的基础设施团队,所以需要这样的角色。 大型企业一般都有专门的团队来做这件事,业务开发团队不需要这个角色。

操作

运营其实也是B端用户的一种,所以对于很多B端团队来说,运营就是我们的“业务端”。

运营通过数据和各项业务运营推动公司业务增长。 运营的种类也很多,包括商家运营、广告运营、用户运营、活动运营等等。

有时候运营也是对产品负责的,主要是对产品的结果数据负责,比如用户数、订单数等等。

有时候运营也可以是产品,所以有的团队也有“产运”和“产研”两种区分。

总结

以上几乎就是开发一个软件所涉及到的主要角色。 其实还是要看软件和业务的规模。 有时一个角色需要承担多个角色。 尤其是小公司更需要“全才”。 说白了在一个软件开发中,都有哪些角色吧?,其实是老板想降低人力成本。 而大公司需要“专精技术”,专业的事情交给专业的人来*大化整个团队的效率,每个人都是一颗螺丝钉。

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多

hzxuanyou.512656.com hzxuanyou.ymani.net hzxuanyou.xmzh.net hzxuanyou.bckyw.com hzxuanyou.touyo1004.com hzxuanyou.m5uae.com hzxuanyou.m5m8.com hzxuanyou.v4men.com hzxuanyou.dedatabi.com hzxuanyou.lfklsu.com hzxuanyou.s0um.com hzxuanyou.wordrive.com hzxuanyou.gpindian.com hzxuanyou.xyjzfwgs.com hzxuanyou.e51o.com hzxuanyou.readsarnia.com hzxuanyou.izuiku.com hzxuanyou.ishangys.com hzxuanyou.zosradio.com hzxuanyou.zefubao.com hzxuanyou.jfa1.com hzxuanyou.itandsoft.com hzxuanyou.bg-berlin.com hzxuanyou.j6sf.com hzxuanyou.e47n.com hzxuanyou.muchimmo.com hzxuanyou.kome2459.com hzxuanyou.3maggio.com hzxuanyou.norkov.com hzxuanyou.0qy0.com hzxuanyou.weiruifoto.com hzxuanyou.j2o2.com hzxuanyou.naradam.com hzxuanyou.y-linc.com hzxuanyou.qjygs.com