对日软件开发流程
日本的软件项目开发进度控制非常严格,项目很少出现延期,一旦延期,伴随而来的就是大宗的,因此,日本的软件项目非常重视按期交付。在日本软件项目进度控制中起关键作用的就是软件的阶段定义。
日本软件项目阶段分项目提案、要件定义、概要设计、详细设计、编写代码、单体测试、结合测试、系统测试、编写手顺等。项目提案指项目可行性分析、项目立项,是用户需求的正式提出阶段,本阶段出具《项目提案书》。要件定义指业务需求的详细确定和系统需求的详细确定,系统需求主要包括软件安全性,运行速度,网络环境,运行环境,平台,架构等方面的要求,以及技术选择的调查,本阶段出具《业务要件定义书》和《系统要件定义书》。概要设计指功能设计,系统架构设计,界面设计和数据库设计,其中界面设计和数据库设计涉及内容最多,要求最详细,本阶段出具《概要设计定义书》、《数据库设计定义书》和《界面设计定义书》。详细设计主要指编码前的类设计,类中方法属性设计,类之间调用关系设计,本阶段出具《详细设计定义书》。编写代码指各模块负责人编写相关代码,在编码之前还要编写单体测试式样书,本阶段出具程序源码和《单体测试式样书》。单体测试指由各模块编码人员完成各
自模块的单体测试工作,单体测试完成要求各模块独立运行时缺陷均消除,本阶段出具《单体测试票》。结合测试指各模块单体测试完成后,各模块同时运行时,模块之间的运行状况的测试,包括业务流,负载,运行速度,稳定性,一致性等内容,本阶段出具《结合测试票》。系统测试指系统各模块统一运行缺陷均消除后,模拟用户环境运行的测试过程,本阶段要尽量模拟用户实际平台,用户数量,硬件环境,软件环境,网络状况,用户数据进行系统测试,本阶段出具《系统测试票》。编写手顺指编写用户手册,本阶段出具《安装手顺》、《使用手顺》和《维护手顺》。
对日开发的基本流程中包括了以上11个阶段,每个阶段为一个里程碑,每个里程碑在安排计划时都规定了明确的完成期限,这些阶段性的里程碑是项目进度的关键点。每个阶段完成后必须进行阶段的Review,这种阶段Review软件开发培训班哪个好起到了阶段验收和总结的作用。阶段Review是日本项目阶段控制的核心。
只采用阶段Review的方式进行验收也有其不足之处,所有验收工作都放在阶段完成再进行,阶段中的错误后续持续放大无法得到控制。而且通常情况下,阶段Review时问题会比较多,Review后修改时间比较长,修改次数也较多,造成很大程度的反复工作。再有,标准对日软
件开发过程中,阶段内任务的安排和验收比较;无序,很多问题会被有意推迟到Review时解决。
要件定义决定了系统全部的功能,说本阶段产出的成果物左右了整个系统的成败也不为过。
输入 | 输出 |
1.顾客的业务需求 | 1.要件定义书 2.网络结构定义书 |
要件定义的输入是顾客想要系统化的业务需求。系统的开发是为了顾客企业的业务更灵活及高效。而要件定义的目的就是明确顾客想要系统化的业务逻辑。
进行要件定义所需具备的能力
当进行上面所说的要件定义时,需要有以下的能力。
1. 理解顾客企业的商业模型
必须要充分理解顾客是如何进行商业活动的。要明白为什么必须系统化,为什么要建立这样的商业模型,要收集各方面的需求,不能有遗漏。因为到后期,当发现需求分析不充分时将导致整个开发的系统都无用。另外,如果做了过多的分析,只要将不用的功能放弃掉就可以,对进度的影响很小。当然,对不需要功能的开发投入的金钱成本,顾客是不需要支付的,全部由开发方负责。
2. 与顾客谈判的能力
与人谈判的能力是指待人能力,协调能力。对方是给钱的顾客,不能用严厉的语言激怒对方。对于无法理解的需求要努力在当时就理解了,对于顾客所要求的不合理的需求要能协调好。这个不像其它的能力可以通过培训或以往的经验来弥补,主要取决于个人的性格,是相当重要的能力。
3. 进行要件定义的同时,要能想象到下一步如何据此进行外部设计
需要有逻辑思维能力,用最近的话说就是logical thinking。顾客单方面的表达自己的需求,在当场立刻明白那些功能是能实现,哪些是不能实现的是非常重要的。举个极端的例子,开
发考勤管理系统。明明没有记录每天的上班下班时间,却要用图表显示每月的工作时间,这样的需求显然是无法实现的。这种情况下,要么提出开发一个新功能记录每天的上班下班时间,要么与顾客讨论是否真的需要算出每个月的工作时间这个功能。外部设计之前,要件定义阶段,发现需求不合理的能力是非常重要的。
要件定義
■開始条件
1. ユーザ側で要求事項が整理されている事。
2. システム開発案件を受注し、契約が締結されている事。
中文:
1. 用户整理要求事项。
2. 发包并签订合约。
■要件定義の目的
1. 業務をシステム化するときにユーザの要求をまとめる作業を要求定義という。その成果物を要求定義書という。
2. 要求を実現するために、システム化の要件をまとめる作業を要件定義という。その成果物を要件定義書という。
3. 要件定義は、システム化の範囲を明確にし、システム開発にかかる工数や費用を見積もる為にも行う。
中文:
1. 整理用户要求的作业为要求定义。成果物是要求定义书。
2. 整理系统要件的作业为要件定义。成果物为要件定义书。
3. 要件定义的目的是为了明确系统范围,预估系统开发所需工数及费用。
■要件定義の担当
1. 要求定義、および要件定義はユーザ中心で行うべきである。
2. ユーザ側で関係部門の担当者を集めて、システム化の委員会を発足させ、要求事項の導出やとりまとめ、要件定義を行う。
3. 開発者は情報システムに関する専門知識を提供し、ユーザの要件定義作業を支援する。
中文:
1. 要求定义及要件定义应该以用户为中心。
2. 用户应召集相关部门负责人,成立系统委员会,导出并整理要求事项,进行要件定义。
3. 开发人员提供信息系统相关的专业知识,支援用户的要件定义作业。
■要件定義の方法
1. ユーザはシステム化したい事を明確に定義し、開発者に漏れなく伝えなければならない。
2. ユーザは自らの業務を定義しなければならない。いつ、誰が、どこで何を、どのようにしているのか、何の為にそれをしているのかをひとつずつ記述しなければならない。
3. 業務上何が問題になっているのかを挙げていく。それぞれの問題に対してどのように解決するのかを記述する。
4. 解決方法には、「その業務を止める」、「アウトソーシングする」、「運用を変える」、「システム化する」等があり、コスト面や体制面、関係者への影響等、いろいろな側面から検討して、決定する。
5. 問題解決の方法の中からシステム化するものについて、開発者は情報システムの専門家の立場で助言していく。
中文:
1. 用户须明确定义系统要求,并要无一遗漏的传达给开发人员。
2. 用户须定义自己的业务。逐一记录谁、在哪里、做什么、怎样做、为什么做。
3. 列举业务方面存在的问题。记录每一问题如何解决。
4. 解决方案有“终止业务”、“外包”、“变更应用”、“系统化”等多种,须从成本、体制、对利害
关系人的影响等多种层面研究后决定。
5. 关于解决方法之一的“系统化”,开发人员须以信息系统专家的立场提出谏言。
■要件定義の基になる資料
1. 中長期事業計画書。
2. 業務内部資料(業務マニュアル/業務定義書/業務フロー等)。
3. 業務課題一覧。
4. 現行システムがあれば、現行システムの各種資料(出力帳票/操作マニュアル/設計書/仕様書等)。
5. ヒアリングシート。
6. アンケート用紙。
7. 打ち合わせ議事録。
中文:
1. 中长期事业计划书。
2. 业务内部资料(业务指南/业务定义书/业务流等)。
3. 业务课题一览。
4. 如有现行系统,则需提供现行系统的各种资料(出力帳票/操作指南/設計書/仕様書等)。
5. 听取页。
6. 调查问卷。
7. 会议记录。
■要件の種類
業務面 | 業務スケジュール?部署?拠点?効率 |
システム面 | 機能?操作性?品質?性能?セキュリティ |
運用面 | リソース?保守性?拡張性?安全性?運用コスト?運用体制?リスク?ヘルプデスク |
■要件定義の確認
1. 課題は何か。
2. その課題は何時まで続くのか。
3. その課題は何時までに解決しなければならないのか。
4. その課題を解決するとどのような効果が見込めるか。
5. その課題は主にどこの部署の誰が担当しているのか。
6. その課題はどのように解決しようとしているのか。
7. 何故、そのような解決方法を取るのか。
8. その課題は何が原因で起こったのか。
9. その課題を放置するとどのような影響があるのか。
10. その課題を解決する方法として、システム化を選ばなかったらどうなるか。
中文:
1. 课题是什么。
2. 课题持续到什么时候。
3. 课题在什么时间前必须解决。
4. 课题解决后会有怎样的效果。
5. 课题主要是由哪个部门的谁负责。
6. 课题准备如何解决。
7. 为什么采取这种解决办法。
8. 课题是基于什么原因发生的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论