文档介绍:游戏开发的过程
摘要:什么是软件工程
软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
软件开发的流程概要
需求分析——概要设计——详细设计——编码——单元测试——集成测试——系统测试
——维护
需求调研
①调研用户领域的组织结构、岗位设置和职责定义,从功能上区分有多少个子系统,划分系统的大致范围,明确系统的目标。
②调研每个子系统所需的工作流程、功能与处理规则,收集单据、报表和账本等原始资料,分析物流、资金流和信息流三者的关系,以及如何用数据流来表示这三者的关系。
③对调研的内容事先准备,针对不同管理层次的用户询问不同的问题,列出问题清单。将操作层、管理层和决策层的需求既联系,又区分开来,形成一个金字塔,使下层满足上层的需求。
④对与用户沟通的情况及时总结归纳,整理调研结果,找出新的疑点,初步构成需求基线。
⑤若基线符合要求,则需求分析完毕;反之返回到第1步或第2或第3步。如此循环多次,直到需要分析使双方满意为止。
可行性分析和需求分析
可行性分析是要决定“做还是不做”。
需求分析是要决定“做什么,不做什么”。
可行性分析
经济
经济可行性分析主要包括:“成本——收益”分析和“短期——长远利益”分析。
成本——收益
(1)办公室房租。(¥)
(2)办公用品,如桌、椅、书柜、照明电器、空调等。(¥)
(3)计算机、打印机、网络等硬件设备。(¥)
(4)电话、传真等通讯设备以及通讯费用。(¥)
(5)资料费。(¥)
(6)办公消耗,如水电费、打印复印费等。(¥)
(7)软件开发人员与行政人员的工资。(¥)
(8)购买系统软件的费用,如买操作系统、数据库、软件开发工具等。有些老板买盗版的系统软件,却按市场价算成本,可从美国佬那里赚一笔。(¥)
(9)做市场调查、可行性分析、需求分析的交际费用。(¥)
(10)公司人员培训费用。(¥)
(11)产品宣传费用。作宣传,则要考虑建设Web站点的费用。(¥)
(12)如果客户是政府部门,还要充分考虑用于吃喝玩乐、行贿的费用。(¥)
(13)如果公司的风水不好,会有很多莫名其妙的管理费。每戳一个红艳艳的公章都要化一把钞票。(¥)
短期——长远利益
人们喜欢吃着碗里的、看着锅里的,还想着别人家里的。短期利益和长远利益兼得是人们梦寐以求的事。在商业上,这等好事可不会轻易降临。
短期利益容易把握,风险较低。但收益有限,做的是项目。
长远利益难以把握,风险较大。但收益可能巨大,做的是企业。
技术
技术可行性分析至少要考虑以下几方面因素:
(1)在给定的时间内能否实现需求说明中的功能。
(2)软件的质量如何?主要考虑在网络、硬件、市场竞争等上面的分析。
(3)软件的生产率如何?主要是开发的周期、移植性、维护、扩展方面的考虑。
技术可行性分析可以简单地表述为:做得了吗?做得好吗?做得快吗?
社会环境
社会环境的可行性至少包括两种因素:市场与政策。
市场
市场又分为未成熟的市场、成熟的市场和将要消亡的市场。
涉足未成熟的市场要冒很大的风险,要尽可能准确地估计潜在的市场有多大?自己能占多少份额?多长时间能实现?
挤进成熟的市场,虽然风险不高,但油水也不多。如果供大于求。收入稳定
将要消亡的市场就别进去了。如DOS时代编程现在不可能有人去做了。
政策
政策对软件公司的生存与发展影响非常大。需