搜档网
当前位置:搜档网 › 软件工程课程总结

软件工程课程总结

软件工程课程总结
软件工程课程总结

课程总结

本课程是一门介绍应用软件开发的概述性的课程,系统讲授了应用软件的相关开发过程,和所应用的技术。课程讲授了9章的内容,包括产品、软件工程与软件过程,软件需求工程、分析建模、设计工程、软件体系结构设计、用户界面设计、构件级设计和软件测试技术等。

1、软件产品

计算机软件是一种特殊的逻辑产品,其为在计算机上运行的各种程序、数据及其说明程序的各种文档;软件承担着双重角色,软件是一个产品,同时又是产品交付使用的载体;软件是逻辑的而不是有形的,软件是基于计算机的系统元素,因此软件具有与硬件完全不同的特征;软件产品有着特有的产品分类方法;在计算机软件开发中所遇到的一系列无法完全解决的问题,导致了软件危机或软件苦恼的产生;在软件开发过程中,由于软件产品开发的特性导致了一些神话的产生,这些软件神话误导了人们,对软件项目管理者、客户和开发人员都带来了严重的问题,了解相关情况可以使我们能以正确的态度对待软件开发工作;由于软件产品的特殊性,软件工程从业人员的职业道德和行为准则显得更加重要。

2、软件工程与软件过程

软件工程是由有创造力的、有组织的人在定义成熟的软件过程中进行的,该过程适合于软件开发人员建造的产品和产品的市场需求;软件工程的定义:建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠的,可以在实际机器上高效地运行。

软件工程过程是一个为建造高质量软件所需要完成的任务的框架,是建造软件产品的一组活动及其结果。通用过程框架目的:

交流-----项目启动、需求获取及其任务集合

计划-----项目评估、进度安排、项目跟踪等

建模-----分析模型和设计模型

构造-----代码生成和软件测试

部署-----产品交付、技术支持、用户反馈等及其相应的任务集合。

3、软件工程过程模型,是指能够覆盖软件工程的过程、方法和工具以及软件工程的一般阶段的开发策略。过程模型的选择待建造软件的特点、所采用的方法与工具、以及需要的控制和交付的产品。

瀑布模型,增量过程模型——增量模型、RAD模型,演化过程模型——原型模型、螺旋模型,面向对象软件工程过程模型——统一软件开发过程。

4、需求工程

基于计算机的系统工程:在了解系统之前,匆忙建造技术元素,无疑将导致使客户失望的错误。在关注树木之前,先了解森林;基于计算机的系统:元素的集合或排列,这些元素在一起通过处理信息完成某些预定义的目标;系统元素——软件、硬件、人员、数据库、文档和规程;启动一个系统工程——发现领域过程、领域分析、识别协作系统、发现系统需求、将结果提交给客户;系统建模:评估系统构件及其相互关系。

5、软件工程实践

理解问题(交流和分析)、计划解决方案(计划与建模——软件设计);实施解决方案(构造——代码生成);检查结果的精确度(构造成部暑——软件测试、质量保证、用户技术支持)

6、软件需求收集与分析

构建一个软件系统最困难的部分是确定构建什么。其他的软件开发工作,不会像这部分工作一样,在出错之后如此严重地影响随后实现和系统,并且导致在以后进行的修补会如此困难;“我知道你相信你已经理解了你认为我所说的内容,但是我并不能肯定你已认识到你所听到的并不是我所想要的”。

7、软件需求分析的工作活动

起始——建立对拟开发软件(待解决的问题)的基本理解

导出——问题的范围、问题的理解、问题的变化;

精化——开发精确的技术模型,说明软件的功能、行为和约束

协商——确定合理的系统目标和需求优先级

规格说明——给出对软件系统功能和性能的描述,给出影响系统开发的约束;

确认

需求管理

8、软件的需求诱导——需求诱导原则

需求定义——需求是关于系统(软件系统)将要完成什么工作的一段描述语句,它们必须经过所有相关人员的认可,其目的是彻底解决客户的问题;

需求诱导原则(与客户的交流沟通活动)——倾听、有准备的沟通、需要有人推动、最好当面沟通、记录所有决定、保持通力协作、聚焦并协调话题、采用图形表示、继续前进原则、谈判双赢原则;

软件需求的过程启动——首次提问、一组加深理解并使客户能够表达其关于解决方案的感觉的问题、关于效率的“元”问题。

9、软件需求的导出

质量功能部署——正常的需求、期望的需求、令人兴奋的需求。

功能性需求和非功能性需求——功能性需求,描述系统为用户或其他系统提供的服务;非功能性需求,系统开发过程必须遵守的约束。

10、用户场景与分析建模

用户场景(use—case)

构建分析模型——数据模型、功能模型、行为模型

11、需求确认与规约

12、分析建模

分析建模使用文档和图表形式的组合,以相对容易理解的方式描绘数据、功能和行为的需求,并直接评审其正确性、完整性、一致性。

分析建模原则:

原则1:必须描述和理解问题的信息领域

原则2:必须定义软件将实现的功能

原则3:作为外部事件的结果,必须描述软件的行为

原则4:描述信息、功能和行为的模型必须通过问题的划分,以层次的方式揭示细节原则5:分析过程应从要素信息移向实现细节

13、分析建模的任务集合

评审需求

扩展和细化用户场景

信息建模(数据对象描述与数据建模)

功能建模

行为建模

用户接口分析和建模

评审所有模型,考察其正确性、完整性和一致性

14、用户场景建模:开发用例;场景建模

数据建模:数据对象描述——数据字典,数据建模——数据对象、属性和关系,数据模型——实体——关系图(ERD)

功能建模和信息流:信息流模型(DFD),信息流与功能建模

行为建模——状态变迁图(STD)

15、设计的原则与概念

设计是将要建造的某种事物的有意义的工程表示。软件设计创建软件的表达或模型,提供了软件数据结构、体系结构、接口和软件构件的设计细节——提供了软件系统实现所必须的工作基础。

对设计良好的软件而言,坚固是指程序不应含有任何妨碍其功能的缺陷;适用则是程序符合开发目标;赏心悦目意味着使用程序的体验是愉快的。

设计原则

设计过程不应该受“隧道视野”的限制;

设计对于分析模型应该是可跟踪的;

设计不应该从头做起;

设计应该缩短软件和现实世界中问题的“智力距离”;

设计应表现出一致性和集成性

设计的构建应该适应变更

设计的构建,应该使得即使遇到异常的数据、事件或操作条件时也能够平滑、轻巧地降级;

设计不是编码,编码也不是设计;

在创建设计时就应该能够评估质量,而不是在事情完成以后;

应该评审设计以减少概念性(语义性)错误。

16、设计的概念——抽象、求精、模块化

设计文档——描述设计工作的整体范围、说明数据设计、体系结构设计、接口设计、构件设计、需求交叉引用、软件测试、设计约束、补充说明

17、软件体系结构设计

设计建模原则

原则1:设计可追溯到分析模型

原则2:经常关注待构建系统的框架

原则3:数据设计与功能设计同等重要

原则4:设计接口(内部接口和外部接口)

原则5:用户界面必须符合最终用户要求

原则6:功能独立的构件级设计

原则7:构件之间、构件与外部环境之间松散耦合

原则8:设计模型应易于理解

原则9:设计以迭代方式进行,每一次迭代,设计者应尽力简化问题。

体系结构设计为软件开发提供了系统的整体视图,并保证系统开发人员能正确地得到需要的系统;软件体系结构设计涉及两个方面——数据设计:表示体系结构的数据构件,程序体系结构:关注于软件程序结构、构件的性质以及交互表示。

软件体系结构设计将需求分析中的数据、功能和行为模型中的元素,以及软件数据体系结构的设计,最终映射为软件系统的构件组织结构。

18、构件级设计

构件级设计也称为过程设计,它在数据设计、体系结构设计和接口设计之后进行,其意图是将设计模型翻译为可以运行的软件。

构件级设计是使用某些能够易翻译成源代码的中间表示(如,图形的,表格的或基于文本的)来表示过程设计。

构件级设计的目标是要保证不仅能够完成翻译任务,而且能够不在开始时引入错误,即在过程设计中避免错误的产生。

19、用户界面设计

用户界面可以说是基于计算机的系统或产品的最重要的元素。如果界面的设计很糟糕,可能会严重地阻碍用户使用系统的计算处理能力。

一个弱的界面可能导致一个很好和可靠实现的应用的失败

三个重要的原则指导有效的用户界面设计,置系统于用户控制之下,减少用户的记忆负担,保持界面一致。

20、软件测试技术

软件测试的目的,就是在系统交付客户之前能够发现(和改正)尽可能多的错误。白盒测试又称“玻璃盒测试”,白盒测试注重于程序控制结构

黑盒测试也称为行为测试,黑盒测试注重于确认功能需求

计算机软件技术课程设计

计算机软件技术课程设计 学院:电力与自动化工程学院 班级: 姓名: 学号: 同组人: 2012年6月28日

目录 一、需求分析 1.1、开发背景 (3) 1.2、编写目的 (3) 1.3、运行环境 (3) 1.4、项目任务书 (3) 二、项目流程 2.1、基本流程 (3) 2.2、概要设计 (6) 2.2.1、局部E-R图 (6) 2.2.2、全局E-R图 (9) 2.3、逻辑设计 (10) 2.3.1、E-R图向关系模型的转换 (10) 2.3.2、二维关系表 (10) 三、数据库的实施与运行 四、小结 五、参考教材书

一.需求分析 1.1开发背景: 随着人类社会的发展,人类对知识的需求也不断的增长。在这种形势下,书籍就渐渐成为人们获取并增长知识的主要途径,而图书馆就自然而然的在人们的生活中占据的一定的地位,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。 1.2编写目的: 本需求的编写是为了研究图书管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。 1.3 运行环境 编程环境:Microsoft Visual Basic 做前台,SQL Sever 做后台 1.4 项目任务书 项目名称:图书管理系统软件 项目开发者:王颖龚思敏魏嫽嫽张宇秦黎阳 用户:各同学 图书馆管理系统需要有能够及时地查询书库中图书的库存量,以便及时准确地为读者服务,提供借阅信息,但是不能更改数据,无信息处理权,即可以打印清单,浏览数据等,管理权限由系统管理员掌握分配。这个也是图书馆的总体需求。 能够提供外界进行查询,无特殊权限限制,面向所有用户。 图书馆各项数据信息必须保证安全性和完整性,网络系统设有通信,程序,网络三级权限和口令管理,确保系统的安全。这个是对数据的安全考虑的。 系统管理员根据市场图书行情定时的整理系统数据库,对图书的借阅情况,读者的管理情况,书库的增减等均可由计算机执行,并将运行结果归档。 这个是从数据的整理角度考虑。 二、项目流程 2.1 、基本流程 以图书管理系统为对象,经过可行性分析和初步需求调查,抽象出该图书管理系统的业务流程图,如图1所示。下面,结合该实例具体情况,给出对读者、图书查询,图书管理员管理的具体需求。

软件工程导论总结报告

软件工程总结报告 序言 本期软件工程专业导论课程结束后,为圆满完结本期此课程的学习,特此总结个人学习所得以求些许回报先生无私教导。 主体 第一节课主要讲述了软件工程各领域之间的联系以及贯穿始终 的基础为何。其中较为基础并相当重要使的应该是算法。对于算法重要性与基础性的理解,我个人有比较切身的体验。比如前不久的 ACM 竞赛,在比赛中我所在的小组以及当场几乎所有小组都遇到这样一个 问题:超时—这无非就是个人设计的算法的效率不够高,这也证明我 们对算法理论知识的匮乏(不清楚优化个人算法的方法)。我对软件 工程这一专业有了一个较为全面的把握,对我个人未来进取方向而言 也起到了一定的指导作用。 第二节课老师带来了三位本专业的前辈向我们传授大学生活应 如何度过以及对我等一些问题作出解答。其中我个人印象深刻的是其 中一位学姐 PPt 中引用李开复的那部分内容。即试着记录下自己一整天做的所有事以及其所花费的时间,再仔细研究自己在哪些事上浪费 了时间,应该如何整改。我个人认为这方法可能有一定直观性,因为 直观的数据更能深刻的反映真实和刺激一个人整改,但此法实施起来又太古板,中觉得生活有些教条化、章程化,缺乏新意与自由。求上进,珍惜时间也无需以丧失人生情趣为代价。还有就是学长再提潘老师曾讲过的那些重要、紧急优先次序。他提到的个人的学习生活情况

倒没什么深刻感,但我认为他引用的一番话较有道理,大概意思是比 起个人兴趣更为优先的应该是谋生的本领,尤其是当自己感兴趣的正 好是冷门时。当掌握了一些实实在在有能保证自身良好发展前景后,再 去做一些自己感兴趣的事也来得及。于我而言,一个人尚不能独善其身,何求其兼济天下。成己方成人就是如此道理。 第三节课主要讲解了大学学习生活中应着重的基础课以传递重 基础的要旨。据个人体会,其中英语科目实是基础中的基础,主要是 为辨认单词(即代码变量以及注释)意义以达到理解他人算法并顺利 接手他人接下来的工作。企业和公司出于其本身利益主张雇方市场 -- 讲究项目的可接手性,而不希望对现有人员的过分依赖。离散数学则应该是为之后学习其他编程专业知识做理论知识的铺垫。概率统计更多应是对统计有关算法及理论的学习(个人认为现实生活中许多问题都可以运用概率统计的方法加以解决,因此应是很重要的基础知识)。C/C++(Java)语言是作为编程的工具使用,无疑是基础(现今水平下的 我们主要用 C 编代码)。数据结构则应是提供特定的解决问题的结构 思想以便进行数据处理方面工作。算法的重要性以及基础性的个人体 会已包含在第一节课中。计算机体系结构与汇编课程与操作系统原理 课程主要在于理解计算机系统运行原理能加深对代码运行原理的理 解,对于现今水平的我也能更深层次的理解 c 语言的指针操作等方面知识。汇编语言能够直接对硬件进行操作,生成的程序与其他的语言相 比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型程序的核心模块以及工业控制方面大量应

系统工程学习报告

一、物流运输系统规划设计的内容 1)确定物流运输战略 物流运输战略是为寻求物流的可持续发展,就物流运输的目标以及达成目标的途径与手段而制订的长远性、全局性的规划与谋略。物流运输战略的确定直接决定运输系统规划的其他要素。在进行运输系统规划设计时,首先需要对运输系统所处环境进行分析。环境分析主要包括国家的宏观运输政策、运输市场的发展状况、物流系统综合战略、其他物流节点的情况等。在对上述问题进行分析的基础上,确定运输系统战略,明确运输系统规划的方向。 2)选择运输路线 在组织运输系统完成货物的运送工作时,通常存在多种可供选择的运输路线。运输工具按不同的运输路线完成同样的运送任务时,由于运输工具的利用情况不同,相应的运输效率和运输成本也会不同。因此,选择时间短、费用省、效益好的运输路线是运输系统规划设计中的一项重要内容,这也是运输战略的充分体现。 3)选择运输方式 如何选择适当的运输方式、运输战略是物流运输合理化的重要问题。一般来讲,可以在考虑具体条件的基础上,对货物品种、运输期限、运输成本、运输距离、运输批量以及安全性等具体项日作认真研究考虑,可以使用一种运输方式也可以使用联运方式。 4)运输过程控制与信息系统 物流运输系统目标的实现依赖于有效的过程控制。由于运输过程的瞬间变动性,对运输过程控制的难度远远高于对固定节点的控制,因此在进行运输系统规划时如何实现对运输系统的有效控制特别是过程控制既是运输系统规划的难点又是重点。传统物流对运输过程的可控性差,但是随着信息技术的发展、信息化水平的提高,利用信息手段对运输过程进行控制和管理更加快捷、方便,同时可以使运输的管理者进行信息共享,减少信息滞后所带来的影响,从而为客户提供更好的运输服务。 二、物流运输系统规划设计的原则

软件开发课程设计

合肥工业大学 课程设计 设计题目排序算法的实现系统学生姓名高圣泽 学号 20085869 专业班级数学与应用数学08-1 指导教师王琦王青山 2011 年 06 月 07 日

一、设计目的 通过对此次数据结构大型作业内容的分析,锻炼学生分析与编写大型软件代码的能力。通过与同组同学的合作,锻炼协作的能力。以及本系统实现了各种排序(直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序)。 二、课程设计的内容 1.课程设计的题目及简介 题目:排序系统 简介:本系统实现了9种排序方法(直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序)。 2.设计说明及需求分析 本系统有以下十个功能模块,分别有switch 下的几个case 后语句函数来实现。 菜单界面设计图:

模块设计图:

3.概要设计 (1)直接插入排序: Straight Insertion Sort(IS)是一种简单的基本排序方法,它的基本操作是将一个记录插到已排序好的有序表中,从而得到一个新的、记录数增1的有序表。 (2)折半插入排序: Binary Inserting Sort(BI)是在直接插入的基础之上针对记录数量很大时引入的排序方法,首先用折半查找法在有序表中找到正确的插入位置,然后移动记录,空出插入位置,再进行插入。 (3)希尔排序: Shell’s Sort(SS)先将整个待排序记录序列分割成

若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序时”,再对全体记录进行一次直接插入排序。子序列不是简单的逐段分割,而是将相隔某个“增量”的记录组成一个子序列,所以关键字的较小的记录不是一步一步的前移,而是跳跃式前移,从而使得在进行最后一趟增量为1的插入排序时,序列已基本有序,只是做少量比较和移动即可完成排序。 (4)冒泡排序: Bubble Sort(BS)每相邻两个记录关键字比大小时,大的记录往下沉。每一遍把最后一个下沉的位置记下,下一遍只需检查比较到此为止,到所有记录都不发生下沉时,整个过程结束(没交换一次,记录减少一个反叙数)。 (5)快速排序: Quick Sort(QS)是对冒泡排序的一种改进,通过一趟快速排序将待排序的记录组分割成独立的两部分,其中前一部分记录的关键字均比枢轴记录的关键字小;后一部分记录的关键字均比枢轴记录的关键字大,数轴记录得到了它在整个序列中最终位置并被存放好,为一趟快速排序。第二趟再分别对分割成两部分的子序列,再进行快速排序,这两部分子序列中的枢轴记录也得到了最终在序列中的位置而被存放好,并且它们又分别分割出独立的两个子序列……递归,不断进行下去,直到每个待排序的子序列中只有一个记

基础工程学习心得

基础工程学习心得 这学期我们开设了《基础工程》,任何房屋都有基础,那基础工程的重要程度就不言而喻了。随着课程学习的不断深入,我对基础工程这门课程也逐渐的有了更加深刻的理解。学习了这门课程,也让我有诸多的收获! 《基础工程》课程总共包括七章内容,包括了地基基础设计原则,浅基础,连续基础,桩基础,基坑工程,地基处理,特殊土地基,地基基础抗震。我们主要学习了浅基础,连续基础,桩基础,和地基处理。 浅基础这一章中,我们学习了浅基础按不同标准的分类。按照受力条件可分为刚性基础(也称无筋扩展基础)和钢筋混凝土扩展基础两大类。而浅基础根据构造形式的不同又可以分为刚性扩大基础,单独和联合基础,条形基础,筏板和箱形基础 通过桩基础的学习,我们知道了单桩,单排桩,多排桩不同 的特性,以及各种桩基础的适用条件。桩基础按承台位置可分为高桩承台基础,低桩承台基础。按施工方法可分为沉桩,灌注桩,管桩基础,钻埋空心桩。按桩的设置效应分为挤土桩,部分挤土桩和非挤土桩。按承载性状可以分为摩擦桩,端承桩,主动桩,被动桩,竖直桩与斜桩。按桩身材料的组成成分又可以分为钢桩,钢筋混凝土桩。 根据基桩的构造不同,可分为钢筋混凝土钻孔灌注桩,钢筋混凝土预制桩,钢桩。这一章还介绍了各种桩基础具体的施工方法,步骤,注意事项以及水中桩基础施工的特点,方法,注意事项。我们学习了用不同的方法如何检验桩基础质量。 在地基处理的学习过程中,我首先学习了什么是软弱土地基,以及它的危害。处理软弱土地基的方法主要有一下几个类别置换,排水固结,化学加固,振密挤密,加筋。每种类别里面都包含了若干种具体的施工方法。各类地基处理方法,均有各

软件工程心得体会

软件工程心得体会 未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。 曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。 经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。 吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。在划分模块后明确了各自分工,渐渐形成良性循环。 在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。 学习能力体现在能尽快接受新的知识,顺应变化,学为所用。上《软件工程导论》这门课,我的收获大概如下: 我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。 其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和DEBUG。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。 具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。 1.可行性分析就是关于当前项目能不能干的分析结果。 2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。 3.需求分析就是对客户要求的功能的定义。 4.软件设计这就是对程序的每一个模块的详细设计的说明文档。 5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。 6.测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。

软件开发课程设计

S2——JavaScript客户端验证和页面特效制作(JavaScript) 1、技术简介 讲解HTML语法,会使用页面的表格,框架、DIV进行页面布局;使用各种表单控件,并能完成常见的表单验证任务;能实现浏览器端的各种常见动态效果,如:熟悉DOM各种元素的属性方法,HTML+JS元素的定位和查找,HTML+JS实现树形菜单的展开和关闭,HTML+JS层的隐藏、显示、弹出特效,HTML+JS浮动广告、弹出广告窗口效果。 2、课程内容及简介 章节名称简介备注 第一章JavaScript的基本语法掌握js脚本的基本结构;JavaScript基 本语法;变量的定义与赋值,数据类 型与转换函数等,运算符和控制语句; 灵活运用高级语法---自定义函数function Script 第二章DOM编程-window对象会运用DOM模型查找某个HTML元素;会使用window对象的open()方法制作不同风格样式的广告窗口;会使用window对象的setTimeout()方法和Date对象制作日期显示效果。 第三章DOM编程-document对象会使用document对象的getElementById()方法访问DIV层对象;会使用document对象的getElementsByName()方法访问表单元素;会使用DIV对象的样式属性控制层的隐藏和显示。 第四章CSS样式特效会使用style样式的相关属性动态改变边框颜色;会使用className类名属性动态改变按钮背景图片;会使用display显示属性实现层或图片的隐藏/显示和切换特效 第五章基本的表单验证技术会使用DOM模型的层次关系方问元素;或使用表单事件和脚步函数实现表单验证;会使用String对象、文本框控件的常用属性和方法实现客户端的验证 第六章表单验证的相关事件和辅助特效会使用图片代替提交按钮实现表单提交;会使用onKeyDown事件检查用户输入的特殊字符;会使用DIV的innerHTML或者innerText动态显示内容;会使用多个DIV动态隐藏或显示内容 第七章表单验证的高级特效会使用下来列表控件实现省市级联功能;会使用数组优化省市级联功能

基础工程课程设计报告

基础工程课程设计 名称:桩基础设计 姓名:文嘉毅 班级:051124 学号:20121002798 指导老师:黄生根

桩基础设计题 高层框架结构(二级建筑)的某柱截面尺寸为1250×850mm ,该柱传递至基础顶面的荷载为:F=9200kN ,M=410kN?m ,H=300kN ,采用6-8根φ800的水下钻孔灌注桩组成柱下独立桩基础,设地面标高为±0.00m,承台底标高控制在-2.00m ,地面以下各土层分布及设计参数见附表,试设计该柱下独立桩基础。 设计计算内容: 1.确定桩端持力层,计算单桩极限承载力标准值Q uk; 2.确定桩中心间距及承台平面尺寸; 3.计算复合基桩竖向承载力特征值R a及各桩顶荷载设计值N,验算基桩竖向承载力;计算基桩水平承载力R Ha并验算; 4.确定单桩配筋量; 5.承台设计计算; 湿 重 度 kN/m3

设计内容 一.确定桩端持力层,计算单桩极限承载力标准值uk Q 1.确定桩端持力层及桩长 根据设计要求可知,桩的直径d =800mm 。 根据土层分布资料,选择层厚为4.5m 的层⑧粉质粘土为桩端持力层。根据《建筑桩基技术规范》的规定,桩端全断面进入持力层的深度,对粘性土、粉土不宜小于2d 。因此初步确定桩端进入持力层的深度为2m 。则桩长l 为: l =4.3+3.8+2.8+2.3+4.4+3.0+2.5+2.9+5.7+0.8+2-2=32.5m 2.计算单桩极限承载力标准值 因为直径800mm 的桩属于大直径桩,所以可根据《建筑桩基技术规范》中的经验公式计算单桩极限承载力标准值uk Q : pk uk sk pk sik i p si p Q Q Q u q l q A =+=ψ+ψ∑ (1-1) 其中桩的周长u =d π=2.513m ;桩端面积p A =2/4d π=0.503㎡;si ψ、p ψ为别为大直径桩侧阻、端阻尺寸效应系数,si ψ=() 1/5 0.8/d =1, p ψ=()1/5 0.8/D =1。 根据所给土层及参数,计算uk Q : uk Q =2.513×1×[23×(4.3-2)+20×3.8+28×2.8+40×2.3+28×4.4+48 ×3.0+66×2.5+ 58×2.9+60×5.7+52×0.8+60×2]+1×710×0.503=3883.6kN 确定单桩极限承载力标准值uk Q 后,再按下式计算单桩竖向承载力特征值:

软件工程课程设计心得总结

软件工程课程设计个人总结 学期就快要结束了,到了最后一周居然还有软件工程课程设计,还要考试真的有点忙啊,不管怎样还是好好干吧,把对工程的理论研究、学习成果用于实践也是一种检验学习成果和提升工程能力的有效手段嘛。 工作内容安排 软件工程课程设计的第一天拿到题目,听取老师对于课程设计的要求、要完成的工作、预期要达到的效果和注意事项。然后分组、讨论和确定选题。这真正的课程设计才算开始了,经过组长,组员的反复研究、论证后一致决定选择:实习题目4:开发一个基于Web的BBS系统,包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。 这个题目对于现代化的网络交流来说发展的成熟而且符合当代互联网大众的网络需求,符合现代网络对信息分享讨论的爱好,我们一致预测在今后很长的一段时间内也将会是非常流行的一种交流介质。 确定选题后我们开始软件开发的第一步,需求分析,详细设计等内容,分块分工完成模块,我分到的主要部分就是分析论坛里面的帖子内容,用户的爱好,然后解决用户的索引需求,把用户的索引需求智能的、友好的呈现给用户,把这部分的代码编写,测试,把用户界面做好就是我接下来几天的工作内容。 俗话说:磨刀不误砍柴工,要想把我的这部分内容做好,做得完美,我的好好的分析一下,对全组对整个系统的需求分析的基础上又认真分析了本部分的内容和本部分要实现的功能,对本部分实现的主要思想理清,认真设计界面,还有对队员们的模块能有效的结合起来,让他们的模块也能有效的供我使用,做好我的接口也方便其他模块与此的衔接。 问题与解决 在本次课程设计中遇到了好多前所未有的问题,第一次接触HTML网页开发,第一次邂逅JSP web应用程序开发,第一次有了原来开发应用程序是需要数据库的,对于这些都是第一次接触,需要了解HTML的基本语法,需要学习JSP web 应用程序web app的开发方法,需要实践配置数据库TOMCAT、SQL sever,居然有这么多的东西需要从头来,对于这些方面我就像一张崭新的白纸,怎么能在短短的四五天时间内将这张白纸绘成一幅栩栩如生的画卷呢,这是我们面对的亟待解决的问题。 为了解决这一系列的问题,我们没有找借口,我们没有懒惰,我们更没有放弃,而是迎难而上,到图书馆“大采购”求资料,找到想要的,真想把图书馆搬到课程设计实验室。接下来就是根据我们的需求分析,概要设计,详细设计等内容分模块编写网页源代码,修复bug,测试代码,连接数据库这样我们的全新的基于web的BBS论坛就成功上线了。

《软件工程导论》第六版期末复习总结要点

软件工程 一、名词解释与问答 1、S A——结构化分析方法 2、画数据流图应注意什么事项? (1)数据流名称只能是名词或是名词短语; (2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来 源与加工的结果; (3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类; 父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致; (4)注意数据流图的易理解性; 3、什么是软件生存周期?它有那几个活动? 一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。 箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成; 圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工; 双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中; 什么是数据字典简述数据字典与数据流图的关系答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与 说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用?数据流图和对数据

流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性? 答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供 人阅读的文章?应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间? 良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定 着程序的质量. 简述软件测试的任务、目的与类型。 答:软件测试是一个为了寻找软件错误而运行程序的过程。 目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发 现 的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测 试 主要分为白盒测试和黑盒测试两大类。 可行性分析的目的和主要任务是什么? 答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。 主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行 性,社会可行性,抉择可行性。 需求分析的目的和主要任务是什么? 答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什么。需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、接口需求、约束条件、其他需求。 软件维护的目的和主要任务是什么?维护的类型有哪些? 答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。 主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)什么是耦合?模块的耦合包括哪些类型?答:耦合是对一个软件结构内不同模块之间互连程度的度量。 模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容耦合,标记耦合,无耦合/非直接耦合 什么是内聚?模块的内聚包括哪些类型?

(学习心得体会)软件实践课程学习心得体会

软件实践课程学习心得体会 经过潘老师讲授软件工程实践后,感觉对软件工程这门学科有了深一层的认识。软件工程是一门重视实际操作的科学。对于软件产品,无非是产品定义、设计代码、调试维护几个步骤,看似简单,可是实际操作却复杂困难,它不比其它行业产品可预见可触及,所以学好软件工程能为以后从事软件开发行业打好基础。 在软件实践这门课中,讲到了有效利用现有资源进行软件编程的方法。提到软件开发也可以像练习书法一样,采用临贴的方式,借鉴他人的优秀代码资源。临摹优秀软件是学习软件开发的一个重要方法。正如一首诗中说的:熟读唐诗三百首,不会写来也会吟”。软件开发也是一个道理。为了真正地掌握软件开发的技巧,临贴”是个不错的起步方法。 以前总是觉得,既然编写一个程序,就应该完全靠自己,那样写出来才有成就感,才算是自己的程序,可是这门课程教会我原来适当地借鉴别人的东西,也不算抄,相反,还可以提高效率,节省时间。这可真是与以往的观点不一样了。具体如下: 软件编程,拿来主义的作用很大: 1、源代码交换方便。 2、可行的例程序用处大。 3、借鉴现成少走弯路。

不过借鉴别人的东西可是有说法的,可不是盲目地抄袭,下面是一些提到的途径: 1、既有系统:借鸡下蛋,买来就用; 2、书本例子:简单修改、直接使用; 3、联机帮助:帮助文档、官方支持; 4、开放软件源代码:linux apache eclipse … 5、资源:论坛、搜索引擎、新闻组 借鉴过来后,还要多方面综合考虑,比如说代码的具体作用,完整性,还要考虑每个借鉴过来的东西的好坏。这些都要多方面考虑,可不能因为前面说软件编程可以借鉴别人的,就盲目地抄袭。到时候代码弄一堆凑在一块儿,谁也不知道它们会不会好好工作。弄不好乱了程序计划是小,公司的损失可不是哪个人都能承受得起的。 课程还提到,应该用一个小项目先从头到尾地练完,这样,有个整体性的了解,可以增加不少开发经验。看来,不学习此门课程,还不能深入地解读软件工程的奥义。这门课程为我们深入地了解软件工程这个庞大的前沿学科起到了推动性的作用。以上是我就此门课中提到的众多方法的一小段做的一些浅谈,更多的知识还在于我们自己去学习体会。

《软件工程导论》第五版-张海藩-编著-总结

《软件工程导论》第五版张海藩编著总结 分类:Computer System2011-01-04 10:14 6417人阅读评论(10) 收藏举报 测试数据结构工具任务文档软件测试 总结重点: ?Unit1 ?软件危机包含两方面の问题:一是如何开发软件,怎样满足人们对软件日益增长の需求?二是如何维护软件,使它们持久地满足人们の要求。 ?软件工程学定义:把软件当作一种工业产品,采用工程学の原理来管理和组织软件の开发和维护,称为软件工程。 ?软件是指程序、数据和文档三者共同构成の配置。 ?包含与数据处理系统操作有关の程序、规程、规则以及相关文档の智力创作称为软件。文档是描述程序开发过程の,是智力创作の真实记录,是创作活动の历史档案和结晶。 ?软件の描述性定义:软件由计算机程序,数据结构和文档组成。 ?软件质量定义为“与软件产品满足规定の和隐含の需求能力有关の特征和特性の全体” 具体来说: 1)软件产品中能满足给定需求の性质和特性の总体; 2)软件具有所期望の各种属性の组合程度。 ?将软件质量属性划分为六个特性(功能性、可靠性、易用性、效率、维护性和可移植性),这六个属性是面向用户の观点——面向管理の观点,且是定性描述の。 ?软件质量度量体系:内部度量可用于开发阶段の非执行软件产品,外部度量只能在生存周期过程中の测试阶段和任何运行阶段使用。 ?软件工程项目の基本目标:(1)低成本;(2)满足功能要求;(3)高性能;(4)易移植;(5)易维护。 ?软件工程方法学就是要从技术和管理上提供如何去设计和维护软件。 ?软件开发方法:面向数据流(约旦)方法、面向数据结构方法、面向对象方法。 ?结构程序设计是进行以模块功能和处理过程设计为主の详细设计の基本原则。它の主要观点是采用自顶向下、逐步求精の程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。 ?用来辅助软件开发、运行、维护、管理、支持等过程中活动の软件称为软件工具(CASE)。 ?软件生存周期定义:软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用の整个过程。各阶段の任务彼此间尽可能の相对独立,同一阶段内各项任务の性质尽可能の相同。软件の开发就是“按软件顺时间发展の过程分阶段进行”の。 ?软件生存周期模型: 瀑布模型(阶段间具有顺序型和依赖性,清楚地区分逻辑设计与物理设计、尽可能推迟程序の物理实现,是文档驱动模型,遵循结构化设计);

软件工程课程设计

软件工程课程设计 题目固定资产管理系统学院数学与信息工程学院专业计算计科学与技术班级计科学051 学号200332225232 学生姓名方明 同组成员李亮 指导教师魏远旺

目录 一、可行性报告┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉1 二、需求说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉3 三、总体设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉5 四、详细设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉13 五、程序源代码┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉24 六、课程设计体会┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27 七、参考文献┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27

第一章可行性报告 1.1 固定资产管理概述 1.1.1 固定资产 财政部颁发的于2002年1月1日起施行的《企业会计准则-固定资产》中,是这样对固定资产下定义的:“固定资产,是指同时具有以下特征的有形资产:为生产商品,提供劳务,出租或经营管理而持有的;使用年限超过一年;单位价值较高。”这应该是固定资产的准确定义。 1.1.2 固定资产的具体标准如何确定 判断固定资产的具体标准,主要有两个方面:一是时间标准,二是价值标准。根据《企业会计准则-固定资产》规定:固定资产,是指企业使用期限超过1年的房屋,建筑物,机器,机械,运输工具以及其他与生产,经营有关的设备,器具,工具等。不属于生产经营主要设备的物品,单位价值在2000元人民币以上,并且使用年限超过2年的,也应当作为固定资产。 1.1.3 固定资产如何分类 按其经济用途分类,可以分为生产经营用固定资产和非生产经营用固定资产; 按其所有权划分,可分为自有固定资产和租入固定资产; 按来源渠道划分,可分为外购的固定资产,自行建造的固定资产,接受投资转入的固定资产,接受捐赠的固定资产,以非货币资金换入的固定资产,改建扩建新增的固定资产,盘赢的固定资产,融资租入固定资产; 按使用情况划分,可以分为使用中的固定资产,未使用的固定资产和不需用的固定资产; 按其经济用途和使用情况综合划分,可分为生产经营用固定资产,非生产经营用固定资产,租出固定资产(指经营性租赁),不需用固定资产,未使用固定资产,土地,融资租入固定资产。 1.2 固定资产管理系统可行性分析及开发计划 本项目主要是根据软件工程课程的实践需要,根据固定资产管理的流程,与软件工程的理论相结合,完成本项目的开发。本项目的设计和开发目标是达到软件工程课程理论和实际相结合的目的。 1.2.1 定义: *数据流图

桩基础施工学习总结

桩基础施工学习总结 在佛山公司勘察部工作的一年时间里,我感觉自己在勘察这方面学了不少的技术及工作方法,但不应仅仅止步于此,那也未必太“知足常乐”了。要做到面面俱到、触类旁通,还是要不断地学习新事物,趁着勘察部的工作不是很忙的时候,我向华经理申请去桩基础工地学习,跟完了整个工地,所以对基础部的桩基础施工程序及现场管理等都有了一定的认识,我把我的一些体会总结如下: 桩基础现场施工流程可以简单概括为“三通一平”、放线、桩机进场施工、检测桩质量、桩合格后交付甲方、退场。在上述看似简单的流程其实不简单,这一过程中,有很多工序要做,每个环节都是环环相扣,如果某一个环节出问题,势必会影响到其他环节的正常运行,这就要求我们的施工员在此过程中要合理的调配及管理,包括把握整个工程的进度及控制好质量,所以说施工员必须时时在场,牢牢跟进。 在桩基础施工过程中也遇到一些问题,比如说,有一次有一根桩全部打进土层才发现已经断桩了,桩机班长向我们施工员汇报情况,监理员当时也在场,但是都不能断定这根断桩是什么原因造成的,或许是桩的质量本身就有问题,或许是我们打桩过程中收锤标准没有控制好,在这种情况下,我们就需要与多方沟通,找出问题所在,经过多方面的调查,最后桩机班长说出了事实,在管桩厂送来的新桩中,他当时就发现有一根桩有一条很微小的裂缝,没有太在意,觉得问题不大,也没有向施工员汇报,正是这条桩的微小裂缝造成了断桩,所以最后管桩厂家同意赔一根桩并给甲方解释是他们的责任所在。这样

类似的问题,在桩基础施工过程中经常出现,关键在此过程中能不能找出问题、解释问题,从而去解决问题,我想这是一个很大的学问,需要不断地学习及积累。其次,在桩基础施工过程中,经常会遇到因配桩不合适而造成桩长过长或过短的现象发生,这是一个要改进的地方,这就要求我们施工员要认真地阅读勘察报告,对场地的地质情况有充分的了解以后,然后结合施工经验,按照设计要求,才能合理地配好每一根桩,这也是需要长期积累的施工经验,然后才能做到游刃有余。 对于现场的管理经验,我总结为四个字,“严、勤、查、导”,首先,“严”就是严格要求,按照规范的程序来做;“勤”是勤走动、勤过问,经常要在场地里走动过问施工情况,才能发现问题;“查”是检查,工程质量及安全事关重大,不要掉以轻心,要经常检查找出隐患;“导”就是指导和指挥施工,最能体现施工员的水平所在。如果做好以上的四个字,整个工程就会做得很顺利、很成功。 总之,在基础部学习的一个月时间里,以上提到的都是一些常见问题,有一些问题没有提到并不代表其不存在,但是如果我们时常抱着解决问题的态度去发现问题并把它处理好,从中会体验到成就感,所以对于这次学习我收获还是蛮多的,在此感谢华经理、欧阳经理对我要求去桩基础工地学习的支持。

学习《软件工程》课程心得体会

软件工程课程 ——心得体会 摘要:高校教职工工资管理系统是为了解决教职工工资管理的而设计的,目的是建立一个能够初步实现高校教职工工资管理系统的智能化管理,该系统能跟据每位教师的职称不同而确定不同的基本工资,同时能根据每个教职工的出勤率,加班时间计算出每个教职工的月工资,还能根据每个月的情况计算出年终奖金。利用此系统能减少工资计算管理教职工数量,增加教职工效率,同时还能使公司工资管理更加合理、透明,为高校节约成本。在进行软件需求说明书设计及概要设计的心得体会。 关键字:工资管理功能心得 绪论:软件工程课程设计的题目是高校教职工工资管理系统,本文主要是对于软件工程课程设计中需求分析与概要设计分析的心得。 我们进行设计的项目是高校教职工工资管理系统。高校教职工工资管理系统是为了解决教职工工资管理的而设计的,目的是建立一个能够初步实现高校教职工工资管理系统的智能化管理,该系统能跟据每位教师的职称不同而确定不同的基本工资,同时能根据每个教职工的出勤率,加班时间计算出每个教职工的月工资,还能根据每个月的情况计算出年终奖金。利用此系统能减少工资计算管理教职工数量,增加教职工效率,同时还能使公司工资管理更加合理、透明,为高校节约成本。 一、需求分析和概要设计。 1)需求分析 按照软件工程的软件过程来说: 1需求分析产生了软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。 2.概要设计产生了软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。 在进行需求分析时,我们既是开发者又是用户,本系统的业务流程与业务分类的定义比较难。我们的团队进行了研讨,还充分运用了身边的各种资源,大量的查找了很多网络上关于工资系统的资料。通过资料的进行讨论、根据我们的课题进行分析,最后确定了用户的需求为: 1.本系统在高校应用后高校工资管理方面的教职工将减少至目前的50%左右; 2.本系统在高校应用后将在高校各方面的成本将会有所降低; 3.本系统在高校应用后将教职工的工资达到完全透明,计算更加精确教职工因纠纷事件减少到1%。 根据分析将系统的功能从一般教职工与系统管理者两个角度将功能划分为7个模块,当然介于我们的知识有限,有的功能没有实现:员工工资与考勤直接挂钩,但本系统无法与员工考勤系统挂钩相连,由于涉及此系统时该高校并没有员工考勤系统,而且我们在最初进行商量的时候也没有提出该要求。 2)概要设计 从概要阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。由概要设计说产生大的概要说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。 在本阶段主要涉及处理流程的设计、总体结构和模块外部设计、功能分配。在接口设计上有用户接口、外部接口、内部接口;数据结构设计有逻辑结构设计、物理结构设计等等。在接口设计时参考了大量的资

软件工程导论(第6版)知识点总结、复习课_图文.

复习课 --------酷爱YC 第一章 1、什么是软件危机,什么是软件工程 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:(1如何开发软件,以满足对软件日益增长的需求;(2如何维护数量不断膨胀的已有软件。 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件,并有效地维护它。 2、完整的软件配置由哪些内容组成 软件配置主要包括程序,文档和数据等成分。 3、软件生命周期分为哪3个时期和8个阶段,每个阶段的任务(工作分别是什么,重要性如何

概括地说,软件生命周期由软件定义、软件开发和运行维护3个时期组成 1、软件定义(系统分析。 软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。 (1 问题定义,确定系统要解决的问题是什么。成果:关于问题性质、工程目标和工程规模的报告。 (2 可行性研究,确定问题是否有可用的、能行得通的解(包括:技术、经济、操作、社会等方面的可行性。这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。成果:可行性研究报告。 (3 需求分析,确定软件系统的必须实现的功能、必须达到的性能、必须满足的运行环境要求。系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。成果:软件需求规格说明书(SRS,内容包括:系统的逻辑模型;系统(子系统的名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等。 2、软件开发。 开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。 (1 总体设计(概要设计,回答“怎样实现目标系统”。

计算机科学与技术专业课程设计

武汉理工大学《计算机科学与技术专业教育》 专业教育 ─我所认识的计算机专业对专业的最初认识1. 1.1为什么选择计算机专业计算机使当代社会的 经济、政治、军事、科研、教育、服务等方面在概对人类社会的进步已经并还将产生极为深念和技术上发生了革命性的变化,刻的影响。目前,计算机是世界各发达国家激烈竞争的科学技术领域之一。随着计算机随着信息时代的到来,计算机逐渐成为技术及科学领域的核心。因而,深刻影响着我们的学习,工作及生活。 的普及,其应用领域逐渐广泛,计算机的学习与我们的生活息息相关。 1.2最初的认识虽然对于这个专业刚开始的时候不了解它具体是干什么的,但是 从小就对于计算机十分感兴趣,因此在高考完填报志愿时就报了这个专业。进入大学之后,看到培养计划发现这个专业应用还是挺多的,但是因此让自己更加的对以后的职业感到很迷茫,不知道究竟是该干什么了。但是既来之,则安之。相信在以后的学习过程中会慢慢地找到方向,并为之努力的。因此说对于计算机专业还是抱有很大的热情的。 2.学习的方法 2.1培养对专业的兴趣 俗话说兴趣是最好的老师,因此要想真正做好一件事情,学好自己的专业首先就要培养自己对本专业的兴趣。那么应该如何培养呢?可能阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因,是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》,你就会被书中有趣的故事和例证所吸引,从而对抽象的理论有了感性的认识——即使仍然没有读懂,你也至少了解了这个学科研究的领域和目标是什么,也必然有所收获。 2.2认真学习专业课程,学好数学 大学计算机专业对数学的要求较高,其重要性不必多言。数学令不少同学头痛,除了其“繁”与“难”外,很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比,计算机专业的数1 武汉理工大学《计算机科学与技术专业教育》

相关主题