软件开发前期规划:定义产品与系统规格的关键要点
一、暂停编程,明确产品定义
在开始编写程序之前,无论你是否已经动工,首先要做的是停下来。就像建造房屋需要建筑师先有一个整体规划一样,软件开发也需要在编码前做好充分的准备。
在定义产品时,你要像给建筑师描述需求一样,用简洁明了的语句阐述产品的核心功能、目标用户以及主要用途。例如,E - Z - MRP 是一款为初创企业到年营收 2000 万美元的制造商设计的集成制造系统,主要面向对制造系统经验较少或没有经验的人群,其主要目的是每天告知用户生产和采购内容,以满足客户订单需求,同时还具备物料和生产计划执行、库存控制、强大的物料清单处理、打印采购订单以及产能规划等功能。再如,The Sleep Advisor 是一个专家系统,用于识别各种睡眠问题和障碍,专为消费者在家中使用而设计,能生成定制化报告,包含识别出的睡眠问题、原因、补救措施和改善睡眠健康的建议。
你需要为自己的产品撰写类似的描述,并将其打印出来,时刻提醒自己开发的目标和方向。产品定义应涵盖产品的主要目的、核心功能以及目标受众。
二、系统分析:输入、处理、输出和存储
在大型组织中,定义程序是系统分析师的工作,他们负责将最终用户的需求转化为程序员能够理解的规范。即使你已经有了一个定制程序并想将其转化为可销售的产品,进行系统分析也是必要的,因为它能揭示出你可能忽略、设计不佳或实现不当的基本功能和流程。
所有系统,无论是手动还是自动化的,都可以归纳为四个基本功能:
1.输入(INPUT):即进入程序的信息。
2.处理(PROCESS)