软件工程》实验教学大纲

课程代码

045100312

课程名称

软件工程

英文名称

SoftwareEngineering

课程类别

专业基础课

课程性质

必修

学时

总学时:64实验学时:16实习学时:0其他学时:0

学分

3.5

开课学期

第五学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术

授课语言

全英授课

先修课程

Java程序设计、算法设计与分析、数据库

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

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

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

2.(个人和团队)能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。

3.(沟通)能够就计算机工程复杂问题与全球业界同行及社会公众进行有效沟通和交流,包括撰写报告和设计文稿、陈述发言、清晰表达或回应指令。并具备良好的国际视野,能够在跨文化背景下进行沟通和交流。

4.(项目管理)理解并掌握计算机工程管理原理与经济决策方法,并能在多学科环境中应用。

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

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

1)具有软件工程基本概念、了解软件开发工程化过程并能实施。

2)具有软件系统的分析、建模和设计开发能力。

3)使用计算机辅助的开发工具和开发环境帮助进行软件开发。

课程简介

软件工程课程属于计算机科学的分支,主要针对如何使开发人员有效的构建软件系统。课程内容覆盖软件工程的基础知识,包括理解用户需求、有效的进行设计、编码实现、测试、软件开发的团队协作以及应用到的工具等。课程包含对涉及的概念、技术、方法的学习和实践,从而使程序员能有效的设计、构建和维护大型软件系统。

主要仪器设备与软件

计算机

UML 设计工具:RationalRose

Java或者C++软件开发环境

实验报告

需要

考核方式

实验报告审查

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

现用教材:IanSommerville. Software Engineering, Ninth Edition. ISBN:978-7-111-34825, 机械工业出版社2011

主要参考资料:

(1)Roger S.Pressman. SoftwareEngineering: A Practitioner Approach, ISBN:978-7-111-33581-8.2011.

(2)ShariLawrence Pfleeger and Joanne M.Atlee, Software Engineering Theoryand Practice (Fourth Edition), 影印版,高等教育出版社,2009

制定人及发布时间

李剑,201957


《软件工程》实验教学内容与学时分配

实验项目编号

实验项目名称

实验学时

实验内容提要

实验类型

实验要求

每组人数

主要仪器设备与软件

1

软件需求分析

3

对目标软件进行分析,导出软件需求说明。软件需求类型包括功能性需求和非功能性需求。用需求文档标准格式来描述这些软件需求(例如用数据流图来描述业务处理流程)。撰写一份简明的软件需求规格说明书。

探索性

必做

2

计算机

2

软件设计

4

对需求文档进行分析并进行面向对象的设计。其中包括:对系统中的主要类进行分析并设计UML中的类图。同时也用其他的UML模型来描述软件系统,包括状态图,顺序图等。划分系统主要模块并用模块图来描述系统的体系结构。

设计性

必做

2

计算机

RationalRose

3

软件原型实现

6

C++或者JAVA等开发语言实现一个软件原型系统。其实现遵照面向对象的设计。所实现的软件系统包括用户界面和一些主要功能。

综合性

必做

2

计算机以及软件开发工具

4

软件测试

3

基于软件功能和程序结构来设计测试用户,并使用测试用例来进行软件系统测试,同时记录软件测试结果。

综合性

必做

2

计算机




SoftwareEngineering” Syllabus

CourseCode

045100312

CourseTitle

SoftwareEngineering

CourseCategory

DisciplinaryBasic Courses

CourseNature

CompulsoryCourse

ClassHours

ClassHours64Computer-aidedClass Hours16

Credits

3.5

Semester

5thSemester

Institute

Schoolof Computer Science & Engineering

ProgramOriented

ComputerScience and Technology

TeachingLanguage

English

Prerequisites

JAVAProgramming, Algorithm Design and Analysis, Database

StudentOutcomes (Special Training Ability)

1.Design / DevelopmentSolutions: An ability to design solutions for computer engineeringcomplex problems, to design computer hardware and software systemsthat meet with specific requirements, and to embody innovationawareness in the design process and take into account social,health, safety, cultural and environmental factors.

2.Individual and Teams: Anability to function effectively as an individual, and as a memberor leader in diverse teams and in multi-disciplinary settings.

3.Communication: An abilityto communicate effectively on complex computer engineeringproblems with the engineering community and with society at large,such as being able to comprehend and write effective reports anddesign documentation, make effective presentations, give andreceive clear instructions, and communicate in cross-culturalcontexts with international perspective.

4.ProjectManagement: Demonstrate knowledge and understanding of computerengineering management principles and methods of economicdecision-making, to function in multidisciplinary environments.

TeachingObjectives

Student can be with followingabilities after studying this course:

1. Understanding softwareengineering concepts and knowledge and using them to buildsoftwares.

2.Being with abilities tomake analysis on software systems and model them.

3.Usingcomputer-aided tools and environments to develop softwares.

CourseDescription

Softwareengineering is the branch of computer science that createspractical, cost-effective solutions to developing software systemsin the service of mankind.  This course covers the fundamentals ofsoftware engineering, including understanding system requirements,effective methods of design, coding, and testing, team softwaredevelopment, and the application of engineering tools. It includesthe study and practice of a collection of concepts, techniques andtools which enable programmers to design and build, and maintainlarge software systems in a reliable and cost effective way.

Instrumentsand Equipments

Computers

UML design tool: Rational Rose

Javaor C++ development environment

ExperimentReport

Compulsory

Assessment

Report

TeachingMaterials and Reference Books

Reference book:

Ian Sommerville. SoftwareEngineering, Ninth Edition. ISBN: 978-7-111-34825. 2011.

Other references:

[1] Roger S.Pressman. SoftwareEngineering: A Practitioner Approach, ISBN:978-7-111-33581-8.2011.

[2]ShariLawrence Pfleeger and Joanne M.Atlee. Software Engineering Theoryand Practice (Fourth Edition), 2009.

Preparedby Whom and When

LiJian, May 7, 2019

SoftwareEngineering” ExperimentalTeaching Arrangements

No.

ExperimentItem

ClassHours

ContentSummary

Category

Requirements

Numberof StudentsEach Group

Instruments,Equipments and Software

1

Requirements  Analysis

3

Elicitrequirements for a software project. The requirements includefunctional requirements and non-functional requirements. Describethese requirements using a standard form (e.g. describe thebusiness process with a data flow diagram). Write a briefrequirements specification.

Exploratory

Compulsory

2

Computers

2

SoftwareDesign

4

Analyzethe requirements and make an object-oriented design. Identify mainclasses in the system and draw a class diagram with UML. Other UMLdiagrams, such as state machine diagrams, sequence diagrams, etc.,can be used to model the system. Identify main components and drawa block diagram of a possible architecture for such a system.

Design

Compulsory

2

Computers

RationalRose

3

SoftwarePrototype Implementation

6

Implementa software prototype with C++ or Java. It follows theobject-oriented design. The prototype includes user interfaces andsome functions.

Comprehensive

Compulsory

2

Computers

Developmenttools

4

SoftwareTesting

3

Designtest cases based on the functions and structure of the software,apply these test cases on the software testing, show the testingresults.

Comprehensive

Compulsory

2

Computers