1、1董威董威国防科技大学计算机学院国防科技大学计算机学院602602教研室教研室2006.32006.3E-mail: 2主要内容z通过开发一个具体软件的过程,掌握现代软件工程中的部分管理和开发方法!z开发一个基于Web的分布式应用软件.z使用UML对软件进行需求和设计建模.z遵循软件项目管理的相关原则.3一、课程简介一、课程简介4课程形式z课堂(4学时)z题目实习x分组实践x选择题目5课堂内容z课程要求z基于Web的软件开发方法z相关文档模版z软件项目管理方法z软件开发过程6前导实践性知识z软件工程z程序设计z计算机网络z数据库7实习题目1z建立一个分布式、互动式的远程教学平台,建立一个分布式
2、、互动式的远程教学平台,为教师教学、学生学习提供比较完整的教为教师教学、学生学习提供比较完整的教学解决方案。其主要功能包括通知发布、学解决方案。其主要功能包括通知发布、参考资料发布、电子课件发布、学生作业参考资料发布、电子课件发布、学生作业提交、帮助教师批改学生作业、帮助学生提交、帮助教师批改学生作业、帮助学生复查批改后的作业。复查批改后的作业。 8实习题目2z开发一个基于开发一个基于WEB的网上机票查询和销售的网上机票查询和销售系统,该系统可以录入航班和机票信息,系统,该系统可以录入航班和机票信息,用户可以查询航班时刻表、查询机票可用用户可以查询航班时刻表、查询机票可用信息和机票折扣信息,用
3、户可以通过信息和机票折扣信息,用户可以通过WEB订票。订票。 9实习题目3z开发一个基于开发一个基于WEB的网上投稿系统,该系的网上投稿系统,该系统可以接受作者的电子投稿,以及作者信统可以接受作者的电子投稿,以及作者信息(如姓名、单位、通信地址、电话、息(如姓名、单位、通信地址、电话、E-Mail等)注册,并能供投稿人查询稿件处等)注册,并能供投稿人查询稿件处理情况,以及在稿件处理后(退稿、录用、理情况,以及在稿件处理后(退稿、录用、修改后再审等),能自动发送修改后再审等),能自动发送E-Mail通知通知投稿人。投稿人。 10实习题目4z开发一个基于开发一个基于Web的的BBS系统,包含一般系
4、统,包含一般BBS所具有的功能,如用户注册、用户信所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。询、用户信息修改和查询等。 11实习题目5z开发一个基于开发一个基于Web的网上书店,该系统可的网上书店,该系统可以分类录入书籍和相关信息(如名称、页以分类录入书籍和相关信息(如名称、页数、出版商、摘要、目录等),用户可以数、出版商、摘要、目录等),用户可以注册、登录,注册用户享受打折服务,所注册、登录,注册用户享受打折服务,所有用户都可以查询、浏览书籍。注册用户有用户都可以查询、浏览书籍。注册用户可以定购书籍并查询
5、订单。可以定购书籍并查询订单。 12实习题目6z Consider a railway. The railway consists of interconnected stations. Shuttles bid for orders to transport passengers between certain stations. Successful completion of an order results in a monetary reward for the shuttle involved. In case an order has not been completed in
6、a given amount of time, a penalty is incurred. New orders are made known to all shuttles, thus all shuttles can make an offer. The shuttle with the best, i.e. lowest offer will receive the assignment. Using the tracks will incur a toll, depending on the distance covered. Maintenance of the shuttles
7、is possible at any station and will cost both time and money.13实习题目7(较难)z As part of an integrated avionics system, you are to develop a program called RSDIMU, for the management of sensor redundancy in a Redundant Strapped Down Inertial Measurement Unit (RSDIMU). An RSDIMU is used as part of the na
8、vigation system in aircraft and spacecraft. z The portion of the RSDIMU you will handle contains eight linear accelerometers mounted on the four triangular faces of a semioctahedron. Each accelerometer measures specific force along its associated measurement axis. You are to process these sensor mea
9、surements to provide estimates of the linear acceleration of the vehicle in which the RSDIMU is installed.14其它自选项目15开发小组(3-5人)z分析员z开发人员z测试人员z管理者z其它角色(课程开发员、图形设计员、系统管理员、技术文档编写员、工具专家等) 一周内由课代表把分组名单和分组编号交上。一周内由课代表把分组名单和分组编号交上。16作业形式z开发计划、需求、设计、测试等主要文档。zUML需求和设计模型。z程序代码。z编程语言和工具自选。17考核依据z所要求的文档是否齐全及其质量z
10、UML模型z软件功能、界面和质量z是否按时完成18需要提交的相关文档y软件开发计划软件开发计划y需求分析文档需求分析文档y软件设计文档软件设计文档y测试计划和评估文档测试计划和评估文档yRose模型文件模型文件19需要提交的UML模型z用例图z顺序图z类图z状态图z活动图z组件图z配置图20要求z2006年5月15日前z作业均以电子文档的形式提交,所有代码、文档作业均以电子文档的形式提交,所有代码、文档放在一个压缩文件中,文件名是放在一个压缩文件中,文件名是“第第x组组”。压。压缩文件中要包括一个文本文件,内容是本组成员缩文件中要包括一个文本文件,内容是本组成员名单和学号;代码、文档各放一个目
11、录下。名单和学号;代码、文档各放一个目录下。z上机检查。上机检查。21参考资料z软件工程zUML、Rational Rose相关资料zJavaScript动态网页设计,Nick Heinle & Bill Pena, 机械工业出版社,2003 zJSP高级编程,廖若雪, 机械工业出版社,2001 zMicrosoft Project相关工具指南22实习环境23二、二、Web应用软件应用软件24WebWeb应用软件概述应用软件概述 z Web应用软件是指分布在客户端和服务器的应用软件;z 客户端通过Web浏览器向客户提供界面并接收用户的操作指令;z 客户在页面上的超链点击和数据录入等操作行为通过
12、HTTP协议传至Web服务器;z 安装在Web服务器上的服务端程序响应来自客户端的HTTP请求,在服务器上进行运算、处理;z 处理的结果形成HTML页面后再通过HTTP协议回传至客户端浏览器。 25Web应用软件的分层26客户端软件的开发1. 创建HTML页面;2. 创建JavaScript代码;27服务器端软件的开发Servlet(1)y 超文本传输协议:Web客户与Web服务器之间的通信协议,它指定了有效的请求、响应格式,错误代码,以及数据类型。 y HTTP请求:一组由浏览器发往Web服务器的数据。HTTP请求包含所请求页面的名称,浏览器的描述信息,可接受的响应数据类型,以及用户输入的数
13、据。 y HTTP响应:一组由Web服务器发往Web浏览器的数据,它是服务器对一次HTTP请求的响应。HTTP响应包括服务器的描述信息,该响应的有效期,和格式化数据。 28服务器端软件的开发Servlet(2)y 表单(form):HTTP协议允许Web浏览器将从用户那里收集来的数据以字符串列表的形式传送给Web服务器。 y HTTPServlet:一个Java类,它接收一个HTTP请求并生成相应的HTTP响应。 y Servlet引擎:它使得Web服务器能够将传入的HTTP请求重定向到某个已部署在Web服务器上的Servlet。 29服务器端软件的开发JDBC1.1. 装载装载JDBC驱动程
14、序驱动程序;2.2. 打开一个指向数据源的数据库连接打开一个指向数据源的数据库连接;3.3. 在数据库连接对象上创建一个在数据库连接对象上创建一个SQL语句对象语句对象;4.4. 执行执行SQL语句。如果语句。如果SQL语句是语句是Select语句,语句,返回的记录集将被封装在类型为返回的记录集将被封装在类型为ResultSet的的对象中,通过对象中,通过ResultSet类的方法,可以获取类的方法,可以获取结果记录集中的内容结果记录集中的内容;5.5. 上述步骤上述步骤3、4可以执行多次,直至最后关闭可以执行多次,直至最后关闭数据库连接,释放资源。数据库连接,释放资源。 30利用UML对We
15、b应用软件建模zWeb页面可以表示为UML中的类。z应该对服务器端的Web页与客户端的Web页分别建模。z服务端的Web页以及Servlet类有权访问服务器端资源(中间层构件、数据库、文件系统等)。z客户端的Web页与该页中包含的所有 Java Applet、ActiveX 控件或插件相关。31构造型(stereotype)zserver page、servlet和 client page。zbuild单向关联,方向从服务端Web页/Servlet类指向客户端Web页。z每个客户端Web页至多只能由一个服务端Web页/Servlet类构建。z一个服务端Web页/Servlet类可以构建多个客户端Web页。32构建关系33Web页间的超链34客户端协作35服务端协作36表单及其提交关系的表示37三、文档模版三、文档模版38主要文档z软件开发计划z软件需求规约z软件构架文档z软件测试计划z测试评估摘要