软件工程第4章软件分析.pptx
《软件工程第4章软件分析.pptx》由会员分享,可在线阅读,更多相关《软件工程第4章软件分析.pptx(55页珍藏版)》请在课桌文档上搜索。
1、第4章 软件分析,计算机系统结构软件系统前期分析项目可行性分析软件需求分析软件需求验证,1.计算机系统工程,计算机系统计算机系统是一个复杂的系统,它包含硬件系统、软件系统、网络通信系统、人工操作系统等诸多子系统,而其中的软件系统又由操作系统、数据库系统、应用程序等更小的系统元素组成。,计算机体系结构,几种典型的计算机体系结构:中央主机结构:主机集中了全部智能,并依靠终端接口与外部设备连接。,计算机体系结构,客户机/服务器结构:智能分布于服务器与客户机,并依靠网络连接成系统。其中,服务器处于核心位置,提供被动核心服务;客户机处于边缘位置,可主动访问服务器,寻求服务支持。,计算机体系结构,浏览器/
2、服务器结构:一种更适合互联网远程交互的基于Web应用的特殊的客户机/服务器结构。,2.软件系统前期分析,可从以下方面进行软件高层分析:软件系统的业务领域、业务边界与业务流程。软件系统对硬件设施、网络环境、数据环境的依赖。软件系统的安全层级、措施与防范机制。软件系统与其它相关系统之间的协作关系。软件系统与用户组织及其工作任务的协调性与适应性。,系统结构建模,使用矩形与带箭头的线段来描述系统的基本结构下图是自动阅卷系统的系统框架图。通常用来描述系统的逻辑框架。,系统工作流建模系统流程图,系统流程图是概括地描绘物理系统的传统工具。,基本思想:用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、
3、数据库、人工过程等)。,系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。,1.符号,利用符号可以把一个广义的输入输出操作具体化为读写存储在特殊设备上的文件(或数据库),把抽象处理具体化为特定的程序或手工操作等。,以概括的方式抽象地描绘一个实际系统时,仅仅使用下图中列出的基本符号就足够了,需要更具体地描绘一个物理系统时还需要使用右图中列出的系统符号,以一个简单的例子进行讲解。某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记
4、录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便订货,规定每天向采购部门送一次订货报告。,2.例子,该装配厂使用一台小型计算机处理更新库存清单主文件和产生订货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。如下图所示。,用来描述系统的工作流程,以系统中的物理组件为单元说明系统的基本结构,并由此说明系统对数据
5、的加工步骤下图是自动阅卷系统的系统流程图。,3.项目可行性分析,可行性分析意义 工程经验表明:可行性分析对软件问题解决途径的探索,在以下几个方面能够对软件项目带来积极的影响。1.通过少量的的费用,对项目能否实施尽早作出判断,以避免项目开展以后所带来的大量的人力、物力和时间的浪费。2.根据项目所受到的条件限制,对有待开发的系统在体系结构、工作模式等方面作出抉择,以利于项目今后的实现。3.可以把可行性分析看作软件定义时期需要进行的前导性工作,其结果可以作为一个高层框架用于软件需求分析过程之中,以方便今后软件规格定义工作的顺利开展。,可行性研究的任务,可行性研究的目的不是解决问题,而是确定问题是否值
6、得去解决。,首先,进一步分析和澄清问题定义然后,分析员应该导出系统的逻辑模型最后,探索若干种可供选择的主要解法,可行性研究分析过程:,可行性研究的任务,至少应该从下述3个方面研究每种解法的可行性,可行性研究过程,怎样进行可行性研究呢?典型的可行性研究过程有下述8个步骤。复查系统规模和目标研究目前正在使用的系统导出新系统的高层逻辑模型进一步定义问题导出和评价供选择的解法推荐行动方针草拟开发计划书写文档提交审查,复查系统规模和目标,分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束
7、。这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。,2.研究目前正在使用的系统,现有的系统是信息的重要来源。显然,如果目前有一个系统正被人使用,那么这个系统必定能完成某些有用的工作,因此,新的目标系统必须也能完成它的基本功能;另一方面,如果现有的系统是完美无缺的,用户自然不会提出开发新系统的要求,因此,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。应该仔细阅读分析现有系统的文档资料和使用手册,也要实地考察现有的系统。常见的错误做法是花费过多时间去分析现有的系统。没有一个系统是在“真空”中运行的,绝大多数系统都和其他系统有联系。,3.导出新系统的高层逻
8、辑模型,优秀的设计过程通常是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。,4.进一步定义问题,可行性研究的前4个步骤实质上构成一个循环。分析员定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。,5.导出和评价供选择的解法,分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的物理解法供比较和选择。其次可以考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,
9、去掉其中从操作方式或操作过程的角度看用户不能接受的方案。接下来应该考虑经济方面的可行性。分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表,这个进度表不需要制定得很详细,通常只需要估计生命周期每个阶段的工作量。,6.导出和评价供选择的解法,根据可行性研究结果应该决定的一个关键性问题是:是否继续进行这项开发工程?分析员必须清楚地表明他对这个关键性决定的建议。如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。通常客
10、户主要根据经济上是否划算决定是否投资于一项开发工程,因此分析员对于所推荐的系统必须进行比较仔细的成本/效益分析。,7.草拟开发计划,分析员应该为所推荐的方案草拟一份开发计划,除了制定工程进度表之外还应该估计对各类开发人员和各种资源的需要情况,应该指明什么时候使用以及使用多长时间。此外还应该估计系统生命周期每个阶段的成本。最后应该给出下一个阶段(需求分析)的详细进度表和成本估计。,8.书写文档提交审查,应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。,4.需求分析任务与过程,需求分析是为有效解决用户需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 分析
链接地址:https://www.desk33.com/p-381524.html