软件工程课程总结

时间:2024.4.27

课程总结

本课程是一门介绍应用软件开发的概述性的课程,系统讲授了应用软件的相关开发过程,和所应用的技术。课程讲授了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、软件测试技术

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

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


第二篇:刘玉绘 软件工程课程设计总结报告


淮海工学院

软件工程课程设计

报告书

题目名称:图书信息管理系统

班级组别:软件082班           

组员姓名:刘玉绘,石岩,廖南,徐洪卫,徐浩然,杨晨磊    

 

软件工程课程设计文档目录

更多相关推荐:
软件工程课程总结

学习软件工程这门课程已经有一个学期了,整整一个学期下来,应该说还是有许多值得肯定的地方的。其实在我看来,软件工程与其说是一门课程,不如说是一门思想,是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限…

软件工程课程总结报告王雷

合肥学院《软件工程》课程总结题院系专业姓名指导完成目《软件工程》课程总结名称合肥学院数学与物理系级)11信息与计算科学号)王雷1107011046教师姚蓓蓓时间20xx年x月x日(班(学软件工程课程总结报告…

软件工程课程总结

摘要:计算机是20世纪最重大的科学技巧成就之一,使当代社会的经济、军事、科研、教育、服务等方面在概念和技巧上发生了性的变化,对人类社会的进步已经并还将产生极为深刻的影响。目前,计算机是世界各发达国度剧烈竞争的科…

软件工程课程总结

第一章概述软件危机危机表现:应用越来越大历史短、经验少产品质量低劣需求上升、方式落后、人员奇缺产品维护成为最头痛的问题软件工程软件工程的定义Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和…

软件工程课程总结

课程总结1.作为项目经理,如果交给你一个开发项目,你怎么做?采用通用过程框架,进行沟通、策划、建模、构建和部署活动,根据敏捷开发原则对整个设计和开发流程进行管理和控制。1、沟通。在项目启动的时候与客户和利益相关…

软件工程课程总结

课程总结题目学生姓名学号学院专业班级指导教师职称软件工程课程总结教授20xx年11月软件工程课程总结一学习目标通过系统的学习了解软件开发从项目确定到需求分析再到概要及详细设计代码实现开发后的软件测试这一完整软件...

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

软件工程课程心得体会摘要:高校教职工工资管理系统是为了解决教职工工资管理的而设计的,目的是建立一个能够初步实现高校教职工工资管理系统的智能化管理,该系统能跟据每位教师的职称不同而确定不同的基本工资,同时能根据每…

软件工程学习总结

一学习总结通过一学期软件工程的学习使我了解到了很多以前都不知道的知识现将所学课本外的知识总结如下1通过对虚拟机的认识使我了解了虚拟机的基本知识以及其安装过程和主要应用2学会了安装和应用powerdesigner...

软件工程总结

这个学期通过学习软件工程这门课程我了解了什么是软件工程以及怎样学好软件工程和如何学习软件工程了解了软件工程中的DFD图和UML建模的区别一学习课程总结1软件工程到底是一门怎样的课程学软件工程吃力的地方在哪里软件...

人大软件工程硕士考研就业方向总结

凯程考研集训营为学生引路为学员服务人大软件工程硕士考研就业方向总结人大软件工程硕士考研就业怎么样同学不用发愁了凯程人大软件工程硕士考研老师给大家整理了一些复习内容以及人大软件工程硕士考研难度人大软件工程硕士考研...

软件工程课设心得心得

课程设计题目宾馆客房管理系统学生姓名学院信息工程学院系别计算机系专业软件工程班级软件081指导教师20xx年7月22日软件工程课程设计心得体会本次软件工程课程设计我们设计的项目是宾馆管理系统为期两周大家都积极参...

刘玉绘 软件工程课程设计总结报告

淮海工学院软件工程课程设计报告书题目名称图书信息管理系统班级组别软件082班组员姓名刘玉绘石岩廖南徐洪卫徐浩然杨晨磊

软件工程课程总结(39篇)