软件工程综合实践教学大纲Software Engineering Studio Subject Syllabus,课程信息SubjectInformation课程编号:开课学期:33100214003.01Subject IDSemester课程分类:所属课群:专业教育PA综合实践PACategorySection课程学分:总学时/周:348Credit PointsTotal Hours/Weeks理论学时:实验学时:480LECT. HoursEXP. HoursPBL学时:实践学时/周:00PBL HoursPRAC. Hours/Weeks开课学院:东北大学适用专业:计算机科学与技术CollegeCST悉尼智能科技学院Stream课程属性:课程模式:必修Compulsory引进UTSPatternMode中方课程协调人程绍辉张旭S成绩记载方式:百分制MarksNEU CoordinatorResult TypeCheng X. Zhang先修课程:无noneRequisites英文参考教材:无NoneENTextbooks中文参考教材无NoneCNTextbooks教学资源:https:/lms.cloudcampus.com.cn/courses/30Resources课程负责人(撰写人)程绍辉张旭S.提交日期:单击或点击此处输入日期。Subject DirectorCheng X. ZhangSubmitted Date任课教师(含负责人):程绍辉张旭S.ChengX.ZhangTaught by审核人:批准人:韩鹏史闻博Checked byApproved by批准日期:单击或点击此处输入日期。ApprovedDate1/10
1 / 10 软件工程综合实践 教学大纲 Subject Syllabus Software Engineering Studio 一、课程信息 Subject Information 课程编号: Subject ID 3100214003.01 开课学期: Semester 3 课程分类: Category 专业教育 PA 所属课群: Section 综合实践 PA 课程学分: Credit Points 3 总学时/周: Total Hours/Weeks 48 理论学时: LECT. Hours 48 实验学时: EXP. Hours 0 PBL 学时: PBL Hours 0 实践学时/周: PRAC. Hours/Weeks 0 开课学院: College 东北大学 悉尼智能科技学院 适用专业: Stream 计算机科学与技术 CST 课程属性: Pattern 必修 Compulsory 课程模式: Mode 引进 UTS 中方课程协调人: NEU Coordinator 程绍辉张旭 S. Cheng X. Zhang 成绩记载方式: Result Type 百分制 Marks 先修课程: Requisites 无 none 英文参考教材: EN Textbooks 无 None 中文参考教材: CN Textbooks 无 None 教学资源: Resources https://lms.cloudcampus.com.cn/courses/30 课程负责人(撰写人): Subject Director 程绍辉张旭 S. Cheng X. Zhang 提交日期: Submitted Date 单击或点击此处输 入日期。 任课教师(含负责人): Taught by 程绍辉张旭 S. Cheng X. Zhang 审核人: Checked by 韩鹏 批准人: Approved by 史闻博 批准日期: Approved Date 单击或点击此处输 入日期
二、教学目标SubjectLearningObjectives(SLOs)注:毕业要求及指标点可参照悉尼学院本科生培养方案,可根据实际情况增减行数Note: GA and index can be referred from undergraduate program in SSTC website. Please add/reduce lines based on subject软件系统深深植根于广泛的行业和企业中,非常普遍,以至于在软件缺陷出现之前,我们往往不知道它的存在。一个bug就可能导致严重的软件故障,从而造成巨大的社会和经济影响。尽管在提高软件可靠性和安全性方面越来越受到重视和努力,但现代复杂系统(例如,包含数百万行代码)仍然存在漏洞。本课程旨在开发基于开源框架的自动化软件分析技术,以了解和发现系统软件中常见但重要的软件缺陷和缺陷。通过本课程,学生将有机会应用和实践他们的系统编程技能和软件开发经验。特别是,学生们将设计和开发自动代码分析工具,以理解、发现和检测编程错误,从而提高软件质量。评估学生的依据是他们的技术能力、通过开源软件开发对软件分析的理解,以及他们在口语和写作方面的沟通技能、团队合作技能。Softwaresystems,whicharedeeplyrooted inawiderangeof industriesand businesses, are so pervasive that we are often unaware of itspresence until software bugs occur. A single bug can cause critical整体目标:software failures, resulting in huge social and economic impacts.Overall ObjectiveDespite the increasing attention and efforts in improving softwarereliability and security, modern complex systems (e.g. containingmillions of lines of code)are still plagued with bugsThis subject aims to develop automated sofware analysis techniquesbased on an open-source framework to understand and discovercommon yet important software bugs and defects in system softwareThrough this subject, students will be given opportunity to apply andpractice their system programming skills and softwaredevelopmentexperience.Particularly, the students will design and developautomated code analysis tools to understand, discover and detectprogramming errors to improve softwarequality.Students are assessedon the basis of theirtechnical capabilities, understanding of softwareanalysisviaopen-sourcesoftwaredevelopment,andtheircommunication sklls in speaking and writing, their team-workingskills确定、参与、解释和分析利益相关者的需求和文化观点,确定优先事项和目标,并确定约束、不确定性和风险(社会、道德、文化、立法、环境、经济等),以定义系统要求。graduatesidentify, engage, interpret and analyse stakeholder needs and1-1(1)专业目标:cultural perspectives, establish priorities and goals, and identifyProfessional Abilityconstraints, uncertainties and risks (social, ethical, cultural,legislative,environmental,economicsetc.)todefinethesystemrequirements应用问题解决、设计和决策方法来开发组件、系统和流程,1-2以满足特定要求。2/10
2 / 10 二、教学目标 Subject Learning Objectives (SLOs) 注:毕业要求及指标点可参照悉尼学院本科生培养方案,可根据实际情况增减行数 Note: GA and index can be referred from undergraduate program in SSTC website. Please add/reduce lines based on subject. 整体目标: Overall Objective 软件系统深深植根于广泛的行业和企业中,非常普遍,以至于在软 件缺陷出现之前,我们往往不知道它的存在。一个 bug 就可能导致 严重的软件故障,从而造成巨大的社会和经济影响。尽管在提高软 件可靠性和安全性方面越来越受到重视和努力,但现代复杂系统 (例如,包含数百万行代码)仍然存在漏洞。 本课程旨在开发基于开源框架的自动化软件分析技术,以了解和发 现系统软件中常见但重要的软件缺陷和缺陷。通过本课程,学生将 有机会应用和实践他们的系统编程技能和软件开发经验。特别是, 学生们将设计和开发自动代码分析工具,以理解、发现和检测编程 错误,从而提高软件质量。评估学生的依据是他们的技术能力、通 过开源软件开发对软件分析的理解,以及他们在口语和写作方面的 沟通技能、团队合作技能。 Software systems, which are deeply rooted in a wide range of industries and businesses, are so pervasive that we are often unaware of its presence until software bugs occur. A single bug can cause critical software failures, resulting in huge social and economic impacts. Despite the increasing attention and efforts in improving software reliability and security, modern complex systems (e.g. containing millions of lines of code) are still plagued with bugs. This subject aims to develop automated software analysis techniques based on an open-source framework to understand and discover common yet important software bugs and defects in system software. Through this subject, students will be given opportunity to apply and practice their system programming skills and software development experience. Particularly, the students will design and develop automated code analysis tools to understand, discover and detect programming errors to improve software quality. Students are assessed on the basis of their technical capabilities, understanding of software analysis via open-source software development, and their communication skills in speaking and writing, their team-working skills. (1)专业目标: Professional Ability 1-1 确定、参与、解释和分析利益相关者的需求和文化观点,确 定优先事项和目标,并确定约束、不确定性和风险(社会、 道德、文化、立法、环境、经济等),以定义系统要求。graduates identify, engage, interpret and analyse stakeholder needs and cultural perspectives, establish priorities and goals, and identify constraints, uncertainties and risks (social, ethical, cultural, legislative, environmental, economics etc.) to define the system requirements. 1-2 应用问题解决、设计和决策方法来开发组件、系统和流程, 以满足特定要求
applyproblemsolving,designanddecision-makingmethodologies to develop components, systems and processesto meet specified requirements.应用抽象、数学和学科基础、软件、工具和技术来评估、实施和操作系统。1-3apply abstraction, mathematics and discipline fundamentals,software, tools and techniques to evaluate, implement andoperatesystems.作为不同团队的有效成员或领导者,在跨学科和跨文化的工作环境中有效沟通和运作。1-4 graduates work as an effective member or leader of diverseteams, communicating effectively and operatingwithincross-disciplinaryand cross-cultural contexts in the workplace批判性地自我评估自己的表现,以提高自己、团队以及更厂泛的社区和社会。1-5critically self-review their performance to improve themselves.theirteams,and thebroader communityand society软件程序设计与开发的过程中,应当遵守工程伦理的原则。2-1In the process of software programming and development, the(2)德育目标:principles of engineering ethics should beobservedEssential Quality认识到创新能力的重要性。2-2Students should realize the importance of innovation ability课程教学目标与毕业要求的对应关系MatrixofGA&SLOs毕业要求GA教学目标SLOs指标点GAIndex指标点1-2:掌握程序设计、数据结构、算法分析与设计、计算机数字系统、操1、工程知识:能够将数学、作系统等专业知识,具备计算机程序设自然科学、工程基础和专业计开发能力和计算机与信息系统设计开知识用于解决复杂工程问发与维护能力。题。1-2: Mastery of programming, dataGA1.Engineeringstructure, algorithms analysis and designKnowledge: Apply knowledge1-1, 1-2, 1-3,1-4of mathematics, naturalcomputer digital system, and operatingscience,engineeringsystem,etc.,andcapableofcomputerfundamentalsandanengineering specialization toprogramming and design, design andthesolution of complexmaintenanceofcomputerandinformationengineeringproblemssystems;3、设计/开发解决方案:能指标点3-1:能够设计针对本专业相关复够设计针对复杂工程问题的杂工程问题的解决方案,能够设计和开发实现特定功能、满足特定需求的计算解决方案,设计满足特定需1-3求的系统、单元或流程,并机、软件或网络系统。能够在设计环节中体现创新3-l:Capable of designing solutions to3/10
3 / 10 apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. 1-3 应用抽象、数学和学科基础、软件、工具和技术来评估、实 施和操作系统。 apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. 1-4 作为不同团队的有效成员或领导者,在跨学科和跨文化的工 作环境中有效沟通和运作。 graduates work as an effective member or leader of diverse teams, communicating effectively and operating within cross-disciplinary and cross-cultural contexts in the workplace. 1-5 批判性地自我评估自己的表现,以提高自己、团队以及更广 泛的社区和社会。 critically self-review their performance to improve themselves, their teams, and the broader community and society. (2)德育目标: Essential Quality 2-1 软件程序设计与开发的过程中,应当遵守工程伦理的原则。 In the process of software programming and development, the principles of engineering ethics should be observed. 2-2 认识到创新能力的重要性。 Students should realize the importance of innovation ability. 课程教学目标与毕业要求的对应关系 Matrix of GA & SLOs 毕业要求 GA 指标点 GA Index 教学目标 SLOs 1、工程知识:能够将数学、 自然科学、工程基础和专业 知识用于解决复杂工程问 题。 GA1. Engineering Knowledge: Apply knowledge of mathematics, natural science, engineering fundamentals and an engineering specialization to the solution of complex engineering problems. 指标点 1-2:掌握程序设计、数据结构、 算法分析与设计、计算机数字系统、操 作系统等专业知识,具备计算机程序设 计开发能力和计算机与信息系统设计开 发与维护能力。 1-2: Mastery of programming, data structure, algorithms analysis and design, computer digital system, and operating system, etc., and capable of computer programming and design, design and maintenance of computer and information systems; 1-1,1-2,1-3,1-4 3、设计/开发解决方案:能 够设计针对复杂工程问题的 解决方案,设计满足特定需 求的系统、单元或流程,并 能够在设计环节中体现创新 指标点 3-1:能够设计针对本专业相关复 杂工程问题的解决方案,能够设计和开 发实现特定功能、满足特定需求的计算 机、软件或网络系统。 3-1: Capable of designing solutions to 1-3
意识,考虑社会、健康、安complex engineering problems related to全、法律、文化以及环境等the major, and capable of designing and因素。developingcomputers,softwareODesign/DevelopmentofnetworksystemstthatcanfunctionSolutions: Design solutionsspecificallyandspecificmeetforcomplexengineeringrequirements.problems and design systems,指标点3-3:能够在设计和开发的各个环components or processesthat节中综合考虑社会、健康、安全、法律、swithmeet specified needs文化以及环境等因素。appropriate consideration for3-3: Capable of takinggsocial,health1-3, 2-1public health, and safety,safety, legal, cultural and environmentalcultural,societalandfactors in consideration during all aspectsenvironmental considerations.ofdesignanddevelopment4、研究:能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的指标点4-1:能够基于科学原理并采用科结论。学方法,在本专业相关理论指导下对复Investigation:Conduct杂工程问题设计实验进行研究。ofinvestigationscomplexCapableofdesigningexperimentsand1-3,2-2usingproblemsdoing research on complex engineeringresearch-basedknowledgeproblems based on scientificprinciples andandresearchmethodsscientific methods, under the guidance ofincludingdesignofrelated theories of the major.analysissandexperiments,interpretationofdata,andsynthesis of information toprovide valid conclusions指标点8-2:了解本专业相关的职业道德与规范并认识其重要性,具备良好的职8、职业规范:具有人文社会业道德和社会责任感,能够对工程实践科学素养、社会责任感,能活动的社会道德进行判断和评鉴,并履够在工程实践中理解并遵守行相应的责任;工程职业道德和规范,履行8-2: Understanding of the professional责任。ethics and norms related to the major and2-1Ethics:ethicalApplyrecognizeitsgoodimportance,principlesandcommitttoprofessionalethicsandsocialprofessionalethicsandresponsibility,capable of judging andresponsibilities and norms ofevaluating the social ethics of engineeringengineeringpracticepractice activities and fulfill correspondingresponsibilities.三、教学内容Content(Topics)注:以中英文填写,各部分内容的表格可根据实际知识单元数量进行复制、扩展或缩减4/10
4 / 10 意识,考虑社会、健康、安 全、法律、文化以及环境等 因素。 Design/Development of Solutions: Design solutions for complex engineering problems and design systems, components or processes that meet specified needs with appropriate consideration for public health, and safety, cultural, societal and environmental considerations. complex engineering problems related to the major, and capable of designing and developing computers, software or network systems that can function specifically and meet specific requirements. 指标点 3-3:能够在设计和开发的各个环 节中综合考虑社会、健康、安全、法律、 文化以及环境等因素。 3-3: Capable of taking social, health, safety, legal, cultural and environmental factors in consideration during all aspects of design and development. 1-3,2-1 4、研究:能够基于科学原理 并采用科学方法对复杂工程 问题进行研究,包括设计实 验、分析与解释数据、并通 过信息综合得到合理有效的 结论。 Investigation: Conduct investigations of complex problems using research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of information to provide valid conclusions. 指标点 4-1:能够基于科学原理并采用科 学方法,在本专业相关理论指导下对复 杂工程问题设计实验进行研究。 Capable of designing experiments and doing research on complex engineering problems based on scientific principles and scientific methods, under the guidance of related theories of the major. 1-3,2-2 8、职业规范:具有人文社会 科学素养、社会责任感,能 够在工程实践中理解并遵守 工程职业道德和规范,履行 责任。 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of engineering practice. 指标点 8-2:了解本专业相关的职业道德 与规范并认识其重要性,具备良好的职 业道德和社会责任感,能够对工程实践 活动的社会道德进行判断和评鉴,并履 行相应的责任; 8-2:Understanding of the professional ethics and norms related to the major and recognize its importance, good professional ethics and social responsibility, capable of judging and evaluating the social ethics of engineering practice activities and fulfill corresponding responsibilities. 2-1 三、教学内容 Content (Topics) 注:以中英文填写,各部分内容的表格可根据实际知识单元数量进行复制、扩展或缩减
Note: Flled in both CN and EN, extend or reduce based on the actual numbers ofknowledge unit(1)理论教学Lecture知识单元序号:支撑教学目标:11-1Knowledge Unit No.SLOs Supported知识单元名称编码和调试技练习Unit Titlepractice coding and debugging skills学生将通过在线幻灯片和资源练习他们的编码和调试技能。他们还将提供学习如何编写高效高质量软件的机会。为了练习基本编程元素,学生需要提交能够正确编译并输出所需输出的实现。The student will practice their coding and debugging skills through知识点:online slides and resources.They will also give opportunities to learnKnowledge Deliveryhow to write efficient and high-quality software.To practice thebasicprogramming elements, the student is expected to submit theirimplementation which can be correctly compiled and output the desiredoutputs.练习编码和调试技能,为以后的评估中开发软件分析工具做必要的准备。学习目标:To practice coding and debugging skills and make necessaryLearning Objectivespreparations for developing a software analysis tool in laterassessments.德育目标2-12-2Moral Objectives重点:编码和调试技能Key Pointscoding and debugging skills难点:建立开发环境Focal pointsEstablish development environment1-1知识单元序号:支撑教学目标:21-2Knowledge Unit NoSLOs Supported知识单元名称编译器基础知识应用于源代码分析Unit Titleapplycompilerfundamentalsfor sourcecodeanalysis这个评估任务要求学生开始开源开发的第一次送代。学生们将在开源工具实现中学习并应用他们的系统编程技能。这是一项单独评估的任务。要求学生提交他们为输出预期结果而开发的文档和代码实现。知识点:This assessment task requires the student to start the first iteration ofKnowledge Deliveryopen-source development. The students will learn and apply theirsystem programming skills in open-source tool implementation. This isan individually assessed task.Students are required to submitwell-documented codeimplementationtheyhavedeveloped tooutputthe desired results.5/10
5 / 10 Note: Filled in both CN and EN, extend or reduce based on the actual numbers of knowledge unit (1) 理论教学 Lecture 知识单元序号: Knowledge Unit No. 1 支撑教学目标: SLOs Supported 1-1 知识单元名称 Unit Title 编码和调试技练习 practice coding and debugging skills 知识点: Knowledge Delivery 学生将通过在线幻灯片和资源练习他们的编码和调试技能。他们还 将提供学习如何编写高效高质量软件的机会。为了练习基本编程元 素,学生需要提交能够正确编译并输出所需输出的实现。 The student will practice their coding and debugging skills through online slides and resources. They will also give opportunities to learn how to write efficient and high-quality software. To practice the basic programming elements, the student is expected to submit their implementation which can be correctly compiled and output the desired outputs. 学习目标: Learning Objectives 练习编码和调试技能,为以后的评估中开发软件分析工具做必要的 准备。 To practice coding and debugging skills and make necessary preparations for developing a software analysis tool in later assessments. 德育目标 Moral Objectives 2-1 2-2 重点: Key Points 编码和调试技能 coding and debugging skills 难点: Focal points 建立开发环境 Establish development environment 知识单元序号: Knowledge Unit No. 2 支撑教学目标: SLOs Supported 1-1 1-2 知识单元名称 Unit Title 编译器基础知识应用于源代码分析 apply compiler fundamentals for source code analysis 知识点: Knowledge Delivery 这个评估任务要求学生开始开源开发的第一次迭代。学生们将在开 源工具实现中学习并应用他们的系统编程技能。这是一项单独评估 的任务。要求学生提交他们为输出预期结果而开发的文档和代码实 现。 This assessment task requires the student to start the first iteration of open-source development. The students will learn and apply their system programming skills in open-source tool implementation. This is an individually assessed task. Students are required to submit well-documented code implementation they have developed to output the desired results