老妈? No 客户! --- 软件开发的流程

到年底了 公司基本没什么事了 我也闲下来了 平时忙惯了 这一闲下来感觉浑身难受 不自在


我想起来老妈前几天和我说的一个事情。。。


老妈不知道从哪听说了OA系统


让我给家里也开发一个 类似于《家庭理财帮手》的软件 她也想体验一把在电脑上记账的感觉


具体要实现:

1. 记录每天的收入、支出状况以及每笔消费的详细情况
2. 显示每个月的家里财务的盈亏状况

听完我脑子里面过了一下 感觉不难 无非就是数据库的操作 用winform模式 加上几条sql语句就ok了 


再加上前段时间看了一篇叫做《软件开发流程》的文章 


我决定 将这款《家庭理财帮手》的软件模拟一次客户定制软件的过程 


老妈就是我的客户 老妈提出来的要求就是客户需求 


开始前期的准备 我也专业一把


先列出软件开发的流程:


1. 需求分析 
客户提出来两个需求 程序员的职责就是根据客户的需求逻辑 将需求转换成代码 最后交给客户使用 换来钱

2.  可行性分析
可行性分析顾名思义 就是分析软件的可行度 假如客户提出来一个需求是"我要一个能发射原子弹的程序" 显然 这是不可行的

3. 需求技术分析
就是分析用户的每一个需求 但是要从技术的角度分析 比如老妈的需求中有一条是"记录每天的收入、支出状况以及每笔消费的详细情况" 这就需要在设计数据库的时候要非常注意了 要为收入、支出和消费情况分别创建一个字段

4.  界面设计


在正规的软件公司 界面设计由美工来完成 一般程序员不参与

5.  开发语言、开发环境以及数据库的选择
使用不同的开发语言必须使用不同的开发环境 这个我认为是鸡肋 但是数据库的选择就尤为重要了 
在选择数据库的时候 一看项目投资有多少 二看项目的规模有多大 三看使用的人数有多少 最后再根据不同的情况使用不同的数据库 

6.  编码/数据库设计
这也是开发软件的核心 不解释

7.  编写文档/维护
文档相当于软件的说明说 你买了一款手机 包装盒里面能没有说明书么? 这条不解释

有这样一个例子 一家购物商场 用2万元做了一个结账的系统 但是这家商场每年要花费10万元来维护这套系统 足以看出软件后期的维护是多么的重要 

以上是我一般会使用的步骤(每个人的习惯不一样的)


有了这样详细的开发步骤 那就按部就班的来吧

1,2,3条基本没什么问题 pass

设计界面。。。。 我也不是专业的美工  我只能凭借在学校学的那点二把刀的ps技术上了 

目前只做了界面设计 

语言不用说 肯定是我最熟悉的C# 开发环境当然是visual studio  数据库也是我最熟悉的SQL Server

我的第一个"客户"倒是蛮好伺候的 没有给我规定工期 所以说下面编码的工作 等我灵感来了再开始吧 !!





其实不管是开发软件 做什么事都要按顺序来 按规矩来  所谓没有规矩 不成方圆!!



最后 用我老师的一句说结尾 就是软件开发就像盖大楼 前期的设计要比盖的过程重要的多 如果前期没有设计好 楼盖到10层 突然发现某个地方多了几米 那就悲催了 做事也是一个道理!!!

你可能感兴趣的:(老妈? No 客户! --- 软件开发的流程)