- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件的系统设计第三章 软件的系统设计第1页/共65页回顾引入:Why to do? —可行性研究√What to do?—需求分析√How to do? —系统设计第2页/共65页本章从三个阶段介绍了项目中期所要完成的工作,它们是项目的系统分析阶段、系统设计阶段和代码实现阶段。 在系统分析阶段,可采用CASE(计算机辅助软件工程)工具确定问题域,进行需求建模,利用数据流图可建立起分析对象模型,然后进行系统的分析合并,再进行测试和验收。 本章以实例为驱动,在系统设计阶段进行界面的设计,建立出设计模型,结合第七章面向对象技术和第九章UML的初步知识进行详细设计。在代码实现方面根据具体的软件项目分析软件的开发工具准备,利用中间件技术(中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享系统和网络资源,如ODBC、JDBC、OLE DB等)开发MIS(管理信息系统)等知识。第3页/共65页系统分析与需求分析的区别需求分析是一个项目的开端,也是项目建设的基石。是对用户需求的定义,对软件系统的描述。在以往建设失败的项目中,80%是由于需求分析的不明确而造成的。因此一个项目成功的关键因素之一,就是对需求分析的把握程度。而项目的整体风险往往表现在需求分析不明确、业务流程不合理,用户不习惯或不愿意去用承建方的软件。作为第三方的监理公司,必须提醒承建方、客户方重视需求分析的重要性。系统分析的任务:将用户的业务逻辑转化为程序逻辑,计算时间和成本。根据开发人员的理论知识和实际的经验,人们会采用各种满足实际情况的系统分析、开发方法、步骤以及文档等等。一般情况下,在系统分析书中应该有以下内容(视项目而定): 1、系统需求说明 说明系统是一个什么样的系统,用市场上现有的系统来类比, 用客户(或是我们自己)需要一个什么样的系统进行说明,力求完整。 第4页/共65页2、 系统资源说明 对系统所需要的软件、硬件资源进行说明。描述系统所需要的所有的成本(包括人员、时间、设备、系统、一次性投入资金、持续性投入资金这样的所有资源)。 3、 系统可行性分析 对系统的实施中的资源进行分析,说明投入的合理性和必然性,对其中的所有不可预见性的投入进行合理的量化说明,来说明系统的实施的可行性 。系统分析阶段就是要全面了解系统的商业需求和处理要求并制作书面文件,详细地定义信息系统的功能。这一阶段的最根本的目的就是解决系统要做什么的问题--- What to do??系统分析准备在进行详细的系统开发前,开发人员必须先理解一些概念,包括方法、模型、工具和技术。第5页/共65页1.模型:是对问题做出的一种抽象,它由一组图示符号和组织这些符号的规则组成。建模是问题域中定义软件解的一种方法。建模的目的主要是为了减少问题的复杂性。2.工具 系统开发工具是一些帮助生成模型或其它组件的软件。系统开发人员常用的是CASE工具,如Microsoft Visio 、 Rational?Rose等。用了CASE工具,开发软件能更加规范,标准化,从而提高软件开发的效率。3.技术技术就是帮助分析员完成系统开发活动或任务的一组方法。有时一种技术适用于整个生命周期。常在开发过程中使用的技术有:项目管理技术、用户面谈技术、数据建模技术、结构化分析技术、软件测试技术、面向对象分析与设计技术等。4.系统开发方法第6页/共65页方法是一组完成系统开发生命周期每一阶段活动的技术,它提供了完成每一步的详细指导。常用的方法有结构化方法和面向对象方法。本章主要以结构化方法为例。20世纪70年代出现了结构化的系统分析设计方法。结构化系统分析(Structured Analysis ,简称SA),是一种简单实用,使用很广的方法。它往往是将一个复杂的系统分解、抽象成为多个简单的子系统;使用自顶向下逐层分解的方式,将一个复杂系统分解,抽象成为多个简单的子系统,如果某个子系统仍然复杂,将其进一步分解。第7页/共65页目前作为针对“软件危机”的最佳对策,面向对象(OO)技术已经引起人们的普遍关注。而许多编程语言(C++、VB、VF、PB、Delphi等)也都推出了支持面向对象的新版本。 面向对象方法的基本思想是,从现实世界客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题。面向方法强调直接以现实世界中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。第8页/共65页系统分析阶段的任务主要解决了系统“做什么”的问题,系统设计阶段要解决的任务则是系统“怎么做”的问题。 系统分析员审查可行性研究报告、软件项目开发计划、软
文档评论(0)