- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何分析问题和需求.doc
????????????? 如何分析问题和需求
?
?
??????? 万事开头难,需求没有完全分析清楚,系统设计很难满意。面对项目,我们如何提出问题,如何界定问题主次,哪些问题必须定义,哪些问题可暂时不理......。
?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (梦郎个人观点)
?
一、提出问题
1.树状遍历式寻找问题
每个问题都不是单一存在的,它都有相关问题,犹如一棵树一样,主问题就是主树杆,主问题伴随的其他问题,就是支树杆,以次类推。首先不要怕麻烦,每当一个问题提出,必须提出尽量多的相关新问题。提出问题的方法:顺藤摸瓜。
比如:写一个通用编辑器程序,此程序为自己或别人开发其他专业编辑器打下可靠稳定的基础。
1)问题:什么是通用编辑器。编辑器面向的对象应该是不确定的。
2)如果数据类型不确定,我们如何确定程序编写的对象。可以举出一些可能的假设。假设我们将此通用编辑器用作程序源代码编辑,那么就应该有中断、单步执行等设置,这导致数据不能封装在编辑器内部,应该由后期开发指定数据结构。
3)如果是程序编辑器,关键字的特显必不可少,所以显示的属性应该给出接口。
4)诸如关键字此类的是否还有其他需要特显的,那么,应该注意到特显类不仅仅是一种,程序设计时,最好抽象出特显的方法与数据结构(不管以后有多少不可预知的特显内容)。可以深入考虑特显接口应该如何给出,才能支持任意特显方式,它还需要哪些信息。
5)抽象特显类时,应该举出尽量多的可能性,综合考虑。
6)问题:哪些内容需要特显。编辑器很难知道,数据类应该自己了解。所以,特显内容的定义必须有一个机制让后期开发时使用。
7)问题:源代码编辑器有自动缩排、词法、语法分析,这些操作如何在编辑器中体现。考虑语法类接口。是否有收缩与展开操作,接口又如何。
8)又假设:后期要扩展成字处理程序。数据有文本、图象、特殊公式编辑、段落概念、表格等。
9)送进编辑器的数据可能是一组含有控制字的数据,问题:如何获得让编辑器知道不同数据的不同显示操作。编辑器肯定无法全知,所以,干脆交给后期开发需求处理。
10)未知数据应该有:显示方法、光标定位处理等
11)光标定位需要当前坐标,所以,必须有接口让编辑器知道数据宽高。
12)综合结论:应该有一个接口机制。凡特殊操作的内容,交给后期处理,但通用编辑器应该做好数据管理和传送的工作,而这些工作,不管哪种编辑器都需要。
首先任其深入提问,虽然问题可能多得十分复杂或凌乱,但它对即将做的系统设计绝对有帮助,最好把每个问题都有一个清楚的了解,千万不要急于设计系统。通过这些提问和假设,就可清楚地分析我们所作的软件应该实现哪些内容,哪些内容实现有难度,实现这些内容的大体方法,通用编辑器能作什么。通过上列系列提问和解答,我们可以认为,通用编辑器仅仅是一个以行为基本编辑单位的编辑器摸板。编辑器不仅自己有编辑操作,同时允许外部提供特殊数据对象的编辑操作,最终实现文本编辑、图形编辑、表格编辑、公式编辑一体化。数据外部实现,将允许后期确定内容属性。
上述方法基本上确保了软件有好的可靠性、扩展能力、性能、重用性和系统化。想高效率生产系列软件,确实应该考虑的更多。
?
2.直接切入目标问题
直接提出软件要完成的系列任务,通过考虑任务的实现,罗列问题,在问题的解答过程中反思任务的需求。这样的方法可以快速设计出软件开发方案。
仍然以通用编辑器为例:
1)编辑对象有:文本、图形、图象、表格等。
2)操作有:焦点移动、增加、删除、存取盘、选择块、粘贴拷贝、缩进、展开收缩、书签、中断设置、单步执行标记等。操作有分文本、图形图象、表格等的操作编辑。
3)显示:文本的不同字体风格显示、图形的显示、图象的显示、表格等的显示。
4)状态设置:改写插入、段落格式设置、标题控制、编辑器专业化的设置等
5)考虑各项功能的实现方案,发现问题。
6)如果有没有考虑到的,增加进去。
7)经过许多的方案设计,综合考虑和优化方案,提出最后的设计方案
8)综合结论:程序考虑了诸多功能,通用编辑器是众多功能的集合体,内部详细规划了各种类型数据的操作、显示和排版分析。
经过一系列的方案定义,将问题逐步减少,最后获得一个规模较大的系统设计早期方案。我们可以较早地进入系统设计,并且提前进入程序代码级开发工作,同时逐步实现各项内容。
此方法分析需求,有助于我们尽早实现想法,同时较好地控制住程序开发方向和基本功能完
您可能关注的文档
最近下载
- 新22J01《工程做法》(新疆图集).pdf VIP
- 2015-2022年河北省专接本(专升本)《英语》真题合集.pdf VIP
- 【GB_T50779-2022 】石油化工建筑物抗爆设计标准.docx VIP
- 蓄电池内阻试验报告.docx VIP
- 《成本与管理会计(第4版)》习题答案 孙茂竹.pdf
- 劳动合同模板正规【5篇】.docx VIP
- 电气控制与PLC技术应用教学教案.docx VIP
- 22K311-5 防排烟系统设备及部件选用与安装.docx VIP
- 2025青海省从优秀村(社区)党组织书记中考录乡镇公务员32人笔试模拟试题及答案解析.docx VIP
- 最新河北省建设工程竣工验收报告6份(市政基础设施工程).pdf VIP
文档评论(0)