欢迎来到天天文库
浏览记录
ID:16158973
大小:580.00 KB
页数:88页
时间:2018-08-08
《清华大学郑人杰 殷仁昆教授 《软件工程讲义》-02》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程第二章需求分析2.1系统分析2.2软件需求分析2.3结构化分析方法2.4快速原型化方法2.5需求定义与评审1软件工程2.1系统分析基于计算机的系统的系统元素包括硬件、软件、人、数据库、文档和过程。系统分析的目标识别用户要求评价系统的可行性,进行经济和技术分析把功能分配给硬件、软件、人、数据库和其它系统元素建立成本和进度限制生成系统规格说明2软件工程识别用户要求分析员必须考虑以下问题:识别希望的功能和性能范围;确定系统的功能、性能、约束和接口;功能和性能可靠性和质量总的系统目标成本与进度限制制造需求市场与竞争情况有效的技
2、术将来可能的扩充3软件工程可行性研究可行性研究从经济可行性、技术可行性、法律可行性和用户操作可行性等方面评价系统是否值得做,是否能做。可行性研究的步骤1)确定项目的规模和目标2)研究当前正在运行的系统3)建立新系统的高层逻辑模型4)导出和评价各种方案4软件工程推荐可行的方案编写可行性研究报告成本估算专家估算技术(Delphi技术)成本估算模型(COCOMO)效益估算投资回收期纯收入投资回收率经济可行性成本–效益分析5软件工程技术可行性技术风险分析技术解决方案的实用性使用的技术实用化程度技术解决方案合理程度技术资源的可用性参与人员
3、的工作基础基础硬件/软件的可用性软件工具实用性6软件工程法律可行性侵权和责任问题专利法著作权法软件保护条例用户类型:外行型/熟练型/专家型操作习惯使用单位的计算机使用情况使用单位的规章制度用户操作可行性7软件工程2.2软件需求分析需求分析是一项软件工程活动,其目的是:清楚地理解所要解决的问题,完整地获取用户要求;刻划出软件的功能和性能;指明软件与其他系统元素的接口;建立软件必须满足的约束。1.软件需求分析的目的8软件工程需求分析是一项软件工程活动,它包括:需求获取刻划出软件的功能和性能;指明软件与其他系统元素的接口;建立软件必须
4、满足的约束。需求建模需求分析建立起来的模型为日后软件设计人员提供了可被翻译成数据、体系结构、接口和处理过程设计的模型。2.需求分析的任务9软件工程需求规格说明需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据。需求评审需求分析研究的对象是用户的要求。必须全面理解用户的各项要求,准确表达被接受的用户要求。只有经过确切描述的软件需求才能成为软件设计的基础。10软件工程软件开发是要实现目标系统的物理模型。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。目标系统当前系统物理模型逻
5、辑模型模型化抽象化物理模型逻辑模型具体化实例化理解需求导出怎么做做什么11软件工程3、需求获取需求获取是在问题及其最终解决方案之间架设桥梁的第一步。需求获取的目的是清楚地理解所要解决的问题,完整地获得用户的需求。获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需求,分析者、开发者和客户就能探索出描述这些需求的多种解决方案。12软件工程软件需求的层次业务需求反映了组织或客户对系统、产品高层次的目标要求,它们一般在项目视图和范围文档中给予说明。用户需求描述用户使用软件需要完成哪些任务,它们可通过使用实例图或
6、脚本说明加以阐明。功能―非功能需求定义了开发者必须实现的软件功能,而非功能需求如表所示:13软件工程14软件工程需求获取过程需求获取包括以下活动:发现和分析问题发现问题症结,并分析问题的原因/结果关系。获取需求根据对问题的理解定义需求。使用调查研究方法收集信息;遵循需求获取框架,按照三个成分观察:即数据、过程和接口。需求归档以草稿形式归档调查结果。形式有用例、决策表、需求表等。15软件工程需求获取技术的基本特征好的需求获取技术,对于规范需求获取活动,高效准确地获取需求定义,是十分重要的。好的需求获取技术,应具有如下基本特征:提供
7、便于沟通的工具,如易于理解的语言和直观的图表;提供定义系统边界(交互)的方法;提供支持抽象的机制,如“分解”、“映射”等;16软件工程鼓励分析员使用面向问题的术语思考问题,编写文档;为分析员提供多种可供选择的解决方案;适应需求的变化。适于以上特征的需求获取方法:基于数据流图的结构化分析方法;基于用例(usecase)的建模方法。需求获取技术的关键点在于:深入浅出需求获取要尽可能全面、细致。17软件工程获取的需求是个全集,系统真正实现的是个子集。分析时的调研内容并不都纳入到新系统中,目的在于以后的扩充。以流程为主线在与用户交流的过
8、程中,应该用流程将所有的内容串起来。如信息、组织结构、处理规则等。这样便于交流沟通。流程描述有宏观,也有微观。既要强调总体的业务流程、全生存周期的业务流程,又要对流程细化,有分支的业务流程。18软件工程需求获取应遵循的原则抽象和分解是在人们认识世界和改造世界的长
此文档下载收益归作者所有