《软件工程课程设计指导书》.docx

上传人:b****2 文档编号:3118708 上传时间:2023-05-05 格式:DOCX 页数:28 大小:235.19KB
下载 相关 举报
《软件工程课程设计指导书》.docx_第1页
第1页 / 共28页
《软件工程课程设计指导书》.docx_第2页
第2页 / 共28页
《软件工程课程设计指导书》.docx_第3页
第3页 / 共28页
《软件工程课程设计指导书》.docx_第4页
第4页 / 共28页
《软件工程课程设计指导书》.docx_第5页
第5页 / 共28页
《软件工程课程设计指导书》.docx_第6页
第6页 / 共28页
《软件工程课程设计指导书》.docx_第7页
第7页 / 共28页
《软件工程课程设计指导书》.docx_第8页
第8页 / 共28页
《软件工程课程设计指导书》.docx_第9页
第9页 / 共28页
《软件工程课程设计指导书》.docx_第10页
第10页 / 共28页
《软件工程课程设计指导书》.docx_第11页
第11页 / 共28页
《软件工程课程设计指导书》.docx_第12页
第12页 / 共28页
《软件工程课程设计指导书》.docx_第13页
第13页 / 共28页
《软件工程课程设计指导书》.docx_第14页
第14页 / 共28页
《软件工程课程设计指导书》.docx_第15页
第15页 / 共28页
《软件工程课程设计指导书》.docx_第16页
第16页 / 共28页
《软件工程课程设计指导书》.docx_第17页
第17页 / 共28页
《软件工程课程设计指导书》.docx_第18页
第18页 / 共28页
《软件工程课程设计指导书》.docx_第19页
第19页 / 共28页
《软件工程课程设计指导书》.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《软件工程课程设计指导书》.docx

《《软件工程课程设计指导书》.docx》由会员分享,可在线阅读,更多相关《《软件工程课程设计指导书》.docx(28页珍藏版)》请在冰点文库上搜索。

《软件工程课程设计指导书》.docx

《软件工程课程设计指导书》

 

天津理工学院

《软件工程课程设计》

指导书

 

计算机科学与工程系

2010年

 

目录

1软件工程课程设计概述3

1.1软件工程课程简介3

1.2课程设计的地位、作用和目的及学生能力标准3

1.3实验方式与基本要求3

1.4考核方式与报告要求3

1.5实验环境和实验仪器要求4

2课程设计项目要求4

2.1分组与合作4

2.2任务与分工4

3课程设计的知识准备5

3.1了解软件生命周期5

3.2了解软件生命周期(SDLC)的六个阶段6

3.3了解常用的生命周期模型7

3.4了解快速原型模型和快速原型法7

4课程设计的工作步骤8

4.1问题定义和可行性分析8

4.2需求分析8

4.3总体设计10

4.4详细设计12

4.5实现与测试13

5开发工具介绍14

5.1HTML技术介绍14

5.2ASP技术介绍15

5.3JSP技术介绍17

5.4PHP技术介绍18

6常用的数据库管理系统介绍19

6.1MSSQLSERVER数据库管理系统19

6.2MSACCESS数据库管理系统19

6.3ORACLE数据库管理系统19

6.4MYSQL数据库管理系统20

7参考文献20

8参考网站21

8.1HTML学习网站21

8.2ASP学习网站21

8.3JSP学习网站21

8.4PHP学习网站21

8.5MSSQL学习网站21

8.6ACCESS学习网站21

8.7ORACLE学习网站21

8.8MYSQL学习网站21

8.9一些网上书店的网址22

 

本指导书主执笔人:

李昭智、宁红云

审核人:

范廉明

批准人:

张桦

课程名称:

软件工程课程设计

课程代码:

0680020总学时:

32总学分:

2先行课:

软件工程

1软件工程课程设计概述

1.1软件工程课程简介

本课程从系统工程的角度介绍软件工程方法,通过实践使学生进一步理解软件工程的基本理论、方法、技术和基本知识,以及软件开发的过程和步骤,并且初步具有中小型软件项目的需求分析、设计、编码、测试和维护的能力。

1.2课程设计的地位、作用和目的及学生能力标准

软件工程是重要的专业基础课,通过本课程设计,使学生对软件工程的基本理论、方法和技术有更加深入的实践,有助于培养学生理论联系实践,综合运用多门专业基础课程与专业课程所学知识的能力。

1.3实验方式与基本要求

1)将学生分为5人一组,由1位组长和4位组员组成,共同确定系统目标,如开发某个较大型软件。

2)小组成员共同对软件进行需求分析、总体设计和详细设计,完成规定的软件文档,并实现一个相对完整的可运行的系统原型。

1.4考核方式与报告要求

要求学生在规定的时间内完成课程设计内容并上交报告书。

报告书格式尽可能以软件开发文档的国家标准为主。

指导教师根据学生的完成情况以及报告的书写情况给学生评定成绩。

成绩评定的参考标准为:

1)90—100分:

按期出色地完成了规定的任务;课程设计报告完整;程序运行正常;回答问题正确;小组合作良好。

2)80—89分:

按期较好地完成了规定的任务;课程设计报告较完整;程序运行正常;回答问题正确;小组合作良好。

3)70—79分:

基本完成规定的任务;课程设计报告包含主要部分;程序运行正常,有小错误;回答问题正确;小组合作良好。

4)60—69分:

能够完成规定的基本任务;有课程设计报告,质量较差,不完整;程序运行较正常,存在错误;回答问题基本正确;小组合作基本可以。

5)60分以下:

没有完成规定的基本任务;没有课程设计报告或内容极少;程序无法运行;无法回答问题;小组合作极差。

1.5实验环境和实验仪器要求

硬件环境:

IBM-PC或兼容机

软件环境:

WindowsProfessional或WindowsServer2000或Linux

2课程设计项目要求

2.1分组与合作

要求学生5人一组,由1位组长和4位组员组成,按兴趣自由组合,共同确定系统目标,如开发某个较大型软件。

2.2任务与分工

课程设计小组成员经过合作共同经历软件的问题定义、需求分析、总体设计、详细设计、实现和维护的全过程,并在规定的时间内,以小组为单位提交课程设计报告书和可运行的系统原型。

在设计中,鼓励学生学习和参考已有的成熟软件和开发技术拟题。

软件开发阶段任务及角色分工一览表如下表所示。

表2.1软件开发阶段任务及角色分工一览表

角色承担的任务

文档代号

阶段名称

角色A

组长,高级程序员1

角色B

(高级程序员2)

角色C

(高级程序员3)

角色D

(高级程序员4)

角色E

(高级程序员5)

G0

问题定义与

项目开发计划

小组开题

AG0★★

G1

知名同类网站

考察、分析报告

网站考察分析

AG1★★

G2

子功能系统

软件项目需求

分析报告(SRS)

功能子系统1的

原型需求分析

AG2★

功能子系统2的

原型需求分析

BG2★

功能子系统3的

原型需求分析

CG2★

功能子系统4的

原型需求分析

DG2★

功能子系统5的

原型需求分析

EG2★

G3

顶层

软件项目需求

分析报告(SRS)

0层原型需求分析

(含界面要求)

AG3★★

G4

子功能系统

总体设计软件

结构文档

功能子系统1的

总体设计

AG4★

功能子系统2的

总体设计

BG4★

功能子系统3的

总体设计

CG4★

功能子系统4的

总体设计

DG4★

功能子系统5的

总体设计

EG4★

G5

顶层

总体设计软件

结构文档

0层总体设计(含网站工作原理描述和界面设计要求)BG5★★

G6

数据库

设计报告

数据库设计(含E-R图)AG6★★

G7

子功能系统

详细设计报告

功能子系统1的

详细设计

AG7★

功能子系统2的

详细设计

BG7★

功能子系统3的

详细设计

CG7★

功能子系统4的

详细设计

DG7★

功能子系统5的

详细设计

EG7★

G8

顶层

详细设计报告

总控模块详细设计CG8★★

G9

编码阶段文档

功能子系统1的程序清单、数据库清单

AG9★

功能子系统2的程序清单、数据库清单BG9★

功能子系统3的程序清单、数据库清单CG9★

功能子系统4的程序清单、数据库清单DG9★

功能子系统5的程序清单、数据库清单EG9★

G10

顶层

编码阶段文档

目录结构;总控模块的程序清单、数据库清单

AG10★

G11

网站开发、运行

环境配置与

程序安装文档

运行环境配置与网站安装说明

AG11★★

G12

软件测试与

调试文档

功能子系统1的测试AG12★

功能子系统2的

测试BG12★

功能子系统3的

测试CG12★

功能子系统4的

测试DG12★

功能子系统5的

测试EG12★

G13

软件测试与

联调文档

系统总体测试与调试

DG13★

G14

网站帮助与

使用说明文档

功能子系统1的帮助

与使用说明

AG14★

功能子系统1的帮助与使用说明BG14★

功能子系统1的帮助与使用说明

CG14★

功能子系统1的帮助与使用说明

DG14★

功能子系统1的帮助与使用说明

EG14★

G15

网站帮助与

使用说明文档

系统总体配置、帮助与使用说明EG15★

G16

个人课程

设计报告

个人课程设计

报告AG16★★

个人课程设计

报告BG16★★

个人课程设计

报告CG16★★

个人课程设计

报告DG16★★

个人课程设计

报告EG16★★

 

3课程设计的知识准备

3.1了解软件生命周期

软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、需求分析、总体设计、详细设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

3.2了解软件生命周期(SDLC)的六个阶段

1)问题的定义及规划

此阶段主要确定软件的开发题目、主要功能、实现目标及其可行性。

2)需求分析

在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。

需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。

3)软件设计

此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。

软件设计一般分为总体设计和详细设计。

好的软件设计将为软件程序编写打下良好的基础。

4)程序编码

此阶段是将软件设计的结果转换成计算机可运行的程序代码。

在程序编码中必须要制定统一,符合标准的编写规范。

以保证程序的可读性,易维护性,提高程序的运行效率。

5)软件测试

在软件编程完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。

整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。

测试的方法主要有白盒测试和黑盒测试两种。

在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6)运行维护

软件维护是软件生命周期中持续时间最长的阶段。

在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。

要延续软件的使用寿命,就必须对软件进行维护。

软件的维护包括纠错性维护和改进性维护两个方面。

3.3了解常用的生命周期模型

从概念提出的那一刻开始,软件产品就进入了软件生命周期。

在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。

这样的一个过程,称为"生命周期模型"(LifeCycleModel)。

典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型等。

瀑布模型(WaterfallModel)首先由Royce提出。

该模型由于酷似瀑布闻名。

在该模型中,首先确定需求,并接受验证。

然后拟定规格说明,同样通过验证后,进入设计阶段…可以看出,瀑布模型是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。

但是瀑布模型中有很多很好的思想可以借鉴。

3.4

了解快速原型模型和快速原型法

快速原型法(rapidprototyping)是近年来提出的一种以计算机为基础的系统开发方法,它首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。

原型就是模型,而原型系统就是应用系统的模型。

它是待构筑的实际系统的缩小比例模型,但是保留了实际系统的大部分性能。

这个模型可在运行中被检查、测试、修改,直到它的性能达到用户需求为止。

因而这个工作模型很快就能转换成原样的目标系统。

(快速原型模型如右图所示)

图3.1快速原型模型的工作过程

原型法的主要优点在于它是一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用;它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。

原型法的概念既适用于系统的重新开发,也适用于对系统的修改。

原型法可以与传统的生命周期方法相结合使用,这样会扩大用户参与需求分析、初步设计及详细设计等阶段的活动,加深对系统的理解。

近年来,快速原型法的思想也被应用于产品的开发活动中。

4课程设计的工作步骤

4.1问题定义和可行性分析

首先需要进一步分析和澄清问题定义。

对要开发的软件的功能定义、界面设想、开发目标、未来用户、约束和限制等清楚地列举出来。

然后进行如下过程:

1)复查系统规模和目标:

改正含糊或不确切的叙述。

2)研究目前正在使用的系统:

新的目标系统必须能完成老系统全部有用功能,并加入新特色。

3)导出新系统的高层逻辑模型:

导出现有系统的逻辑模型,即各功能之间的逻辑关系,并用文字进行描述。

4)进一步定义问题:

补充被遗漏了的系统要求。

继续第1-4步,不断循环,直到提出的逻辑模型完全符合目标要求。

然后写出如下文档内容:

1)准确的软件问题定义、功能要求、目标和高层逻辑模型。

2)导出和评价供选择的解法:

从技术角度出发考虑解决问题的不同方案,导出供选择的解法的最简单的途径,将其确定为最佳解决方案。

3)推荐行动方针:

说明选择这个解决方案的理由,进行比较仔细的成本/效益分析。

4)草拟开发计划:

制定工程进度表、估计对各类开发人员和各种资源的需要情况并指明什么时候使用以及使用多长时间、估计系统生命周期每个阶段的成本,尤其是需求分析阶段的详细进度表和成本估计。

4.2需求分析

需求分析的任务是确定对系统的详细的综合要求,它包括:

1)功能需求:

划分出系统必须完成的所有功能。

2)性能需求:

指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性、可靠性、可用性等方面的需求。

4)出错处理需求:

指出在输入信息违反格式要求时,系统应该做什么。

5)接口需求:

如用户接口需求、硬件接口需求、软件接口需求、通信接口需求。

6)约束:

指出数据精度、工具和语言约束、设计约束、应该使用的标准、应该使用的硬件平台等。

在经过需求分析并确定上述信息之后,应该完成如下文档内容:

1)建立数据模型:

软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,对数据的分析经过采用E-R图模型,如右图所示。

(右图:

某校教学管理E-R图)

 

图4.1某校教学管理E-R图

2)导出系统的功能逻辑模型

通常用数据流图、状态转换图、系统流程图等方式来描述系统的功能逻辑模型,如下图所示。

 

图4.2某库存管理系统的数据流图

 

 

图4.3某库存管理系统的系统流程图图4.4状态转换图

3)修正系统开发计划:

根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。

4.3总体设计

总体设计过程通常由两个主要阶段组成:

系统设计阶段和结构设计阶段。

系统设计阶段的工作是在需求分析报告的基础上,进一步得到实现该系统的具体实现方法;结构设计阶段,确定软件结构,在确定软件结构时应该遵循如下规则:

1)改进软件结构提高模块独立性

2)模块规模应该适中

3)深度、宽度、扇出和扇入都应适当

4)模块的作用域应该在控制域之内

5)力争降低模块接口的复杂程度

6)设计单入口单出口的模块

7)模块功能应该可以预测

最后写出总体设计的结果,文档内容中应该包括:

1)用软件层次图或软件结构图描绘的软件结构,简要描述各个模块的算法,以及模块间的接口关系。

2)制定初步的测试计划。

3)详细的实现计划,如编码顺序。

4)数据库设计结果,如由E-R图导出的关系模型。

由数据流图导出的软件结构图如下例所示。

 

图4.5求最佳解事件的数据流图图4.6求最佳解事件的软件结构图

由E-R图导出的数据库设计结果如下例所示。

 

图4.7学生选课事件的E-R图

 

图4.8由E-R图导出的有关选课信息的关系模式

4.4详细设计

详细设计阶段的任务是设计出每个模块的设计“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。

因此,详细设计的结果基本上决定了最终的程序代码的质量。

结构程序设计的经典定义如下所述:

“如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

”。

常用的详细设计图形规范有程序流程图、盒图、PAD图等,如下图所示。

 

图4.9程序流程图图形符号

 

图4.10盒图图形符号

 

图4.11PAD图图形符号

结构程序设计技术是保证软件的可靠性,使将来编写出的程序可读性好、容易理解、容易测试、容易修改和维护的基本保证,是进行详细设计的逻辑基础。

此外,在详细设计阶段,人机界面还要进一步细化,在进一步设计人机界面的过程中,学生应该充分重视并认真处理好系统响应时间、用户帮助设施、出错信息处理和命令交互、美观友好等设计问题。

4.5实现与测试

通常把编码和测试统称为实现。

所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。

在这里需要事先考虑2个部分,选择程序设计语言和确定良好统一的编码风格。

良好的编码风格包括:

1)程序内部的文档,即恰当的标识符、适当的注解和程序的视觉组织等等。

2)完整的数据说明

3)简洁明了语句构造

4)完善的输入输出机制

5)合理的效率,包括处理机时间和存储器容量两个方面。

在编码完成之后,全组要进行认真地软件测试,以确保软件的正确性,测试步骤为模块测试、子系统测试、系统测试、验收测试。

测试过程如下图所示。

 

图4.12测试阶段的信息流

5开发工具介绍

电子商务网站或创业网站开发常采用HTML技术、ASP技术、JSP技术或PHP技术。

对于这些常用技术,这里仅作简单介绍,鼓励学生能够根据课题的需要自行到图书馆、书店、因特网搜索相关学习资料,进行自学,同时也鼓励学生到网络上搜索相似软件进行安装、学习和模仿。

5.1HTML技术介绍

HTML文件是什么?

HTML表示超文本标记语言(HyperTextMarkupLanguage)。

它是一个包含标记的文本文件,这些标记告诉浏览器如何显示这个页面。

HTML文件必须有htm或者html扩展名。

HTML文件可以用一个简单的文本编辑器创建。

下面是一个简单的HTML文件,打开附件中的记事本,在其中输入以下文本:

 

将此文件保存为“mypage.htm”,启动浏览器。

在文件菜单中选择“打开”(或者“打开页面”),这时将出现一个对话框。

选择“浏览”(或者“选择文件”),定位到你刚才创建的HTML文件—“mypage.htm”,选择它,单击“打开”。

然后在对话框中,你将看到这个文件的地址,比如说:

“C:

\MyDocuments\mypage.htm”。

单击“确定”,浏览器将显示此页面。

下面是例子解释。

HTML文档中,第一个标签是。

这个标签告诉浏览器这是HTML文档的开始。

HTML文档的最后一个标签是,这个标签告诉浏览器这是HTML文档的终止。

在和标签之间文本的是头信息。

在浏览器窗口中,头信息是不被显示的。

标签之间的文本是文档标题,它被显示在浏览器窗口的标题栏。

在和标签之间的文本是正文,会被显示在浏览器中。

标签之间的文本会以加粗字体显示。

还有一些常用的标识语句为:

abc
居中显示abc

abc
显示只有一个格的表

abc定义abc的显示大小和颜色。

显示图片

文字提示显示链接地址

可以到

5.2ASP技术介绍

ActiveServerPages即ASP是微软开发的一种类似HTML(HypertextMarkupLanguage超文本标识语言)、Script(脚本)与CGI(CommonGAtewayInterface通用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBSCRIPT,javascript等在内的许多已有的脚本语言编写ASP的应用程序。

ASP的程序编制比HTML更方便且更有灵活性。

它是在WEB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。

因此ASP与一般的脚本语言相比,要安全的多。

ASP可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。

ASP吸收了当今许多流行的技术,如IIS,ACTIVEX,VBSCRIPT,ODBC等,是一种发展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技术的充分支持。

通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。

可以在此找到更详细的信息:

ASP中最为常用的内置对象和组件如下:

Request对象:

用来连接客户端的Web页(.htm文件)和服务器的Web页(.asp文件),可以获取客户端数据,也可以交换两者之间的数据。

Response对象:

用于将服务端数据发送到客户端,可通过在客户端浏览器显示,用户浏览页面的重定向以及在客户端创建cookies等方式进行。

该功能与Request对象的功能恰恰相反。

Server对象:

许多高级功能都靠它来完成;它可以创建各种Server对象的实例以简化用户的操作。

Application对象:

它是个应用程序级的对象,用来在所有用户间共享信息,并可以Web应用程序运行期间持久地保持数据。

同时如果不加以限制,所有客户都可以访问这个对象。

Session对象:

它为每个访问者提供一个标识;Session可以用来存储访问者的一些喜好,可以跟踪访问者的的习惯。

在购物网站中,Session常用于创建购物车(ShoppingCart)。

BrowserCapabilities(浏览器性能组件):

可以确切的描述用户使用的浏览器类型、版本以及浏览器支持的插件功能。

使用此组件能正确地裁剪出自己的ASP文件输出,使得ASP文件适合于用户的浏览器,并可以根据检测出的浏览器的类型来显示不同的主页。

FileSystemObjects(文件访问组件):

允许你访问文件系统,处理文件。

ADO(数据库访问组件):

它是最有用的组件;可以通过ODBC实现对数据库的访问。

AdRotator(广告轮显组件):

专门为出租广告空间的站点设计的,可以动态的随机显示多个预先设定的BANNER广告条。

以下是ASP通过ADO组件调用数据库并输出的例子:

 

ASP技术有一个缺陷:

它基本上是局限于微软的操作系统平台之上。

ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WE

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2