软件工程》教学大纲

课程代码

045100314

课程名称

软件工程

英文名称

Software Engineering

课程类别

专业基础课

课程性质

必修

学时

总学时:48 实验学时16实习学时:其他学时:

学分

2.5

开课学期

第五学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术、网络工程、信息安全

授课语言

中文

先修课程

高级语言程序设计、数据结构、数据库、数据结构、算法分析与设计

课程对毕业要求的支撑

本课程对学生达到如下毕业要求有如下贡献:

1.工程知识:能够将数学、自然科学、工程基础和专业知识用于解决计算机复杂工程问题

2.问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析计算机复杂工程问题,以获得有效结论。

3.设计/开发解决方案:能够设计针对复杂与计算机相关工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

4.研究:能够基于科学原理并采用科学方法对与计算机相关复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

5.使用现代工具:能够针对与计算机相关复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

课程目标

完成课程后,学生将具备以下能力:

1)掌握软件工程的基本原理和基本知识,培养学生发现问题、解决问题的基本能力。[12

2)掌握软件开发过程的基本知识,学生具有设计软件的初步能力。[134

3)掌握常用的软件开发方法,并具有初步设计能力,培养学生的实践能力。[35

课程简介

软件工程是研究和指导软件开发和维护的工程类学科,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、规范、技术和方法进行软件工程项目的开发和维护,把经过实践证明正确的管理措施和当前能够得到最好的技术方法结合起来,以较少的代价获取高质量的软件产品。

教学内容与学时分配

(一)绪论课程目的、意义与内容组织、学时安排介绍    2学时

教学要求:掌握什么是软件工程,软件工程取得了哪些进展,什么是好的软件,软件工程涉及的人员;掌握系统的方法,工程的方法;了解开发团队的成员,软件工程发生了多大的变化。

(二)过程和生命周期的建模                          2学时

1)过程模型                                         1学时

2)建模工具                                          1学时

教学要求:理解过程的含义,掌握主要的软件过程模型,过程建模工具和技术和实际的过程建模。

(三)计划和管理项目                                    2学时

1)项目计划                                          1学时

2)风险管理                                          1学时

教学要求:掌握跟踪项目进展,项目人员分配,工作量估算,风险管理,制定项目计划以及过程模型和项目管理。

(四)获取需求                                      8学时

1)需求收集                                         2学时

2)需求建模                                         3学时

3)需求文档                                         3学时

教学要求:掌握需求过程,需求的类型,需求的特性,建模表示法,需求和规格说明语言,原型化需求,学写需求文档,理解确认和验证,测量需求选择规格说明技术。

重点:学会书写需求分析文档

难点:需求建模方法

(五)设计系统                                        8学时

1)体系结构风格                                      2学时

2)体系结构建模                                     2学时

3)程序设计                                         2学时

4)设计评估                                         1学时

5)设计文档                                         1学时

教学要求:理解什么是设计,掌握分解和模块化,熟悉主流的体系结构风格和策略,了解创建设计中的问题,好设计的特性,改进设计技术,设计的评估和确认,文档化设计

重点: 程序设计的方法、工具

难点:体系结构设计、程序设计

(六)测试程序                                     6学时

1)测试原理                                       1学时

2)单元测试                                       2学时

3)集成测试                                       2学时

4)测试计划                                       1学时

教学要求:理解软件故障和失效,测试的相关问题,掌握单元测试,集成测试,测试面向对象系统,测试计划。

重点:掌握测试方法和工具

(七)交付系统                                     2学时

重点:理解文档和培训的必要性,学习几个实际系统中的培训和文档的例子。

(八)系统维护                                       2学时

重点:理解变化的系统,维护的本质,维护问题,掌握测量维护特性,维护技术和工具。

实验教学(包括上机学时、实验学时、实践学时)

实验学时:16

教学方法

课程教学以课堂教学、课外作业、综合讨论、网络以及授课教师的科研项目于积累等共同实施

考核方式

本课程注重过程考核,考核形式、考核内容、课程目标、成绩比例为:

1)平时作业和课堂表现(占总成绩的20%

选做教材部分习题和设计题,考查学生对某某基础知识和基本理论的掌握和应用能力;课程目标12

2)期中考试和平时小测试(占总成绩的20%

选择课堂测验的形式,考查学生对某某运算和设计的能力;课程目标2

3)期末考试(闭卷)(占总成绩的60%

采用笔试闭卷方式,考试内容选择某方面的内容,重点考查某基础知识、基本应用、某设计运算能力;课程目标13

教材及参考书

现用教材:Roger S.Pressman著,“软件工程实践者的研究方法”(第7版),机械工业出版社

主要参考资料:

[1] 郑人杰主编,软件工程概论 第2版,机械工业出版社,2017

[2] Ian Sommerville主编,软件工程(原书第9版),机械工业出版社,2017

[3] (美)罗杰 S. 普莱斯曼(Roger S. Pressman),布鲁斯 R. 马克西姆(Bruce R. Maxi主编, 软件工程:实践者的研究方法(原书第8·本科教学版),机械工业出版社,2016

制定人及制定时间

高英,2019512

 “CourseTitle” Syllabus

Course Code

045100314

Course Title

Software Engineering

Course Category

Specialty Basic Courses

Course Nature

Compulsory Course

Class Hours

48

Credits

2.5

Semester

The Fifth term

Institute

 School of Computer Science & Engineering

ProgramOriented

Computer science and technology, network engineering, information security

Teaching Language

Chinese

Prerequisites

Advanced language programming, data structures, databases, data structures, algorithms analysis and design

 Student Outcomes

 (Special Training Ability)

his course offers the following contribution to students' following graduation requirements:

1. engineering knowledge: basic knowledge, basic principle, methods and means of professional solid, to mathematics, natural science, the basic knowledge and professional expertise to solve complex engineering problems, to lay the foundation of knowledge to solve practical issues of computer application.

2., analysis of the problem: the use of mathematics, natural science, the basic principles of professional, methods and means, analysis, design and development of computer applications in the complex problems.

3. design / development solutions: able to design solutions to complex problems in software engineering and design software systems that meet specific requirements.

4. research: Based on scientific principles and using scientific methods to study complex problems of software engineering, including designing experiments, analyzing and interpreting data, and getting reasonable and valid conclusions through information synthesis.

5. the use of modern tools for mechanical engineering to complex problems, development, selection and use of appropriate technology, resources, modern engineering tools and information technology tools, including software engineering prediction and Simulation of complex problems, and to understand its limitations.

Course Objectives

Upon completion of the course, students will have the following abilities:

(1) master the basic principles and basic knowledge of software engineering, and cultivate the basic ability of students to find problems and solve problems. [1, 2]

(2) master the basic knowledge of software development process, and students have the preliminary ability to design software. [1, 3, 4]

(3) master the common methods of software development, and have the ability of preliminary design to train students' practical ability. [3, 5]

Course Description

Software engineering is the engineering discipline research and guide the development and maintenance of software, it takes the theory of computer science and other related disciplines theory, development and maintenance of the concept, engineering principle, standard, technology and method of software engineering project, the practice proves that the correct management measures and the current can be combined get the best technology, obtaining high quality software products with less cost

Teaching Content and Class Hours Distribution

(1) the purpose, significance and content of the introduction, organization and class arrangement are introduced, and 2 hours are introduced

What is the teaching requirements: Master of software engineering, software engineering, which has made progress, what is a good software, software engineering related personnel; grasp the system engineering method, the method; members understand the development team, took a big change in software engineering.

(two) process and life cycle modeling; 2 hours

(1) process model 1 hours

(2) modeling tools 1 hours

Teaching requirements: understand the meaning of the process, master the main software process models, process modeling tools and techniques, and practical process modeling.

(three) plan and manage the project 2 hours

(1) the project schedule is 1 hours

(2) risk management 1 hours

Teaching requirements: keep track of project progress, project staff allocation, workload estimation, risk management, project planning, process model and project management.

(four) obtain demand for 8 hours

(1) demand collection of 2 hours;

(2) demand modeling 3 hours

(3) requirements document 3 hours

Requirement: the demand for process control, the type of demand, demand characteristics, modeling method, requirement and specification language, the prototype needs to learn to write the document requirements, understand the validation and verification, measurement demand specification techniques.

Key point: learn to write requirements analysis documents

Difficulty: Requirements Modeling Methodology

(five) design system 8 hours

(1) system structure, style, 2 hours

(2) system structure modeling, 2 hours

(3) programming 2 hours

(4) design evaluation 1 hours

(5) design documents 1 hours

Teaching requirements: to understand what is the master design, decomposition and modularization, familiar with the architecture style and strategy of the mainstream, to create problems in the design, characteristics of good design, improved design techniques, assessment and validation of design, document design

Key points: methods and tools for programming

Difficulties: architecture design, program design

(six) test program 6 hours

(1) test principle, 1 hours

(2) unit test 2 hours

(3) integration test 2 hours

(4) test plan 1 hours

Teaching requirements: understanding software failures and failures, testing related issues, mastering unit testing, integration testing, testing object-oriented systems, and testing plans.

Important: Mastering test methods and tools

(seven) delivery system 2 hours;

Emphasis: understanding the need for documentation and training, learning examples of training and documentation in several practical systems.

(eight) system maintenance 2 hours

Emphasis: understanding the changing system, the nature of maintenance, maintenance issues, mastering measurement, maintenance characteristics, maintenance techniques and tools.

Experimental Teaching

 16  

Teaching Method

The course teaching is carried out by classroom teaching, homework, comprehensive discussion, network, and the accumulation of scientific research projects of teachers.

Examination Method

 This course pays attention to process assessment. Examination form, content, goal and achievement ratio are as follows:

 (1) Peacetime homework and classroom performance (20% of the total score)

 Select some exercises and design questions in the textbook to test the students'ability to master and apply some basic knowledge and theory.

 (2) Midterm and Hourly Test (20% of the total score)

 Choose the form of classroom tests to test students'ability to perform certain operations and design; Course Goal 2

 (3) Final examination (closed examination) (60% of the total score)

By using the closed-paper method of written examination, the content of the examination should be selected from certain aspects, focusing on certain basic knowledge, basic application, and certain design and operation ability; Course Objectives 1 and 3

Teaching Materials and Reference Books

Current teaching materials: Roger, S.Pressman, "research methods of software engineering practitioners" (The Seventh Edition), Mechanical Industry Press,2011

Main reference material:

[1] Zheng Renjie, editor in chief, introduction to software engineering, Second Edition, mechanical industry press, 2017

[2] Ian Sommerville, editor in chief, software engineering (ninth edition of original book), mechanical industry press, 2017

[3] (United States) Roger Preiss Mann (Roger S. S. Pressman), Bruce Maksim (R. Bruce R. Maxi editor, software engineering: a practitioner's research methods (Eighth Edition - undergraduate teaching edition), mechanical industry press, 2016

Prepared by Whom and When

Gao Ying, April 12, 2019


《软件工程》实验教学大纲


课程代码

045100314

课程名称

软件工程

英文名称

Software Engineering

课程类别

专业基础课

课程性质

必修

学时

总学时:48  实验:16

学分

2.5

开课学期

第五学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术、网络工程、信息安全

授课语言

中文

先修课程

高级语言程序设计、数据结构、数据库、数据结构、算法分析与设计

毕业要求(专业培养能力)

本课程对学生达到如下毕业要求有如下贡献:

 1.工程知识:能够将数学、自然科学、工程基础和专业知识用于解决计算机复杂工程问题

 2.问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析计算机复杂工程问题,以获得有效结论。

 3.设计/开发解决方案:能够设计针对复杂与计算机相关工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

 4.研究:能够基于科学原理并采用科学方法对与计算机相关复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

5.使用现代工具:能够针对与计算机相关复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

课程培养学生的能力(教学目标)

完成课程后,学生将具备以下能力:

1)掌握软件工程的基本原理和基本知识,培养学生发现问题、解决问题的基本能力。[12

2)掌握软件开发过程的基本知识,学生具有设计软件的初步能力。[134

3)掌握常用的软件开发方法,并具有初步设计能力,培养学生的实践能力。[35

课程简介

软件工程是研究和指导软件开发和维护的工程类学科,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、规范、技术和方法进行软件工程项目的开发和维护,把经过实践证明正确的管理措施和当前能够得到最好的技术方法结合起来,以较少的代价获取高质量的软件产品。

主要仪器设备与软件

计算机,uml

实验报告

考核方式

提交程序代码及实验报告,占课程总成绩的30%

教材、实验指导书及教学参考书目

主要参考资料:

[1] 郑人杰主编,软件工程概论 第2版,机械工业出版社,2017

[2] Ian Sommerville主编,软件工程(原书第9版),机械工业出版社,2017

[3] (美)罗杰 S. 普莱斯曼(Roger S. Pressman),布鲁斯 R. 马克西姆(Bruce R. Maxi主编, 软件工程:实践者的研究方法(原书第8·本科教学版),机械工业出版社,2016

制定人及发布时间

高英,2017629


《课程名称》实验教学内容与学时分配

实验项目编号

实验项目名称

实验学时

实验内容提要

实验类型

实验要求

每组人数

主要仪器设备与软件

1

需求分析

6

给出实际目标系统10个,小组选题,分析需求,给出用户需求和系统需求

根据前一阶段的系统需求,完成系统的概要设计和详细设计

给出实际目标系统10个,小组选题,分析需求,给出用户需求和系统需求

根据前一阶段的系统需求,完成系统的概要设计和详细设计

给出实际目标系统10个,小组选题,分析需求,给出用户需求和系统需求

设计性

必做

3-4

计算机

2

系统设计

8

根据前一阶段的系统需求,完成系统的概要设计和详细设计

设计性

必做

3-4

计算机

3

课堂报告

2

分小组汇报总结建模的成果

综合性

必做

3-4

计算机



 “CourseTitle” Syllabus

Course Code

045100314

Course Title

Software Engineering

Course Category

Specialty Basic Courses

Course Nature

Compulsory Course

Class Hours

16

Credits

2.5

Semester

The Fifth term

Institute

 School of Computer Science & Engineering

Program Oriented

Computer science and technology, network engineering, information security

Teaching Language

Chinese

Prerequisites

Advanced language programming, data structures, databases, data structures, algorithms analysis and design

Student Outcomes (Special Training Ability)

his course offers the following contribution to students' following graduation requirements:

1. engineering knowledge: basic knowledge, basic principle, methods and means of professional solid, to mathematics, natural science, the basic knowledge and professional expertise to solve complex engineering problems, to lay the foundation of knowledge to solve practical issues of computer application.

2., analysis of the problem: the use of mathematics, natural science, the basic principles of professional, methods and means, analysis, design and development of computer applications in the complex problems.

3. design / development solutions: able to design solutions to complex problems in software engineering and design software systems that meet specific requirements.

4. research: Based on scientific principles and using scientific methods to study complex problems of software engineering, including designing experiments, analyzing and interpreting data, and getting reasonable and valid conclusions through information synthesis.

5. the use of modern tools for mechanical engineering to complex problems, development, selection and use of appropriate technology, resources, modern engineering tools and information technology tools, including software engineering prediction and Simulation of complex problems, and to understand its limitations.

Teaching Objectives

Upon completion of the course, students will have the following abilities:

(1) master the basic principles and basic knowledge of software engineering, and cultivate the basic ability of students to find problems and solve problems. [1, 2]

(2) master the basic knowledge of software development process, and students have the preliminary ability to design software. [1, 3, 4]

(3) master the common methods of software development, and have the ability of preliminary design to train students' practical ability. [3, 5]

Course Description

Software engineering is the engineering discipline research and guide the development and maintenance of software, it takes the theory of computer science and other related disciplines theory, development and maintenance of the concept, engineering principle, standard, technology and method of software engineering project, the practice proves that the correct management measures and the current can be combined get the best technology, obtaining high quality software products with less cost

Instruments and Equipments

Computer

Experiment Report

Yes

Assessment

Submit program code and experiment report, accounting for 30% of the total grade

Teaching Materials and Reference Books

Main reference material:

[1] Zheng Renjie, editor in chief, introduction to software engineering, Second Edition, mechanical industry press, 2017

[2] Ian Sommerville, editor in chief, software engineering (ninth edition of original book), mechanical industry press, 2017

[3] (United States) Roger Preiss Mann (Roger S. S. Pressman), Bruce Maksim (R. Bruce R. Maxi editor, software engineering: a practitioner's research methods (Eighth Edition - undergraduate teaching edition), mechanical industry press, 2016

Prepared by Whom and When

Gaoying,2017.6.29

CourseTitle” Experimental Teaching Arrangements

No.

Experiment Item

Class Hours

Content Summary

Category

Requirements

Number of StudentsEach Group

Instruments, Equipments and Software

1

requirement analysis

6

It gives 10 actual target systems, group topics, analyzes requirements, and gives user requirements and system requirements

According to the system requirements of the previous stage, complete the outline design and detailed design of the system

It gives 10 actual target systems, group topics, analyzes requirements, and gives user requirements and system requirements

According to the system requirements of the previous stage, complete the outline design and detailed design of the system

It gives 10 actual target systems, group topics, analyzes requirements, and gives user requirements and system requirements

Design

Compulsory

3-4

Computer

2

system design

8

According to the system requirements of the previous stage, complete the outline design and detailed design of the system

Design

Compulsory

3-4

Computer

3

Class report

2

Sub team reporting, summarizing modeling results

Comprehensive

Compulsory

3-4

Computer