清华大学软件工程教材
- 格式:pdf
- 大小:712.52 KB
- 文档页数:53
《软件工程》课程标准课程信息【课程编码】:xxxxx【课程名称】:软件工程【适用专业】:计算机类各相关专业【先修课程】:C语言程序设计、SQL Server数据库技术、oracle 数据库技术、Java语言程序设计和Servlet&JSP开发技术等【后续课程】:顶岗实习【建议课时】:72课时1.课程定位《软件工程》是高等职业教育软件技术专业的专业必修课程。
本课程是一门研究和指导软件开发和维护的工程性课程,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、规范、技术和方法进行软件工程项目的开发和维护,把经过实践证明正确的管理措施和当前能够得到最好的技术方法结合起来,以较少的代价获取高质量的软件产品。
通过本课程的学习,使学生掌握软件工程的常用工具的使用,能够熟练使用工具辅助完成软件需求分析建模、数据库设计、界面设计和管理工作。
2.课程设计理念《软件工程》作为一专业必修课程,重点要求学生学习了解与软件开发和维护有关的四个方面的主要内容——过程与模型、方法与技术、工具与环境、标准与规范。
进而通过课程实践培养学生运用软件工程工具辅助完成软件需求分析建模、软件设计、数据库设计、界面设计和管理工作的实践应用能力与创新能力,努力成为当今信息社会和知识经济时代所需要的高素质计算机人才。
3.课程目标本课程是软件技术专业的专业必修课程。
通过本课程的学习,使学生初步建立工程化意识,掌握用工程化思想(包括技术、方法与环境)开发各种软件,以软件的生命周期作为主线,了解软件工程的基本理论,进一步系统化、工程化,为今后实际工程中能够进行系统分析与设计奠定良好的基础。
3.1知识目标1)熟悉软件与软件工程基本概念和基本知识。
2)熟悉软件与软件工程基本原理和准备、实施、评价策略。
3)掌握运用一些具体的方法与技术,如软件需求规格说明书的格式叙写、软件设计方法、软件测试的步骤等。
4)熟悉软件工程主要文档编制规范。
软件工程清华刘强(二)引言概述:本文将介绍清华大学软件工程专业课程中,由刘强教授讲授的第二部分内容。
该部分主要围绕软件工程的核心概念和方法展开,旨在培养学生的软件开发和项目管理能力。
本文将分为五个大点进行详细阐述,包括需求工程、软件设计、软件测试、软件维护和项目管理。
正文:一、需求工程:1. 确定需求的重要性:引述实际案例,说明需求工程的关键作用。
2. 需求获取方法:介绍面对面访谈、问卷调查、焦点小组讨论等需求获取方法。
3. 需求分析:阐述需求分析的目标和方法,如使用数据流图、用例图等进行需求建模。
4. 需求验证和确认:讲解如何验证和确认需求的正确性和完整性。
5. 需求管理和变更控制:介绍如何管理需求,包括需求跟踪、变更控制和配置管理等方面的知识点。
二、软件设计:1. 结构化设计:讲解结构化设计的基本原则和方法,如模块化、层次化等。
2. 面向对象设计:介绍面向对象设计的核心思想和常用的建模方法,如类图、时序图等。
3. 软件架构设计:阐述如何设计软件系统的整体结构和组织方式。
4. 接口设计:讨论如何设计良好的软件接口,包括接口规范和设计原则。
5. 数据库设计:探讨如何进行数据库设计,包括数据库模式设计和数据表设计等方面的内容。
三、软件测试:1. 测试基本概念:介绍测试的定义、目标和原则等基本概念。
2. 静态测试:讲解静态测试方法,如代码审查、形式化验证等。
3. 动态测试:介绍常用的动态测试方法,如黑盒测试、白盒测试等。
4. 测试策略和计划:阐述如何制定有效的测试策略和计划,包括测试用例设计和测试环境搭建等。
5. 故障管理和缺陷跟踪:讲解如何管理软件故障和缺陷,包括问题跟踪系统的使用和故障修复流程的管理。
四、软件维护:1. 维护类型和活动:介绍软件维护的类型,包括改正性维护、适应性维护等。
2. 维护过程和工具:阐述有效的软件维护过程和常用的维护工具,如版本控制系统。
3. 维护成本和效益:讨论软件维护的成本和效益评估方法,如维护工作量度量和经济性分析等。
清华大学软件开发大全集从入门到精通系列(套装共12册)gu_572101993 电梯直达1#发表于 2022-7-5 15:26:26|只看该作者|倒序浏览|阅读模式书名:清华大学软件开发大全集从入门到精通系列(套装共12册)作者:明日科技出版社:清华大学出版社出版年:2019-12-1ASIN :B09DK85CTG[url=/s/m276FQSCYAx (防丢失备用链接:)]/s/m276FQSCYAx (防丢失备用链接:)[/url]附送电脑端及手机平台电子书阅读器,极其方便又实用!♦⭐(1):calibre 阅读器:⭐(2):Koodo-Reader :⭐(3):静读天下专业版(手机平台安卓端)⭐(4):NeatConverter(电子书格式转换)内容简介:♦《Java 从入门到精通(第5版)》全书分为27章,包括初识Ja va ,熟悉Eclipse 开发工具,Java 语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing 程序设计,集合类,I/O (输入/输出),反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing 表格组件,Swing 树组件,Swing 其他高级组件,高级事件处理,AWT 绘图,奔跑吧小恐龙和企业进销存管理系统等。
♦《Java Web 从入门到精通(第3版)》全书共分21章,包括Ja va Web 应用开发概述、HTML 与CSS 网页开发基础、JavaScript 脚本语言、搭建开发环境、JSP 基本语法、JSP 内置对象、JavaBean 技术、Servlet 技术、过滤器和监听器、Java Web 的数据库操作、EL (表达式语言)、JSTL 标签、Ajax 技术、Struts2基础、Struts2高级技术、Hibernate 技术、Hibernate 高级应用、Spri ng 核心之IoC 、Spring 核心之AOP 、SSM 框架整合开发、九宫格记忆网等内容。
1.什么叫文档?(P1)文档是确定软件生产各个阶段必须完成的有关计算机程序功能、设计和使用的文字或图形资料。
2.什么叫软件?软件和程序的区别是什么?(P4)软件是计算机程序及其有关数据和文档的完整集合。
程序是能够完成预定功能的可执行的指令序列。
而软件=程序+文档。
3.软件工程方法学的三个要素是什么?各个要素的作用是什么?(P4)三个要素:方法、工具和过程。
方法:完成软件开发任务的技术方法。
工具:为方法的运用提供自动或半自动的软件支撑环境。
过程:规定了完成任务的工作阶段、工作内容、产品、验收的步骤和完成准则。
4.瀑布模型把软件生命周期分为那几个时期?有分为那几个阶段?(P9)分为三个时期:计划时期、开发时期、运行时期计划时期可分为:问题定义、可行性研究、需求分析开发时期可分为:概要设计、详细设计、软件实现、软件测试运行时期:运行维护5.软件工程学的主要内容是什么?(P4)是软件开发技术和软件工程管理。
6.软件开发模型有哪些?(P9)总体来说包括传统的瀑布模型和后来兴起的快速原型模型具体分为瀑布模型、快速原型模型、增量模型、喷泉模型、螺旋模型和统一模型7.可行性研究包括哪几个方面?各包括那些内容?(P20)包括技术方面、经济方面、社会因素方面(1)技术可行性是指对设备条件、技术解决方案的实用性和技术资源的可用性的度量。
(2)经济可行性是指希望以最小的成本开发出具有最佳的经济效益的软件产品。
其内容如下:<1> 支出<2>收益<3>收益/投资比<4> 投资回收周期<5> 敏感度分析(3)社会因素方面的可行性主要从法律、用户等方面分析可行性。
8.需求分析有什么必要?在这一阶段常绘制那些图形?(P22)需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求。
需求分析的结果是否正确,关系到软件开发的成败,正确的需求分析是整个系统开发的基础。
清华计算机教材书单清华计算机教材书单介绍如下:一、数据结构与算法1. 《数据结构与算法分析》(作者:王晓东)2. 《算法导论》(作者:Thomas H. Cormen)二、计算机组成原理1. 《计算机组成原理》(作者:唐朔飞)2. 《深入理解计算机系统》(作者:Randal E. Bryant和David R. O'Hallaron)三、计算机网络1. 《计算机网络》(作者:谢希仁)2. 《TCP/IP协议族》(作者:William Stallings)四、操作系统1. 《现代操作系统》(作者:Andrew S. Tanenbaum)2. 《操作系统设计与实现》(作者:xv6 operating system design and implementation)五、数据库系统1. 《数据库系统概念》(作者:Abraham Silberschatz、Henry F. Korth 和S. Sudarshan)2. 《深入浅出MySQL》(作者:唐汉明)六、软件工程1. 《软件工程》(作者:张海藩)2. 《代码大全》(作者:Steve McConnell)七、编译原理1. 《编译原理》(作者:Alfred V. Aho、Monica S. Lam、Ravi Sethi 和Jeffrey D. Ullman)2. 《编译原理与实践》(作者:Steven Muchnick)八、人工智能导论1. 《人工智能:现代方法》(作者:Stuart Russell和Peter Norvig)2. 《Artificial Intelligence: A Modern Approach》(作者:David S. Smith)九、计算机图形学1. 《计算机图形学》(作者:James D. Foley和Andries van Dam)2. 《Real-Time Rendering》(作者:Thomas Duff和Neil Hunt)。