程序员在企业中是如何做需求的

简介: 需求从哪里来,到哪里去

在企业中,一个需求从产生到完成生命周期是什么样的。

它可以分为这样的步骤:

需求分析 -> 设计(原型、功能、接口设计) -> 技术选型 -> 搭建项目框架 -> 编码(实现业务逻辑) -> 测试(自测+提测) -> 代码评审(code review) -> 部署上线

需求是怎么产生的?

一般来说需求都是由业务人员收集业务痛点,将这个痛点转换成需求;还有些需求是产品经理拍脑袋产生的... 这是一个很大的话题,同时也会诞生各种各样的奇葩需求,和大量的就业岗位。

有个学妹自学了半年编程。今天找我说她打算找工作了,让我给讲讲公司里边做项目是什么流程、她好心里有个底。

在实际工作中,项目的根据大小还有背景不同、整个生命周期也会有一些差别。大体分为:计划、设计、开发、测试、维护等步骤,我们就以一个需求的生命周期来分析。

比如,有客户说,我们公司现在已经 3 个人了,需要一个用户管理系统来把这些人管理起来,你帮我安排一下。

拿到需求后,是要做一个用户相关的系统,我给他起个名字就叫《用户中心》管理系统。

需求

首先是分析需求,这个系统作为用户管理,其中肯定要有用户的登录、用户添加、用户删除、用户查询等。

设计

  1. 原型设计
  2. 功能设计
    a.用户管理,用户登录、添加用户、用户删除、基于用户的名称的查询

技术选型

  1. 看需求有没有技术难点
  2. 没有的话选择擅长和熟悉的技术栈

搭建项目

  1. 搭建项目的脚手架,也就是项目的公共模块
    a. 比如对接口返回值的统一校验封装
    b. 统一日志格式
    c. 项目的代码模块目录
    d. 还有一些常用的工具类等

编码

完成这一步就要开始编写代码。

测试

分为自测和提测,当然对于一些小公司划分的就没有这么细了,都是由于全干工程师一人搞定。

代码评审

也就是工友们一块审核代码规范,比如你的代码模块拆分,可以增强代码的可维护性。

部署上线

一般是项目开发中的最后一步,运维人员会将项目部署到用户可以访问的服务器,正式开始使用。

视频:

https://www.bilibili.com/video/BV17f421Q73r

原文地址:

https://javapub.net.cn/star/project/user-center/

目录
相关文章
|
7月前
|
程序员
程序员必知!里式替换原则的实战应用与案例分析
里式替换原则(Liskov Substitution Principle, LSP)是面向对象设计的基本原则之一,由Barbara Liskov于1987年提出。这个原则的主要思想是:在软件中,如果一个类可以被另一个类所替换,并且不会影响程序的正确性,那么这两个类就遵循了里式替换原则。
程序员必知!里式替换原则的实战应用与案例分析
|
4月前
|
算法 测试技术 持续交付
技术感悟:代码之外的智慧
【8月更文挑战第14天】在技术的海洋中,我们常常沉浸于代码的编写和调试,追求着更高效的算法和更优雅的解决方案。然而,技术的世界远不止于此。它还包括了对问题的理解、对工具的运用、以及与他人的协作等多个方面。这些看似与代码无关的技能,实际上对我们的技术成长有着深远的影响。本文将分享一些在代码之外的技术感悟,希望能够为大家提供一些新的视角和思考。
|
5月前
|
搜索推荐 算法 网络协议
如何做好IT类的技术面试?
如何做好IT类的技术面试?
57 0
|
6月前
|
应用服务中间件 nginx
经验大分享:nginxlocatio作用
经验大分享:nginxlocatio作用
33 0
|
7月前
|
存储 C语言
深入浅出 C 语言:学变量、掌控流程、玩指针,全方位掌握 C 编程技能
C 语言介绍 C 语言的特性 C 语言相对于其他语言的优势 C 程序的编译 C 中的 Hello World 程序
80 2
|
7月前
|
前端开发 JavaScript 程序员
如何做好IT类的技术面试
如何做好IT类的技术面试
|
C语言
可能你看到的大部分教材里讲的指针和指针变量是一个概念,但是真的是这样吗?看完我这篇文章肯定会颠覆你的认知哦?
可能你看到的大部分教材里讲的指针和指针变量是一个概念,但是真的是这样吗?看完我这篇文章肯定会颠覆你的认知哦?
135 0
可能你看到的大部分教材里讲的指针和指针变量是一个概念,但是真的是这样吗?看完我这篇文章肯定会颠覆你的认知哦?
编写s=1+2+3+...+n思路打破认知
最近在和领导讨论架构设计,其中涉及到如何通过代码来体现面向对象?通过一个例子来打破了原有的认知,以此总结记录自己的提升和成长
|
安全
关于面试在技术之外的事
在公司会为公司的人才梯队培养,人员更新,业务拓展等为公司招聘人才。所以经常会面试一些人,在面试过程中也总结一些面试官要考量面试者的能力的方面。现代社会是一个合作性社会,一件事情不可能由一个人独立完成。必须在团队合作的情况下才能很好的完成。所以在面试一个应聘者时比较能合理的能力不可能只有技术能力。技术能力只能说这个人是否可以解决技术问题,但其他问题的解决方法才是一个人是否能够为团队贡献的最基本能力。
78 0
|
前端开发 程序员 开发者
程序人生:程序员如何实现财富自由?
程序人生:程序员如何实现财富自由?
342 0
程序人生:程序员如何实现财富自由?
下一篇
DataWorks