欢迎来到天天文库
浏览记录
ID:45305509
大小:256.50 KB
页数:79页
时间:2019-11-11
《实用软件工程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实用软件工程宁夏大学数学计算机学院赵国栋观察与思考为什么要学软件工程?在软件工程中学什么?应该怎么学软件工程?前言1.《软件工程》:72课时,4学分。2.教材:赵池龙等编著,《实用软件工程(第二版)》,电子工业出版社,十一五规划教材,2006。其中打星号“*”章节可以不讲。3.参考书:赵池龙等编著,《软件工程实践教程》,电子工业出版社,2007。4.考试评分:期末笔试60%,平时表现40%。5.大作业题目就是平时的表现:3-5人为一项目组,自选项目,走完项目需求、设计、编程、测试、运行的全过程,要求文档齐全、程序正确、界面友好、使用方便。第1章软件工程的内容与方法本章导读21世纪,什么技术
2、将影响人类的生活?什么产业将决定国家的势力?可以毫不夸张地说,信息产业是首选的答案之一。信息产业的核心是芯片与软件,软件工程是软件开发、生产、服务和管理的科学。本章对读者的要求(1)要求了解1)微软的企业文化2)CMMI的由来及其实质3)敏捷文化现象的由来及其实质4)软件工程与信息系统工程的关系5)信息系统工程的内容6)信息系统的建设方法7)信息系统建设的成功案例本章对读者的要求(2)要求理解1)软件工程的定义和作用2)软件工程四个方面的内容:软件开发模型,软件开发方法,软件支持过程,软件管理过程3)IT企业ISO9000的文档编写方法和具体实施步骤本章对读者的要求(3)要求关注1)软件工
3、程中常用的三种开发方法:“面向过程的方法、面向数据的方法、面向对象的方法”2)软件工程中的形式化方法3)软件工程的五个面向实施理论:“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”1.1软件工程的定义Computer:由硬件和软件组成。硬件:是看得見、摸得着的电子机械设备块。软件:是依附在硬件上面的程序、数据和文档的集合,是指挥控制计算机系统(包括硬件和软件)工作的神经思维中枢。如果将硬件比作人的身体素质,那么软件就相当于人的神经中枢和知识才能。软件开发:既非常艰苦(因为软件设计思想与开发工具不断更新),又无限快乐(因为软件成果是人类智慧与艺术的结晶)。软件的定义软
4、件==程序+数据+文档。数据==初始化数据+测试数据文档==开发文档+管理文档。今天仍然有人认为:软件等于程序。这些人一上来就写程序。RogerS.Pressman说:“越早开始写代码的人,就是越迟完成代码的人”。对管理文档的全面认识,那就更晚了。1974年,美国人认识到软件需要管理。1984年,美国人认识到软件管理是一个过程管理,或是一个管理过程。1991年,出现了软件过程能力成熟度模型CMM(CapabilityMaturityModel)版。软件的最新定义软件==知识+程序+数据+文档对这一定义的讨论:正方:因为软件是知识在网络上的体现,所以这个定义非常好。反方:程序、数据、文档本身
5、就是知识的表现,所以这个定义是画蛇添足。软件文档具有严格的层次关系(1)《目标程序》覆盖《源程序》;(2)《源程序》覆盖《详细设计说明书》;(3)《详细设计说明书》覆盖《概要设计说明书》;(4)《概要设计说明书》覆盖《需求规格说明书》;(5)《需求规格说明书》覆盖《用户需求报告》;(6)《用户需求报告》覆盖《软件合同》。管理文档具有严格的时序关系:因为管理是一个过程。程序的定义(1).面向过程的程序==算法+数据结构。(2).面向对象的程序==对象+消息。(3).面向数据的程序==数据库表+在表上的操作(如存贮过程、触发器或视图)。(4).面向构件的程序==构件+构架。优秀的程序(或模块)
6、,必须满足“高内聚、低耦合”的性质。所谓高内聚,就是程序(或模块)内部结构紧凑,凝聚力和向心力强。所谓低耦合,就是程序(或模块)之间彼此依赖关系很低。有人说:“人生就是一段程序,这段程序是用特殊代码写成的,只是算法极其复杂而已。”软件工程的定义(1).1990年,IEEE对软件工程的定义是:软件工程是将系统化的、严格约束的、可量化的方法,应用于软件开发、运行和维护中去。(2).2001年,RogerS.Pressman对软件工程的定义是:软件工程是一个过程、一组方法和一系列工具。(3).2003年,赵池龙对软件工程的定义是:软件工程是研究软件开发和软件管理的一门工程科学。可见:软件工程的定
7、义是与时俱进的。软件工程研究的内容(1).软件开发模型,如:瀑布模型、增量模型、原型模型、螺旋模型、迭代模型等。(2).软件开发方法,如:面向过程的方法、面向数据的方法、面向对象的方法(包括面向业务基础平台的方法、面向工作流方法、面向主体的方法、面向方面的方法、面向代理的方法等等),以及形式化方法。(3).软件支持过程,如:CASE工具Rose、北大青鸟系统、PowerDesigner、ERWin,以及配置管理工具等。(
此文档下载收益归作者所有