文档库 最新最全的文档下载
当前位置:文档库 › 软件工程课程设计小论文之软件设计

软件工程课程设计小论文之软件设计

软件工程课程设计小论文之软件设计
软件工程课程设计小论文之软件设计

logo

软件工程小论文题目《软件设计》

专业班级:

小组成员:

授课教师:

完成时间: xx 年x月x日

xxxx学院

目录摘要 1

引言 2

第一章软件设计概述 3

1.1 软件设计定义 3

1.2 设计要素 3

1.3 设计原则 3

1.4 设计过程 4

1.5 指导方针 4

1.6 设计基础 5

第二章设计方法 6

2.1 模块设计 6

2.2 数据设计 6

2.3 体系设计 7

第三章框架设计 7

3.1 瀑布模型 7

3.1.1 概述 7

3.1.2 瀑布模型优缺点 8

3.1.3 客户需求 8

3.2 增量模型 9

3.2.1 概述 9

图3-2 增量模型 10

3.2.2 增量模型优缺点 10

小结 11

个人感想 11

参考文献 13

摘要

软件设计是把许多事物和问题抽象起来,并且抽象它们不同的层次和角度。建议用数学语言来抽象事务和问题,因为数学是最好的抽象语言,并且它的本质就是抽象。将复杂的问题分解成可以管理的片断会更容易。将问题或事物分解并模块化这使得解决问题变得容易,分解的越细模块数量也就越多,它的副作用就是使得设计者考虑更多的模块之间耦合度的情况。

关键字:抽象语言模块化耦合度

引言

软件设计方法论的这套基本原理已经经过了多年的进化,在软件开发的生命周期中,软件设计是在软件描述提供的的基础上,对软件需求进行分析以形成软件内部结构的描述说明的活动之一。耦合和内聚是两个用来评估软件设计质量的方法。每种概念的影响程度不尽相同,但它们都经历了时间的洗礼。基于这些基本原理设计者可以采用更多更成熟的设计方法。

第一章软件设计概述

1.1 软件设计定义

软件设计即应用各种各样的技术和原理,并用它们足够详细的定义一个设备、一个程序或系统的物理实现的过程。”对任意的工程产品或系统,开发阶段绝对的第一步是确定将来所要构建的制造原型或实体表现的目标构思。这个步骤是由多方面的直觉与判断力来共同决定的。这些方面包括构建类似模型的经验、一组引领模型发展的原则、一套启动质量评价的标准、以及重复修改直至设计最后定型的过程本身。计算机软件设计与其他工程学科相比还处在幼年时期,仍在不断变化中,例如更新的方法、更好的算法分析、以及理解力的显著进化。软件设计的方法论的出现也只有三十年多一点,仍然缺乏深度、适应性和定量性质,通常更多的与经典工程设计学科相联系。尽管如此,现今的软件技术已经存在、设计质量的标准也可使用、设计符号亦可以应用。软件设计是一种在设计者计划中通过诸如软件如何满足客户的需要,如何才能容易地实现和如何才能方便地扩展功能以适应新的需求等不同的考虑的创造性活动。软件设计有很多设计方法或技巧,通过借鉴他人的经验让这件事完成得更好。同时,设计者们也可以利用成熟的标记法将他们的想法和计划传达给开发者以及其他相关人员,使他们更好地了解这个系统。带着这些意见,我们一起来看看什么有助于程序员们找到他们的软件涅盘。

1.2 设计要素

软件设计包括软件的结构设计,数据设计,接口设计和过程设计。

结构设计是指:定义软件系统各主要部件之间的关系。

数据设计是指:将模型转换成数据结构的定义。

接口设计是指:软件内部,软件和操作系统间以及软件和人之间如何通信。

过程设计是指:系统结构部件转换成软件的过程描述。

1.3 设计原则

(1).设计对于分析模型应该是可跟踪的:软件的模块可能被映射到多个需求上。

(2).设计结构应该尽可能的模拟实际问题。

(3).设计应该表现出一致性。

(4).不要把设计当成编写代码。

(5).在创建设计时就应该能够评估质量。

(6).评审设计以减少语义性的错误。

(7).设计应该模块化,将软件逻辑地划分为元素或子系统,并包含数据、体系结构、接口和构件的清晰表示。

1.4 设计过程

软件的设计是一个将需求转变为软件陈述(表达)的过程。这种陈述给一个对软件的全局观点。系统通过逐步求精使得设计陈述逐渐接近源代码。这里有两个基本步骤;

第一步是初步设计 Preliminary design ,关注于如何将需求转换成数据和软件框架。

第二步是详细设计Detail design ,关注于将框架逐步求精细化为具体的数据结构和软件的算法表达。发生中的设计行为、数据、算法和程序设计都需要由现代程序所需的界面设计这一清晰的行为来结合起来。界面设计Interface design建立程序布局和人机交互机制。贯穿设计过程的质量由一系列的正式技术评定formal technical reviews或设计排演 design walkthroughs来评价。

1.5 指导方针

(1).设计应该展现层次结构使得软件各部分之间的控制更明智。

(2).设计应当模块化;这就是说,软件应在逻辑上分割为实现特定的功能和子功能的部分。

(3).设计应当由清晰且可分离的数据和过程表达来构成。

(4).设计应使得模块展现独立的功能特性。

(5).设计应使得界面能降低模块之间及其与外部环境的连接复杂性。

(6).设计应源自于软件需求分析期间获得的信息所定之可重复方法的使用。要拥有良好的设计特征不是靠碰运气,而在设计过程中通过综合运用基础设计原理、系统方法论、彻底的评定回顾可以有助于良好的设计。软件设计方法每天都在进化,作为已经经过测试和细化的方法,良好的设计应具有以下的四种特性,并在所有这些特性之间保持一致。

A.将信息领域的表达转换为软件设计的表达的机制。

B.表示功能组件及其界面的符号。

C.逐步求精和分割的试探。

D.质量评估的指导方针。开发软件的时候,不管采用何种设计方法您必须能够熟练运用一套关于数据、算法和程序设计的基本原理。

(7).设计应该导出降低模块和外部环境间复杂连接的接口。

1.6 设计基础

抽象Abstraction在最高层次上指的是使用待解决的问题领域内的术语描述的解决方案。相对较低层次的抽象则更多的面向程序语言,最低层的抽象则是解决方案的可直接实现的方式描述。软件设计的每一个步骤都是对相应层次解决方案的抽象的逐步求精。

求精 Refinement 又叫做逐步求精指的是通过程序细节连续细化来开发程序体系的策略。分步骤的对程序抽象进行分解直至成为编程语言的过程同时造就了程序的层次结构。在这一点上要对细节多做考虑,这也展示了求精实际上是个苦心经营的过程。

模块化 Modularity 指的是软件可被分割为分别命名并可寻址的组件(也叫做模块),将模块综合起来又可以满足问题的需求的性质。“软件的模块化是允许智能化管理程序的唯一属性。”换句话说,当您将一个复杂问题分解为一些小问题时会更容易解决。需要重点解释的是即使一个系统必须象“单片机”一样来实现,它也可以采用模块化设计。

软件体系(架构)Software Architecture涉及到程序的两个重要特性:1)模块的层次结构。 2)数据结构 。这源自于需求分析时将真实世界问题的含蓄定义与软件解决方案的要素关联起来的分割过程。当问题的每个部分通过一个或多个软件要素得到解决后,与问题的定义和解决相一致软件和数据结构的进化就开始了。这个过程代表了软件的需求分析和设计之间的位置。

控制层级Control Hierarchy也称作程序结构,描述程序组件的组织并意味着控制层级。它并不描述软件的程序方面,比如进程顺序、决定的事件/命令、或工作循环。

数据结构Data structure描述了单个数据间的逻辑关系。数据结构规定了数据的组织、访问方法、关联程度、和信息的选择处理。数据结构的组织和复杂性只受限于设计者的灵活性。唯一的限制就是经典数据结构的数量阻碍了更多的久经考验的结构出现。

软件程序Software Procedure着重于处理每个模块的细节并必须提供一个精确的处理规范,包括事件顺序、准确的判定点、重复操作、甚至数据结构。软件的程序表现是分层的,处理方法应该包括其所有子模块的参考。

信息隐藏Information Hiding的法则建议 由设计决定所刻划的模块特性应该对其余的模块不可见 。换句话说,模块应被设计和指定为包含在模块内部且其他模块不可访问的内容对其他模块来说是无需的。隐藏意味着有效的模块性能够通过定义一套独立的模块来实现,这些模块相互之间的通信仅仅包括实现软件功能的所必须的信息。将使用信息隐藏作为设计标准在测试或今后的维护期间需要修改系统时带来了最大的好处。

第二章设计方法

设计过程中用以促成模块化设计的四个区域:模块、数据、体系和程序设计。

2.1 模块设计

模块设计减低了复杂性、便于修改、且使得支持系统不同部分的并行开发实现起来更容易。模块类型提供的操作特性通过结合时间历史、激活机制、和控制模式来表现。在程序结构内部,模块可以被分类为:

(1).顺序 sequential模块,由应用程序引用和执行,但不能从表观上中断。

(2).增量 incremental模块,可被应用程序先行中断,而后再从中断点重新开始。 (3).并行 parallel 模块,在多处理器环境下可以与其他模块同时执行。单独的模块更容易开发,因为功能可以被划分出来,而界面只是用来确保功能的独立。功能的独立性可以使用两个定性的标准来衡量: 凝聚性 cohesion -衡量模块的功能强度的相关性,和耦合性 coupling -衡量模块间的相互依赖的相关性。2.2 数据设计

数据设计Data design首先并且有些人也坚信,是最重要的设计行为。数据结构的影响和程序上的复杂性导致数据设计对软件质量有着深远的影响。这种质量由以下的原理来实施:

(1).适用于功能和行为分析的系统分析原理同样应该适用于数据。

(2).所有的数据结构,以及各自所完成的操作都应该被确定。

(3).创建数据词典并用来详细说明数据和程序的设计。

(4).底层的数据设计决定应该延迟至设计过程的后期。

(5)数据结构的陈述(具体说明)应该只被那些直接使用包含在此结构内的数据的模块所知道。

(6).用的数据结构和操作库可以在适当的时候使用。

(7).软件设计和编程语言应该支持抽象数据类型的规范和实现。

2.3 体系设计

体系设Architectural Design的主要目标是开发模块化的程序结构并表达出模块间的控制相关性。另外,体系设计融合了程序结构与数据结构,以及使得数据得以在程序中流动的界面定义。这种方法鼓

励设计者关注系统的整体设计而不是系统中单独的组件。选用不同的方法会采用不同的途径来接近体系的原点,但所有这些方法都应该认识到具有软件全局观念的重要性。程序设计Procedural Design在数据、程序结构、和陈述详细算法的说明都已使用类似英语的自然语言来呈现后,再确定程序设计。使用自然语言来陈述的原因是当开发小组的绝大多数成员使用自然语言来交流的话,那么小组外的一个新手在不经学习的情况下会更容易理解这些说明。这里有个问题:程序设计必须毫无歧义的来详细说明程序,但我们都知道不含糊的自然语言也就不自然了。

第三章 框架设计

为了获得高质量的软件所需要完成的一系列的任务框架,它规定了完成各项任务的工作步骤。

3.1 瀑布模型

3.1.1 概述

1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。

瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。对于经常变化的项目而言,瀑布模型毫无价值。(采用瀑布模型的软件过程如图所示)

图3-1 瀑布模型

3.1.2 瀑布模型优缺点

1. 优点

1) 为项目提供了按阶段划分的检查点。

2) 当前一阶段完成后,您只需要去关注后续阶段。

3) 可在迭代模型中应用瀑布模型。

增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。

2. 缺点

1) 在项目各个阶段之间极少有反馈。

2) 只有在项目生命周期的后期才能看到结果。

3) 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

4)瀑布模型的突出缺点是不适应用户需求的变化

3.1.3 客户需求

尽管瀑布模型招致了很多批评,但是它对很多类型的项目而言依然是有效的,如果正确使用,可以节省大量的时间和金钱。对于您的项目而言,是否使用这一模型主要取决于您是否能理解客户的需求以

及在项目的进程中这些需求的变化程度,对于经常变化的项目而言,瀑布模型毫无价值,对于这种情况,您可以考虑其他的架构来进行项目管理,比如名为螺旋模型(spiral model)的方法。

在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:

1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;

2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;

3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。 按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。

3.2 增量模型

3.2.1 概述

增量模型融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。

增量模型(incremental model)与原型实现模型和其他演化方法一样,本质上是迭代的,但与原型实现不一样的是其强调每一个增

量均发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并且为用户提供了评估的平台。

图3-2 增量模型

3.2.2 增量模型优缺点

1.特色

增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。

2.优点

采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。

3. 缺点

1) .由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。

2) .在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。

3) .如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改

变的软件开发过程。

小结

个人感想

曾听老师说过,如果,某个科目的结束了,你做了一个课程设计或者小论文,只要是认真完成了。那么你对这门课至少掌握了70%。写完

这个小论文,我深有感触。曾经认为,软件就是写程序,一个软件工作组就是由程序员组成。在这次写小论文的过程中,我了解到软件工程对于软件设计的重要性,因为软件是为了给用户使用而研发的,所以这其中必须有用户的需求分析,当知道开发方向后,还要知道这其中可能出现的问题,以及怎样解决这些问题。之后就要设计出这个程序的大体框架,然后再写出程序,经过调试,纠错后交付使用。后期需要大量的维护。也许就像不了解软件的人永远想不通软件为什么要跟新一样,没有学过软件工程的人,是很难写出一个软件的,他们写出的只是程序,而不是一个可以使用的软件。

段晓强 1032104108

经过课程设计这段时间老师地教诲和自己地努力,我发现了自己的不足,积累了一些经验。我们在学习的过程中对自己要有信心。一个人能力发挥的程度并不完全取决于周围环境,而在很大程度上决定于自身的努力。我们在学习的过程中不能只学而不去总结归纳。当然,在总结中,随着新旧知识不断地融合与相撞,同时也会产生新的东西,启发人的大脑,从而不断地创新,丰富学习内容。创新是在一定的学习积累的基础上的,因此,它不仅要求我们只学会现有的知识,更重要地是创新,这样,学习才更有意义,更有价值。

胡 明 1032104114

本次期末论文到此已经顺利结束,通过这次的期末论文,我学到了

很多。在以前的2年时间内我学习了很多的课程及编程语言,虽然通过

学习对这些课程有所了解和掌握,但是始终处于理论知识的掌握阶段,并没有真正应用于实践设计开发,所以对知识的掌握还不够全面和熟练。而且并不能真正独立的开发出一个完整的应用于实际的系统。通过这次的小论文,我已经可以完成这一任务,对自身的编程能力也有了很大的提高。整个写作过程对我来说是一次能力的真正提高的过程;是一次将理论应用于实践的过程;是将以前所学知识充分利用的过程,比如管理信息系统,数据库概论等等;是一次真正的实践过程。总体说来,这次我真正学到了很多有用的东西,是一些在课堂内所学不到的知识,收获很大。

马 强 1032104127

通过此次学习,我对软件工程有了进一步的了解。它需要经过定义、开发、使用和维护这样一个漫长的过程,需配置程序、文档和数据等成分。在软件开发的过程中,传统的生命周期方法学和对象方法学是应用的最广泛的软件工程方法,我们既要要求每一步的正确性又要确定每一步的精简性,根据生命周期全过程中应完成的任务性质,在概念上分为问题定义、可行性研究、需求分析、概要分析、详细设计、编码和单元测试、综合测试以及维护等,这其实实质性的证明我以前对软件工程完全错误认识,它不是简单指编码程序。它是经管理和技术相结合,由一组组织良好、管理严密、各类人员协调配合完成的工程项目。

张朝阳 1032104154

参考文献

[1] 张海藩.软件工程导论(第三版).清华大学出版社.1998

[2] 张海藩.软件工程导论[M].北京:清华大学出版社.2003

[3] 张海藩,牟永敏.面向对象程序设计实用教材.清华大学出版社.2001

[4] 张海藩.软件工程[M]北京:人民邮电出版社.2011

软件工程课程设计方案报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

软件需求分析论文

青岛理工大学 软件需求分析论文 题目:宿舍管理系统 班级: ********* 学号: ********* 学生姓名: *** 指导教师: **** 2015年11月17日 一、摘要 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析在IT项目中具有十分重要的作用。IT项目的需求分析不仅是项目的开端,也是确保项目成功的基石。本文从IT项目的需求定义、重要性、过程、方法等层面来了解IT项目的需求分析。 关键词:项目需求分析定义过程方法 二、需求的定义和重要性 (一)需求的定义 软件需求是用户为解决某个问题或达到某个目标而需具备的条件或能力。系统或系统组件为为符合合同、标准、规范或其它正式文档而必须满足的条件或必须具备的能力。以上所述为定义条件和能力的文档表达。这一定义既体现了用户对需求的看法(系统的外部行为),也代表了开发人员的观点(一些深层次的

特性)。术语用户隶属于涉众,因为并非所有涉众都是用户。产品为涉众提供价值而必须具备的特性。 显然,需求没有一个统一的定义。为了便于交流,需要协商来决定一组限定词来修饰“需求“这个内涵丰富的术语。并认识到用可通用的形式记录需求的重要性。 (二)需求的重要性 实现有效的需求工程过程可以让组织受益匪浅。减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。但优质需求的高回报往往不明显,以至人们常常错误的认为讨论需求所花费的时间会导致推延产品的交付。然而,对质量成本的整体评估却显示出重视早期质量工作的意义。 合理的需求过程强调产品开发过程中的协作,要求涉众始终参与合作。收集需求使开发团队对产品的用户和市场有更好的了解。用户和市场是任何项目成功与否的关键因素。在开发产品之前了解市场和用户,与用户收到产品后在进行理解相比,所需的代价要低得多。 邀请用户参与收集需求可以激发他们对产品的热情,并建立他们对产品的忠诚。强调用户的目标而不是华而不实的功能,就能避免那些永远排不上用场的代码。客户的参与能够缩小用户需要的产品与开发人员提交产品之间的期望差。开发者迟早都要面对用户的反馈。应该尽早得到用户的反馈,也可以借助原型来激励用户产生反馈。需求开发的确需要时间,但要比产品测试时或发布后大量的修改所需的时间要少的多。 优质的需求带来的好处远不止这些。把选定的系统需求明确的分配到各个不同的软件、硬件和人员子系统这种方式突出了产品的系统设计方法。有效的变更控制过程可以把需求变更的负面影响降至最低。无歧义的需求文档给测试工作带来了极大的便利,使交付让各方都满意的优质产品的可能性大大提高。 没有人能够保证需求工作所作出的投入一定能够收到回报。但能够通过分析来思考及推测需求能够提供的帮助。首先来看改进过程的投入。其中包括用于评估现状、开发新的过程和文档模板、人员培训、购买参考书籍与工具,以及可能要聘请的顾问和产生的成本等。最大的投入则是开发团队收集、编写、检查和管理需求的时间。接下来则看可以得到的好处和因此而节省的时间和金钱。 三、需求分析的过程 调研

本科毕业论文格式(软件工程-样例).

中文题目:物流管理系统 外文题目:LOGISTICS MANAGEMENT SYSTEM 毕业设计(论文)共××页(其中:外文文献及译文××页)图纸共 0张完成日期20××年×月答辩日期20××年×月

摘要 本物流管理系统应用于物流公司管理物流信息,主要使用了JSP、Struts、JDBC技术。控制层由Action控制流程,并调用业务层的相应方法进行不同的业务处理管理员端主要包括货物信息管理、物流信息管理、车辆信息管理、企业信息管理、客户订单管理、客户信息管理以及个人管理,管理员能对客户和货物、物流、车辆等进行增、删、查、改的操作,还能修改自己的基本信息并且在订单签订时操作员能自动提取目前登陆的用户名。客户端能查看货物车辆物流公司概况等基本信息,以及根据物流编号对物流信息进行查询,修改个人信息等操作。能更高效的提高物流公司的管理。 关键词:物流;JSP;Struts;管理

ABSTRACT The logistics management system used in logistics company management logistics information, The main use the JSP, Struts, JDBC technology. the administrator mainly includes cargo information management, logistics information management, vehicle information management, enterprise information management, management of customer orders, customer information management, and personal management, the administrator can to client and goods, logistics, vehicles and so on them, delete, check, change of operation, also can modify your basic information and signed in order when the operator can automatically extracted at present on the user name. The client can check goods vehicle logistics company profile and other basic information, and according to the logistics Numbers in logistics information query, modify the personal information and other operational. Can more efficient logistics to improve the management of the company. Keywords: logistics, JSP, Struts, management,

(建筑工程设计)油藏工程课程设计报告

(建筑工程设计)油藏工程课程设计报告

油藏工程课程设计报告 班级: 姓名:*** 学号: 指导老师:*** 单位:中国地质大学能源学院 日期:2008年3月2日 目录 第一章油藏地质评价 (1) 第二章储量计算与评价 (8) 第三章油气藏产能评价 (10) 第四章开发方案设计 (14) 第五章油气藏开发指标计算 (17) 第六章经济评价 (22) 第七章最佳方案确定 (25) 第八章方案实施要求 (25) 第一章油(气)藏地质评价 一个构造或地区在完钻第一口探井发现工业油气流后,即开始了油气藏评价阶段。油气藏评价,主要是根据地质资料、地震资料、测井资料、测试资料、取芯资料、岩芯分析、流

体化验和试采等资料,对油气藏进行综合分析研究、认识、评价和描述油藏,搞清油气藏的地质特征,查明油气藏的储量规模;形成油气藏(井)的产能特征,初步研究油气藏开发的可行性,为科学开发方案的编制提供依据。 一、油气藏地质特征 利用Petrel软件对cugb油藏进行地质建模,得出cugb油藏的三维地质构造图(见图1-1)。 图1-1 cugb油藏三维地质构造图 (一)构造特征 由图知:此构造模型为中央突起,西南和东北方向延伸平缓,东南和西北方向陡峭,为典型的背斜构造;在东南和西北方向分别被两条大断裂所断开,圈闭明显受断层控制,故构造命名为“断背斜构造”。 (1) 构造形态: 断背斜构造油藏,长轴长:4.5Km, 短轴长:2.0Km 比值:2.25:1,为短轴背斜。 (2) 圈闭研究: 闭合面积:4.07km,闭合幅度150m。 (3)断层研究: 两条断层,其中西北断层延伸4.89km,东南断层延伸2.836km。 (二) 油气层特征:

《软件设计基础-VB》课程设计报告书

河北联合大学 2011-2012 第 2 学期
《 软 件 设 计 基 础 -VB》
课程设计报告
设计名称: 姓 名: 设计显示弹球的程序 学 号:
专业班级: 学 院:
设计时间: 设计地点:
指导教师评语:
成绩:
指导教师签字:
年 月 日

《软件设计基础-VB》课程设计报告

2
页,共
14



1.课程设计目的···································· ···································· ···································· 2.课程设计任务与要求 ································ ································ ······························· 3.课程设计说明书··································· ··································· ·································· 4.课程设计成果···································· ···································· ···································· 5.程序调试过程···································· ···································· ···································· 6.设计问题的不足和改进方案 ···························· ···························· ··························· 7.课程设计心得···································· ···································· ···································· 8.附录 ·········································· ········································· ········································· 9.参考文献······································· ······································· ······································

软件工程课程论文

目录 1.学习目的 (2) 1.1用途 (2) 1.2要求 (2) 2.学习态度 (2) 3、学习内容 (3) 4、学习心得 (5) 5.自我评价 (6) 6.学习成果 (7)

软件工程课程总结 1.学习目的 1.1用途 在本学期的软件工程课程中我们大略学习了软件的开发过程,需要哪些工具,具体建模模式和方法以及这些模型和方法是如何实现软件的某一功能的,让我们在脑海里形成了系统的关于软件开发的流程图,为今后的关于软件工程的学习打下基础,同时为我们开发软件带来方便。通过这学期以来的学习,虽说课本中的很多内容仍不能清晰地理解掌握,但对于软件工程确实也有了更明晰系统的概念和理解,同时也在老师授课下对许多以前未所听闻的开发软件和开发方法如UML模型等有了初步的了解,深感这是一门博大精深而十分有用的学问,需要我们认真进一步地学习。 1.2要求 关于软件工程的学习,我对自己的要求是:①掌握老师课堂上指出的重点内容,并在课后通过各种手段作一定的深入了解。②认真记下重要的笔记,保证按时完成老师交代的作业并及时上交,同时检查自己是否仍有不懂的知识。③积极和同学讨论自己对于书本中一些方法、模型的理解和感受。④上课不旷课逃课,不迟到早退。 2.学习态度 在这个学期的《软件工程》这一门课程的学习中,我的学习态度端正,从没有旷课逃课、请假、迟到早退等行为,上课认真记下老师讲过的重点知识的笔记,下课也和朋友讨论刚学的模型和方法如瀑布模式、增量模式、用例图的画法、活动图的作用等,受益良多。也有按时完成老师布置的作业并及时上交给老师检查。

但是有一点让我惭愧的是,我的课外阅读量太少,对软件的了解仍然有待加强,在今后的学习中,我一定会加强这方面的阅读并好好的运用在软件开发中。 3、学习内容 软件的定义:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。软件的特征:①软件有对硬件不可缺失的依赖。②软件有不同与硬件的生产流程。软件不是制造出来的,而是开发出来的。硬件生产的最大成本是复杂的制造工艺,而软件的最大成本则是分析与设计。③软件有不同与硬件的生命过程。包括:磨合期、正常使用期、老化期。 软件危机:①软件开发成本、进度失控。②软件质量不能获得有效保证。③软件不能满足用户应用需要。④软件可维护性差。 软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件的生存周期可分为三个阶段:软件定义期、软件开发期、运行维护期。 瀑布模式:是传统的软件开发模式,其中的“瀑布”是对这个模式的形象表达,由山顶倾泻下来的水,自顶向下、逐渐细化。其特点是:线性化过程;分为分析、设计、编码、集成等几个阶段,并且各阶段逐级推进,不允许跨越。里程碑管理;阶段评审;文档驱动;简洁便于工程应用的线性化过程步骤,并可以通过里程碑管理机制而使项目进程量化。其明显的优点就是没个阶段结束前都要对所完成的阶段成果进行评审,这使得软件的错误能够在个阶段内尽早发现并尽早解决,总的来说瀑布模式具有良好的质量保证机制,有很强的生命力。 原型进化模式:对软件进行直接模拟或仿真,只需要分析用户的需求框架后进行原型创建,再根据用户的使用评价对原型系统进行逐步细化与完善,通过版本更新逐步满足用户对于软件的多方面需要。 增量模式:开发过程有三个任务域,分别是设计结构、开发构件和集成系统,它既有完善的工程管理机制,又能适应用户需求变更,有利于质量的监控,并且各局部基于构件构造,有利于逐步构建与完善;由于先交付核心构件可利于降低

计算机软件工程毕业设计论文

目录 目录 (1) 摘要 (1) 前言 (3) 第一章绪论 (4) 1.1研究背景 (4) 1.2设计目标 (4) 1.3本文结构 (5) 第二章系统开发环境与技术 (6) 2.1系统开发环境 (6) 2.1.1 MyEclipse插件介绍 (6) 2.1.2 Tomcat服务器介绍 (6) 2.2系统开发技术 (7) 2.2.1 JSP与Servlet技术 (7) 2.2.2 JavaScript简介 (10) 2.2.3 MVC模式 (11) 2.2.4 Struts框架 (11) 2.2.5 Spring框架 (13) 2.2.6 Hibernate框架 (15) 第三章系统需求分析与前台设计 (17) 3.1需求分析 (17) 3.1.1 系统前台简要设计概述 (17) 3.1.2 系统用例图 (18) 3.2系统设计 (18) 3.2.1 系统层次划分 (18) 3.2.2 数据库设计 (19) 3.2.3 成本管理模块时序图 (22) 第四章系统详细设计与功能实现 (27) 4.1系统项目的文件夹结构 (27) 4.2成本管理模块的具体实现 (28) 4.2.1 查询成本信息列表功能的实现 (28)

4.2.3 修改成本信息功能的实现 (36) 4.2.4 删除成本信息功能的实现 (39) 4.2.5 查看成本明细信息功能的实现 (41) 第五章总结与展望 (43) 5.1课题总结 (43) 5.2进一步开发的展望 (43) 参考文献 (44) 致谢 (45)

摘要 服饰企业生产状况联络表是针对企业的实际情况而进行设计、开发的,而成本管理模块则是为了保持产品的成本信息及时的保存、更新。利用JSP技术和SSH框架以及相应的数据库访问技术实现了基于Web的系统。该框架可以减少模块之间的耦合性,让开发人员减轻重新建立解决复杂问题方案的负担,并且可以被扩展以进行内部的定制化。通过使用JSP技术建设动态网站,充分发挥了Java语言所独有的易用性、跨平台性和安全性,从而构建了一个运行高效、安全可靠、适用性广的管理系统,实现了企业信息资源的网上管理,满足了公司业务处理的需要,使企业适应了网络经济时代发展的要求。 论文首先简要介绍了企业管理系统的一些研究与应用背景,其次介绍了该网站系统所采用的开发工具、平台以及开发环境。在此基础上,论文详尽描述了成本管理系统情况。 关键词:JSP,SSH框架,成本管理 作者:XX 指导老师:XX

油藏工程课程设计报告.doc

油藏工程课程设计报告 班级: 姓名:*** 学号: 指导老师:*** 单位:中国地质大学能源学院 日期:2008年3月2日

目录 第一章油藏地质评价 (1) 第二章储量计算与评价 (8) 第三章油气藏产能评价 (10) 第四章开发方案设计 (14) 第五章油气藏开发指标计算 (17) 第六章经济评价 (22) 第七章最佳方案确定 (25) 第八章方案实施要求 (25)

第一章油(气)藏地质评价 一个构造或地区在完钻第一口探井发现工业油气流后,即开始了油气藏评价阶段。油气藏评价,主要是根据地质资料、地震资料、测井资料、测试资料、取芯资料、岩芯分析、流体化验和试采等资料,对油气藏进行综合分析研究、认识、评价和描述油藏,搞清油气藏的地质特征,查明油气藏的储量规模;形成油气藏(井)的产能特征,初步研究油气藏开发的可行性,为科学开发方案的编制提供依据。 一、油气藏地质特征 利用Petrel软件对cugb油藏进行地质建模,得出cugb油藏的三维地质构造图(见图1-1)。 图1-1 cugb油藏三维地质构造图 (一)构造特征 由图知:此构造模型为中央突起,西南和东北方向延伸平缓,东南和西北方向陡峭,为典型的背斜构造;在东南和西北方向分别被两条大断裂所断开,圈闭明显受断层控制,故构造命名为“断背斜构造”。 (1) 构造形态: 断背斜构造油藏,长轴长:4.5Km, 短轴长:2.0Km 比值:2.25:1,为短轴背斜。 (2) 圈闭研究: 闭合面积:4.07km2,闭合幅度150m。

(3)断层研究: 两条断层,其中西北断层延伸4.89km ,东南断层延伸2.836km 。 (二) 油气层特征: 油水界面判定: C3 井4930-4940m 段电阻率为低值0.6,小于C1 井4835-4875m 、C2 井4810-4850m 、C 3井4900-4930m 三井段高值3.8,故为水层,以上3段为油层。 深度校正: 平台高出地面6m ,地面海拔94m ,故油水界面在构造图上实际对应的等深线为4930-(6+94)=4830.0m 由C 1、C 2、C 3井的测井解释数据可知本设计研究中只有一个油层,没有隔层(见图1-2)。 图1-2 CUGB 油藏构造图 (三) 储层岩石物性特征分析 表1-1 储层物性参数表 〈1〉岩石矿物分析:由C 1井中的50块样品,C 2中的60块样品,C 3井的70块样品的分析结果:石英76%,长石4%,岩屑20%(其中泥质5%,灰质7%)。可推断该层段岩石为:岩屑质石英砂岩。 水 水 C1 C2 C3 40m 40m 30m 油 -4810m -4900m -4835m

软件工程课程设计报告

软件工程课程设计报告( 2015 -- 2016 学年第一学期) 课程名称:软件工程课程设计 题目:学生宿舍管理系统 院系:控制与计算机工程学院 班级: 组号: 组长: 组员: 指导教师: 设计周数:两周 小组成绩: 日期:2016 年1月8日

《软件工程》课程设计 任务书 一、目的、要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、主要内容 1.运用面向对象方法进行校园宿舍管理系统的需求分析与设计; 2.建模语言采用UML,以Rational Rose为建模工具,进行系统的静态建模和动态建模; 3.利用对象模型自动生成数据模型,自动建立数据库; 4.使用hibernate技术以面向对象的方式编程管理数据库,前端使用html+css结合javaScript 进行设计,后台逻辑采用java来实现,整个系统采用了ssh框架来实现,使得各个模块低耦 合,分层明确,提高了代码的重用以及二次开发; 5.撰写课程设计报告。 三、任务分配

四、进度计划 五、设计成果要求 1.建立系统分析模型与设计模型; 2.初步建立系统原型,实现关键的功能; 3.编写课程设计报告。 六、考核方式 1.系统演示及讲解 占50%。 2.设计报告 占50%。 指导教师: 日期:2015 年12 月25 日

软件工程课程设计论文题目.

软件工程设计题目 1.学生学籍管理系统 要求:主要对学生的学籍进行管理。学籍管理包括各种信息的录入、修改、删除等操作;此外还有对各种信息的查询,便于老师和学生查看。(其中,教师具备对学籍的录入、修改、删除等操作,学生只具备查询的权限 2.学生成绩管理系统 要求:对学生成绩进行综合管理,学生信息要素:学期、学号、姓名、课程名称、课程成绩。因此学生成绩管理系统的主要功能为: ●学生信息管理 ●课程信息管理 ●成绩信息管理 3.个人通讯录管理系统 要求:增加记录、删除记录、显示所有记录、查询记录、退出。通讯录记录信息包括:姓名,电话,email等。(其中,用户输入正确的用户名和密码才能看到自己的通讯录信息 4.网上书店 要求:购书者可以通过访问Web站点,得到图书信息。系统可以: ●显示每本书的详细信息 ●显示购物车和顾客选购的图书信息 ●增加新购买的新书

●对定单的修改、确认、提交等 ●图书销售数量的排行 (注意管理员和客户分别具备的权限 5.企业办公自动化管理系统(企业客户管理 要求:针对企业常用的功能设计一个普遍适用的企业办公自动化管理系统,包括考勤管理,客户管理,每天的工作管理,个人信息修改,权限管理,注销等功能。 6.小型商业网站管理系统 要求:主要是宣传性质的网站,包括产品展示,公司简介,销售查询,销售排行,商品管理,公告管理等。(注意分配普通消费者,会员消费者和公司管理人员对该网站的权限 7.ATM柜员机模拟程序 要求:当输入给定的卡号和密码(初始卡号和密码为123456时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求: ●查询余额:初始余额为10000元 ●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允 许透支。 ●ATM存款:不能出现负存款。 ●修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧 密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 8.火车订票系统

软件工程毕业论文

软件工程毕业论文 Revised by BLUE on the afternoon of December 12,2020.

一、绪论 系统开发背景 随着现代社会机械化程度越来越高,人们对机械知识的渴望越来越强烈,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习会使用户快速提高自己对于机械知识的了解和认知。针对这种现状开发了本系统。 一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行机械方面问题的探讨。论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。我们当然可以利用它来解决机械学习中的一些疑惑。 二、需求分析 可行性分析 可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益。信息系统营运可行性研究要给出的方案是否可以从人力、物力、组织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行。 由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。 技术可行性 该课题---机械爱好者论坛,它采用了当前流行的B/S结构和Internet网络技术。而如今编写HomePage也没原来那么麻烦,网站的一些制作要求和素材在Internet随处都可以找到,制作网站的工具也是种类繁多。我们可以从中找到符合自己要求的工具。管理信息系统的开发有很多的实例,一些实例的源代码也可以提供参考。所以,从技术上来说,开发这个系统的技术难题是不多的。 三、概要设计 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素------程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子

油藏工程课程设计概述页

目录 1 油藏描述 (1) 1.1油藏概况 (1) 1.2油藏地层特征 (1) 1.3油藏沉积特征 (2) 1.4油藏构造特征 (2) 1.5岩石学特征 (3) 1.6物性特征 (4) 1.7温压系统 (7) 1.8原油性质 (8) 1.9地层水性质 (9) 1.10渗流物理性质 (9) 1.11储量计算及评价 (10) 1.11.1储量计算方法 (10) 1.11.2储量参数的确定 (11) 1.11.3储量评价 (12) 2三维地质模型的建立 (13) 2.1导入井头数据、分层数据 (13) I / 1

2.2断层模型 (14) 2.3网格模型设计 (15) 2.4构造模型 (15) 2.5属性模型的建立 (16) 2.5.1渗透率模型 (16) 2.5.2孔隙度模型 (17) 2.6划定油水界面 (17) 2.7储量计算 (18) 2.8三维地质模型储量计算及储量拟合 (19) 3.数值模型建立 (19) 3.1地质模型导入 (20) 3.2流体性质 (21) 3.3相渗关系 (24) 3.4储量计算 (25) 3.5储量拟合 (26) 4 油藏工程论证 (27) 4.1油藏产能评价 (27) 4.2单井产能 (28) I / 1

4.3开发层系划分 (29) 4.3.1开发层系的分析 (29) 4.3.2开发层系划分的原则 (30) 4.4开发方式论证 (31) 4.4.1天然能量驱动采收率预测方法 (32) 4.4.2注水开发水驱采收率预测方法 (33) 4.4.3注水开发可行性论证 (34) 4.5井网密度的计算 (38) 4.6井网密度和井距的确定 (42) 4.7注采压力系统优化 (42) 4.8注水压力 (45) 4.9注水井注水量 (47) 5 开发方案设计 (47) 5.1开发方案设计原则 (47) 5.2开发井网部署 (48) 5.3开发方案指标预测 (49) 5.4经济评价及方案优选 (54) 5.5 方案优选 (55) I / 1

软件工程毕业设计论文

毕业设计说明书 题目:软件项目管理系统的设计和实现 系别: 专业班级: 姓名: 学号: 指导教师: 职称: 二〇一二年三月二日

摘要 在当今社会,互联网的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。当前大量企业的软件管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计软件项目管理系统,以帮助企业达到项目管理办公自动化、节约管理成本、提高企业工作效率的目的。 软件项目管理系统主要对项目的信息进行集中管理,方便企业建立一个完善的、强大的项目信息数据库,它是以MYSQL数据库作为开发平台。使用jsp编写程序,完成数据输入、修改、存储、调用查询等功能;并使用MYSQL数据库形成数据,进行数据存储。 软件项目管理系统是科学、全面、高效进行管理的系统,参考大量中国项目资源管理理论,根植于国内管理的实际情况,实用而科学。在操作上集输入、查询、统计等处理为一体,简便灵活,自动化功能强大。 关键字:软件管理软件项目管理系统 JSP MYSQL

Abstract In today's society, development of the Internet to the people's work and life has brought great convenience and efficiency, information technology, electronic technology has become operational cost savings, improve efficiency of choice. The current management of large enterprise employees still in the stage of manual operation, not only inefficient, but also often because of careless management flaws. So part of the business needs, design enterprise employee information management system to help companies achieve staff management office automation, saving management costs and improve work efficiency. Employee information management system is mainly focused on the information management staff to facilitate enterprises to establish a sound, strong employee information database, which is based on MYSQL database as a development platform. Programming using jsp, completion of data entry, modification, storage, call the query function; and use the MYSQL database to form data, for data storage. Employee information management system is a science, comprehensive and efficient personnel management system, reference a large number of Chinese human resource management theory, rooted in the domestic management of the actual situation, practical and scientific. The operating part one input, query, statistics and other treatment as one, easy and flexible, automated and powerful. Key words: Management System Information Management JSP MYSQL

软件工程课程设计报告

软件工程课程设计报告题目:校园小商品交易系统 一、实验题目 (2) 二、实验目的 (2) 三、实验要求 (3) 四、实验内容 (3) 五、系统设计文档 (4) 5.1需求分析 (4) 5.1.1对系统综合要求 (4)

5.1.2系统的数据要求 (4) 5.2总体设计 (5) 5.2.1系统总体用例图 (5) 5.2.2商品管理用例图 (5) 5.2.3用户信息用例图 (6) 5.2.4商品交易用例图 (6) 5.3详细设计 (6) 5.3.1系统类图以及类之间关系图 (6) 5.3.2由需求分析阶段以及类之间关系的设计分析可以得到系统 对应事件流 (7) 5.3.3系统数据库表 (11) 5.3.4系统组件图 (11) 5.3.5系统部署图 (12) 六、心得体会 (13) 一、实验题目 校园小商品交易系统 二、实验目的 通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。熟练掌握软件工程面向对象建模的总体方法。

三、实验要求 1.一人一组。 2.熟悉Rose开发环境。 3.掌握UML的基本模型元素(如角色、用例、类等)。 4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Object diagram(对象图,Rose中没有)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)。 5.完成对系统的建模。 6.周五上机检查,并提交设计报告。 7.集中上机时间不能迟到、早退。 8.请自觉维护实验室清洁,爱护实验设备。 四、实验内容 运用UML统一建模语言建立一个校园小商品交易系统。开发软件为ROSE,最后转换为VB代码。该系统主要的基本要求和功能如下: 包含三类用户:管理员、商品发布者、普通用户、访客。 (1)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。商品信息添加、修改、删除、查找、统计。 (2)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。商品信息发布,自身商品信息统计。查找浏览其他商品。 (3)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。 (4)向访客提供以下功能:商品浏览、查找、获知商家联系方式。

需求分析实例分析论文

课程:个人软件过程关于软件需求分析的探究 姓名:////////////// 学号:0923****** 计算机科学与教育软件学院

关于软件需求分析的探究 摘要:对软件需求分析的含义,任务和过程进行讨论,突出了有效沟通,需求管理,团队协作在需求分析过程中的重要作用,同时探讨了若干需求分析方法。 关键词:软件过程;需求管理;需求分析; 1.学习课程的收获 1.1 对需求分析的认识和理解 由于我是计算机专业的学生,所以这里主要对软件的需求分析做一下认识和理解。 需求分析就是分析软件用户的需求是什么。如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。 比如,用户需要一个for linux的软件,而在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了。这个问题是最典型也是最常见的,现在这个问题一般很好避免,都知道项目的一些敏感性的东西,例如想会有哪些地方设计的不好可能导致以后的使用出现bug。 简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。 需求分析是一项重要的工作,也是很困难的工作。该阶段工作对于用户和开发人员都是很重要的。 首先,由于用户与开发人员很难进行交流。 在软件生存周期中,其它四个阶段都是面向软件技术问题,只有需求分析阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么”。但是在开始时,开发人员和用户双方都不能准确地提出系统要“做什么?”。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流上存在隔阂。 其次,用户的需求是动态变化的。 对于一个大型而复杂的软件系统,用户很难精确而完整的提出他的功能和性能要求。一开始只能提出一个大概,模糊的功能,只是经过长时间的反复认识才逐步明确。有时候进入到设计,编码阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来了困难。 最后,需求分析是软件开发的基础。假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计,编码,测试和维护阶段解决,则要花2.5,5,25,100倍的时间。 因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查,了解,从技术,经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。

软件工程毕业论文

一、绪论 1.1系统开发背景 随着现代社会机械化程度越来越高,人们对机械知识的渴望越来越强烈,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习会使用户快速提高自己对于机械知识的了解和认知。针对这种现状开发了本系统。 一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行机械方面问题的探讨。论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。我们当然可以利用它来解决机械学习中的一些疑惑。 二、需求分析 2.1可行性分析 可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益。信息系统营运可行性研究要给出的方案是否可以从人力、物力、组织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行。 由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。 2.2技术可行性 该课题---机械爱好者论坛,它采用了当前流行的B/S结构和Internet网络技术。而如今编写HomePage也没原来那么麻烦,网站的一些制作要求和素材在Internet随处都可以找到,制作网站的工具也是种类繁多。我们可以从中找到符合自己要求的工具。管理信息系统的开发有很多的实例,一些实例的源代码也可以提供参考。所以,从技术上来说,开发这个系统的技术难题是不多的。 三、概要设计 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素------程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处

相关文档
相关文档 最新文档