软件工程学习之流程

来源:互联网 发布:淘宝店铺价格怎么设置 编辑:程序博客网 时间:2024/05/01 04:51

        软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的、是指导计算机软件开发和维护的工程软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。


                                      

        可行性分析通俗来说就是要对所要建设的软件的功能如何解决进行分析,研究问题的范围,主要包括经济可行性,技术可行性和环境可行性,当然还有比如资源,时间法律。可行性研究阶段应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一。  其步骤为

                                                                                       

            需求分析是对用户的需求进行收集整理,将用户的思想传递给软件设计人员,让设计了解所需要做的综合需求与数据需求。借助当前系统的逻辑模型导出目标系统的逻辑模型,并用数据流图、数据字典和简要的算法描述表示系统的逻辑模型,并书写软件需求规格说明书。                               

                                                                               

   系统设计可分为总体设计(概要设计)和详细设计(过程设计)

           概要设计是从整体上对系统进行设计。通过这个阶段的工作将划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级。其任务是设计软件结构,确定系统中每个程序有哪些模块组成,确定模块

                                                                      

         详细设计是为软件结构图中的每一个模块确定采用的算法和模块内的数据结构,用某种选定的表达工具清晰的描述,确定模块的外部接口和用户界面,为每一模块设计一组测试用例。其过程为

                                                                               

           程序编码是设计的继续,是将设计转换为计算机能够理解的形式,要求程序语法正确,逻辑正确,有良好的可读性程序员必须深刻的理解、熟练的掌握并正确的运用程序设计语言的特性,源程序应具有良好的结构性和良好的设计风格

                                                                         

            程序测试的目的是从用户角度,普遍希望通过软件测试暴漏软件中隐藏的错误和缺陷,从软件开发者角度,表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求。测试方法有黑盒测试和白盒测试。

                                           

         软件维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。通常有四类维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。

                                             

 

0 0