OO 设计过程(二):开始设计软件(---问题定义---)

1. OO 需求搜集
   因为“需求搜集”通常包含一些关于需求是什么以及您如何去搜集它等方面的不正确的假定(至少从 OO
角度)
   首要任务是解决必须做什么,而不是如何去做
   --------在 OO 说法中,问题定义的第一步称为正规问题说明书----------------
2. 问题说明书
   在任何一个设计中,精确地陈述问题总是第一步的。这里,您的目标是要简洁而精确地说明书您所要解决
的问题。再次重申,您的注意力应在做什么和为什么做,而不是如何做。
   解有关该问题领域方面的知识
3. 细化您的说明书
   不要去做那些细支末节的工作
   用清楚而组织良好的语言去说明书它
   所要讨论的问题必须完全用问题领域方面的词汇来表达
   关于设计完整的一般性原则是,一位有头脑的外行通过浏览熟悉该领域的且胜任的程序员的文档,能够完
全理解所要解决的具体问题和该问题的一般性解决方案。如果这种层次理解不能实现,那么设计是不完整的
   问题说明书应该涉及问题本身,而不是该问题基于计算机的解决方案
4. 尽可能地确认问题和解决方案
   所有 OO 系统必须进行一些建模。如果已存在的问题有一个好的解决方案,但现实的问题是人们不可能很
快地执行已有的解决方案,那么就需要将现有的解决方案建模。即手动过程自动化是全部所必需的,而您的
问题说明书应完整地描述那个手动过程。
   要确认的一件重要事情是用户的目标。用户确切地要完成什么?
   您还必须说明所希望的结果。解决问题的最终成果是什么?最终成果表达了什么信息?
   定义问题。然后,用该领域的词汇来说明问题,让您的用户看一下问题说明书
5. 编码前的细节
   事实上,随后,当设计和执行时,问题的定义会发生变化。这就是为什么在设计队伍中要有一个最终用户
的原因:以确保您不会因为改善它们而破坏一些事情。
   最初的问题定义应尽可能的详尽。将您所想的都写在纸上。不要遗漏任何细节,即便是最简单的
我正在准备进行OO开发,希望得到朋友们的指点,
上面是我的一点学习总结
希望您能指点一二!

时间: 2024-09-20 06:30:56

OO 设计过程(二):开始设计软件(---问题定义---)的相关文章

《Axure RP8 网站和APP原型制作 从入门到精通》一1.2 典型的设计过程

1.2 典型的设计过程 典型的设计过程和需要付出的努力程度,见图1. 当然,实际的努力程度将取决于每个具体项目的复杂程度和整个团队间沟通协作的效率.不过,图1给我们列出了在每个不同的阶段所需的交付物都有哪些. 我们来进入细节,仔细检查每一步的设计过程.我会解释每个阶段的目标,提供一些有用的提示和常用的技术,并且描述应该在什么时候进入下一个阶段. 1.2.1 研究 设计的第一阶段不是设计,而是询问一系列问题(研究),见图2.这听上去可能会令人惊讶,不过静下来思考两分钟,你会认识到设计之初本该如此.

UPA工作坊(北京站):以价值为中心的设计过程--企业商业应用系统的设计框架

问题描述 经验丰富的主讲人Alex,任SAP中国用户体验部门经理期间,建立了一个以创新为导向的用户体验团队,为SAPBusinessObjects的企业绩效优化套件(POA),以及商业智能(BusinessIntelligence)平台提供远景战略设计.他将为大家系统分析与讲解如何采用以一种以价值为中心的设计过程,将设计根植于企业商业应用(BusinessApplication)系统中,并且与大家分享企业级设计需要的人才,以及关于设计人员职业发展的探讨.举办日期:2009年7月25日下午14:0

面向对象的软件分析设计过程备忘

面向对象的软件分析设计过程备忘 一.业务分析与需求收集 1.重点梳理主业务流程,逐步完善分支流程.整理和发现业务流程中的涉众以及他们的业务目标和系统目标,显式目标以及隐式目标: 2.整理涉众们在系统中所承担的角色以及各自的职责: 3.在流程的运转过程中,发现和查找业务实体.他们之间的关系以及关键实体的生命周期(由谁在什么场景下创建.中间状态的变化以致最后的消亡): 4.在流程的运转过程中,有哪些业务规则以及各种隐式的规则: 5.不断的提问和验证流程的正确性和完整性(即使是边界以外的流程也不要放过

《挖掘管理价值:企业软件项目管理实战》一2.4 软件设计过程

2.4 软件设计过程 挖掘管理价值:企业软件项目管理实战 软件设计是根据需求的内容,运用计算机理论.技术和工具将其合理地.有机地.具体地转化为功能,并演示其实现的方法.过程和结果.设计人员在理解了用户的需求之后,首先在自己的脑海中会有一个大致的概念和思路,然后考虑如何去实现这些功能,当然这需要一定的专业知识和实践经验.这里就不阐述软件或数据库设计的理论知识了,而重点介绍如何将设计人员脑子里对软件的设计和理解反映到文字.图形和流程上,使得用户可以了解计算机是如何实现他们的需求的.我们用图 2-9

OO 设计过程(一):入门---如何设定优先级

          OO 设计过程(一):入门---如何设定优先级-------------------------------------------------------前言:本文的原作者,Allen Holub撰稿编辑,JavaWorld2000 年 7 月-------------------------------------------------------<注释>有的地方省略了我认为无用的东西.-----------------------------------------

应用OOP的设计过程演化(二)

在我上篇文章应用OOP的设计过程演化(一) 里,结合了实例通过应用OOP和重构等技术,你已看到代 码是怎样一步一步复活的.让最初死板的代码变得灵活.可扩展,设计的不断演化过程证实,代码一步一 步的复活就如同给一只冻僵翅膀的小鸟带去温暖的阳光一样. 上一篇文章虽然算得上是完美的演义了一个应用OOP的设计过程,但缺点也不少,可能因为这样给文章 留下了败笔.那下面我们就来分析下这些不足之出.我们在设计中为什么要不断的抽象,重构?因为最初 的设计不可能是完美的,我们不能一下子就完全把各个对象.类.接口等

设计案例分享:腾讯手机令牌的设计过程

文章描述:QQ安全我做主-手机令牌2.0设计分享. 一款小小的工具软件,如何赢得  iPhone app store4星级+评价:Android 电子市场4.5星评价,让我与您一起分享手机令牌的设计过程 什么是手机令牌? 手机令牌是通过6位动态密码保护QQ帐号.Q币和游戏装备等虚拟财产安全的手机软件.手机令牌每30S更换一次动态密码,用户在敏感操作的时候验证动态密码,以此保障自己的帐号安全.简单的说:手机令牌是一个动态密码的生成软件.是我们专为保护用户QQ帐号安全设计的手机APP. 设计工作主要

Anders Hejlsberg 谈C#设计过程

过程|设计 一 1.C#设计过程 ? Bruce Eckel:我听说C#是一个工程师小组在一个屋子里设计出来的? Anders Hejlsberg:是的.4年来,我们一直呆在这个屋子里.现在,每周一.三.五,我们仍然在这里会面. Bruce Eckel:我很想了解一些关于C#设计过程的情况.我直接或间接参与过几种语言的设计工作,如Python.在Python设计过程中,Guido van Rossum被我们戏称为"仁慈的独裁者". Anders Hejlsberg:哦,Guido va

[原创].NET 分布式架构开发实战之二 草稿设计

原文:[原创].NET 分布式架构开发实战之二 草稿设计 .NET 分布式架构开发实战之二 草稿设计   前言:本篇之所以称为草稿设计,是因为设计的都是在纸上完成的.反映了一个思考的过程. 本篇的议题如下:   1. 第一个数据层草图的提出 2. 对数据访问层的思考 3. 第二个数据层草图的提出   系列文章链接:  [原创].NET 分布式架构开发实战之一 故事起源 [原创].NET 分布式架构开发实战之二 草稿设计 [原创].NET 分布式架构开发实战之三 数据访问深入一点的思考 [原创].