收藏 分享(赏)

b221se:《计算与软件工程实践》课程描述.pdf

上传人:weiwoduzun 文档编号:1752239 上传时间:2018-08-22 格式:PDF 页数:8 大小:327.54KB
下载 相关 举报
b221se:《计算与软件工程实践》课程描述.pdf_第1页
第1页 / 共8页
b221se:《计算与软件工程实践》课程描述.pdf_第2页
第2页 / 共8页
b221se:《计算与软件工程实践》课程描述.pdf_第3页
第3页 / 共8页
b221se:《计算与软件工程实践》课程描述.pdf_第4页
第4页 / 共8页
b221se:《计算与软件工程实践》课程描述.pdf_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、南京大学软件工程专业本科教程附录B:专业基础/核心课程描述 附录B 第23页B221SE:计算与软件工程实践课程描述 0 课程基本信息 课程编号: B221SE 课程名称: 计算与软件工程实践 英文名称: Computing and Software Engineering Practice 英文简称: CSEP 预备课程: 计算与软件工程I、计算与软件工程II 授课时间: 二年级第二学期 时间分配: 课堂教学(16课时)实验安排(51课时)资料阅读(48课时) 学分数: 2 1 课程简介 本课程是软件工程专业的专业基础课程,它与计算与软件工程I、计算与软件工程II联合设计,共同组成计算与软件

2、工程课程,分布在三个学期实施教学。课程以团队实践和阶段交换为特征,通过开发一个中等规模软件系统的方式,培养学生对程序设计和软件工程方法的实际运用能力,同时强化学生的职业技能和项目管理能力。参与本课程的学生,将组织成4人左右的团队,按照6个阶段(即分组与规划阶段、需求分析与设计阶段、详细设计和实现阶段、阅读交换阶段、再实现与测试的重构阶段、公开陈述阶段)的划分,合作完成一个具有一定复杂度的具体项目。在项目完成过程中,涉及需求、设计、实现和质量保证,强调团队协作、文档写作、工具使用、陈述等能力,并在软件团队中对软件开发进行管理。 2 教材与参考资料 2.1 教材与指定阅读材料 1) Bruce E

3、ckel,Thinking in Java (4rd Edition),Prentice Hall,2006(对照中译本:(美)埃克尔 著,陈昊鹏 译,Java编程思想(第4版),机械工业出版社,2007) 2) Martin Fowler,UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition),Addison-Wesley Professional,2003 3) Roger S.Pressman,软件工程实践者的研究方法(第6版),机械工业出版社 4) Mary Shaw, 19

4、90, Prospects for an Engineering Discipline of Software, IEEE Software, vol. 7, no. 6, pp. 15-24 5) Raccoon, L.B.S., 1997, Fifty years of progress in software engineering. ACM SIGSOFT. Software Engineering Notes 22 , 88103 . 6) Barry Boehm, 2006, A view of 20th and 21st century software engineering,

5、 Proceeding of the 28th international conference on Software engineering. 7) ACM/IEEECS Joint Task Force on Software Engineering Ethics and Professional Practices, 1999, Software Engineering Code of Ethics and Professional Practice (Version 5.2), http:/www.acm.org/serving/se/code.htm 8) Whitehead, J

6、., 2007, Collaboration in Software. Engineering: A Roadmap. Proc. of. Future of Software Engineering. (FOSE07). 9) Software engineering professionalism, http:/en.wikipedia.org/wiki/Software_engineering_professionalism 2.2 参考资料 1) Ian Sommerville,软件工程(原书第8版),机械工业出版社 南京大学软件工程专业本科教程附录B:专业基础/核心课程描述 附录B

7、第24页2) Shari Lawrence Pfleeger,Joanne M.Atlee,软件工程(第3版),人民邮电出版社 3) 软件工程课程网站:http:/www.cs.drexel.edu/jsalvage/Summer2007/CS451/index.html 4) 软件工程课程网站:http:/www.cs.ucf.edu/turgut/COURSES/EEL6883_SEII_Spr07/ EEL6883_SEII_Spr07_LectureSlides.html 5) 软件工程经典论文推荐:http:/www.inf.ed.ac.uk/teaching/courses/seo

8、c1/2005_2006/resources/ 6) Ken Arnold, James Gosling, David Holmes,The Java Programming Language, Third Edition, Prentice Hall, 2000 7) Peter van der Linden, Just Java 2, 5th edition, Prentice Hall, 2002 8) Horstmann & Cornell. Huge, Core Java 2, Volume IFundamentals, Prentice-Hall, 1999 9) Horstman

9、n & Cornell. Huge, Core Java 2, Volume IIAdvanced Features, Prentice-Hall, 2000 10) Elliotte Rusty Harold, Java Network Programming, 2nd Edition, OReilly, 2000 11) Java home page: http:/ 12) Java for developers: http:/ 13) Java SE 6 API Javadocs: http:/ 2.3实践指定材料 1) 课程说明文档(英文,自编) 2) 案例描述文档(英文,自编,分阶段

10、给出) 3) 实践提交说明(英文,自编,分阶段说明) 4) 评分说明(英文,自编,分阶段给出) 5) 需求分析与设计阶段文档示例(英文,自编) 2.4实践参考资料 1) Software tools that support UML SEF-SDign a) http:/www.eclipse.org/ b) http:/ c) http:/ d) http:/argouml.tigris.org/ 2) Java technology a) http:/ b) http:/ 3) UML & SEF-SDign Patterns a) UML及rose教程 b) Microsoft Offi

11、ce Visio入门教程 4) SVN:(美)Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato,Version Control with Subversion: For Subversion 1.2,TBA,2002 5) JUnit for testing a) (美)Andrew Hunt, David Thomas,Pragmatic Unit Testing in Java with Junit,Oreilly & Associates Inc,2005 b) http:/www.junit.org/ind

12、ex.htm 6) ANT a) Ant实践开发网上精华文档集 b) (美)Jesse Tilly, Eric M. Burke著,译者:林琪,Ant权威指南,中国电力出版社,2003 c) (美)Erik Hatcher, Steve Loughran,Java Development with Ant,Manning Publications,2002 3 教学目标 完成该课程以后,学生应该能够: 1) 遵循软件工程的原则和流程,按照团队实践方式,使用某种语言,完成一个中等规模、具有一定的复杂度的软件系统; 2) 在实践中运用常用的分析、设计、构造和测试方法,完成软件系统的分析、设计和实现

13、; 南京大学软件工程专业本科教程附录B:专业基础/核心课程描述 附录B 第25页3) 使用工具进行检查与测试,按照测试计划完成单元测试用例的选择和实施; 4) 制定项目计划,度量和追踪软件开发进度,并及时修改项目计划; 5) 掌握处理需求变更的方法和手段,能够完成简单的程序重构; 6) 掌握实践团队动力学、团队管理方法,能够制定有效的团队合作计划,利用工具管理团队工作,明确团队工作动力,并对外进行宣传; 7) 具备交流沟通与陈述的能力;能够在团队中参与交流,掌握一定的团队沟通和激励技巧,能够和队友协商并达成一致,能够准备并实施一定水平的现场陈述; 8) 具备软件文档形式化和半形式化的能力,能够

14、基于需求,按照一定的格式标准,使用常见的文档化手段(UML用例图、类图、顺序图、状态图等),对软件系统形成清晰、准确和足够形式化的定义,体现为一定篇幅一定数量的文档集合(包括需求和设计文档、用户手册、测试计划和CASE文档等); 9) 具备通过阅读和交换,完成评审的能力,能够审阅已完成的文档并从中获得所需知识,发现各种问题。 4 相关知识体系 编号 描述 k, c, a E, D, O 授课 学时 课内 实践 MEP-PF.psy.0 团队激励/心理学 3 5 MEP-PF.psy.1 团队工作动力 a E 1 2 MEP-PF.psy.2 个体认知(如限制) k E * * MEP-PF.p

15、sy.3 认知问题的复杂性 k E * * MEP-PF.psy.5 不确定性和模糊性的处理 k E * * MEP-PF.psy.6 多文化环境的处理 k E * * MEP-PF.com.0 交流沟通技巧 3 7 MEP-PF.com.1 阅读、理解和概括(如源代码、文档)a E 1 2 MEP-PF.com.2 写作(分工、报告、评估、解释等) a E 1 4 MEP-PF.com.3 团队沟通(口头、书面、电子邮件等)a E * * MEP-PF.com.4 表达技巧 a E * * MEP-PF.pr.0 职业技能 1 11 MEP-PF.pr.2 职业道德和行为规范 c E * 3

16、 MEP-PF.pr.3 社会、法律、历史、职业的问题和观点c E * 2 MEP-PF.pr.4 专业团体的本质和角色 k E * 2 MEP-PF.pr.5 软件工程标准的本质和作用 k E * 4 SEF-MA.tm.0 模型类型 0 2 SEF-MA.tm.1 信息建模(例如实体关系建模、类图等)a E * 1 SEF-MA.tm.2 行为建模(例如状态图、用例分析、交互图等) a E * 1 SEF-MA.af.0 分析基础 0 2 SEF-MA.af.1 良好形式分析(如完整性、一致性、健壮性等) a E * 1 SEF-MA.af.2 正确性分析(如静态分析、模拟和模型检验等)

17、a E * 1 SEF-MA.er.0 需求获取 1 2 SEF-MA.er.1 获取来源(如投资人、领域专家、操作环境和组织环境等) c E * 1 南京大学软件工程专业本科教程附录B:专业基础/核心课程描述 附录B 第26页SEF-MA.er.2 获取技术(如访谈、问卷/调查、原型、用例、观察、参与技巧等) c E * 1 SEF-MA.rsd.0 需求规约和文档 1 2 SEF-MA.rsd.1 需求文档基础(如类型、受众、结构、质量、属性、标准等) k E * * SEF-MA.rsd.2 软件需求规约 a E * * SEF-MA.rsd.3 规格说明语言(如结构化英语、UML等)

18、k E * * SEF-SD.str.0 设计策略 0 2 SEF-SD.str.1 面向对象的设计 a E * 2 SEF-SD.dd.0 详细设计 1 2 SEF-SD.dd.2 设计模式 a E 1 * SEF-SD.dd.3 构件设计 a E 0 * SEF-SD.dd.4 构件和系统接口设计 a E 0 * SEF-SD.dd.5 设计符号(如类和对象图、UML、状态图等) c E 0 * SEF-SD.hci.0 人机界面设计 1 2 SEF-SD.hci.1 人机界面设计的一般原则 a E * 1 SEF-SD.hci.3 编码技术与可视化设计(如颜色、图标、字体等) k E *

19、 1 SEF-SD.ste.0 设计支持工具与评价 0 2 SEF-SD.ste.1 设计支持工具(如体系结构、静态分析、动态评价等) a E * 2 SEF-VV.rev.0 评审 1 2 SEF-VV.rev.1 桌面检查 a E * * SEF-VV.rev.2 走查 a E * * SEF-VV.rev.3 审查 a E * * SEF-VV.tst.0 测试 2 4 SEF-VV.tst.1 单元测试 a E 1 2 SEF-VV.tst.11 测试工具 a E * 1 SEF-VV.tst.12 部署过程 a D * 1 SEF-MT.pp.0 项目计划 1 2 SEF-MT.pp

20、.2 工作分解结构 a E * * SEF-MT.pp.3 任务进度 a E * * SEF-MT.pp.4 工作量估计 a E * * SEF-MT.per.0 项目人员和组织 0 2 SEF-MT.per.1 组织结构、职位、职责和权限 k E * * SEF-MT.per.2 正式/非正式沟通 k E * * SEF-MT.per.3 项目人员安排 k E * * SEF-MT.per.6 团队建设与激励 a E * * SEF-MT.per.7 冲突解决 a E * * SEF-MT.cm.0 软件配置管理 1 2 SEF-MT.cm.1 版本控制 a E * * SEF-MT.cm.

21、2 发布管理 c E * * SEF-MT.cm.3 工具支持 c E * * SEF-MT.cm.4 版本生成 c E * * 南京大学软件工程专业本科教程附录B:专业基础/核心课程描述 附录B 第27页STP-SD.mod.0 建模工具 2 6 STP-SD.mod.1 Rational Rose a E 1 4 STP-SD.mod.2 Power Designer(ProcessAnalyst) k E 1 2 STP-SD.pe.0 集成开发环境 * 2 STP-SD.pe.2 Eclipse a E * 2 STP-SD.tdb.0 测试、调试与集成工具 2 4 STP-SD.td

22、b.1 JUnit a E 1 2 STP-SD.tdb.2 ANT a E 1 2 STP-PM.scm.0 配置管理工具 3 4 STP-PM.scm.2 SVN a E 2 4 STP-PM.scm.3 CVS a E * * 5 教学补充事项 5.1 对前驱课程的教学需求 通过计算与软件工程I,学生掌握简单面向对象分析与设计方法、面向对象程序设计、Java语言和图形函数库。通过计算与软件工程II课程,学生掌握软件工程开发方法和职业素质基础,并能够用宏观软件工程方法指导程序设计。 5.2 本课程的教学考虑 1) 课程要求学生分班、分组完成实践,4人一组,12组一个班;原则上,授课、沟通和

23、陈述都以班为单位; 2) 每周每班按小组为单位集中实践,集中指导,提交工作报告,进行检查; 3) 实践项目内容:“中等规模、具有一定的复杂度”指的是含有一定算法或者业务逻辑的编码量,有简单的图形化用户界面; 4) 实践项目数量:为便于统一评分以及指导,每学年实践课程使用1个项目,1-2年更新一次实践项目;每个项目3-4年轮换一次; 5) 衔接计算与软件工程I,原则上要求实践时均采用Java语言完成。 5.3 对后续课程的教学建议 无 6 教学计划 序号 主题 内容 课时相关知识点1A阶段 分组与规划阶段 1 项目团队 解释选择各种性格类型的团队成员的重要性,描述多样的性格类型,论述个体工作风格

24、及其对项目造成的影响,团队开发的各个阶段及其中的交流途径等等,并介绍实践项目,实践组织,组织中的角色以及要求等等 3 MEP-PF.psy.13 MEP-PF.psy.56 2 专业技能 描述软件工程师的职业道德和行为规范,团队的角色和本质等 1 MEP-PF.pr.2 MEP-PF.pr.45 3 项目计划 介绍团队工作中如何对软件系统的设计开发制定计划以及计划的调整,如何控制任务的进度以及恰当的工作量估计 1 SEF-MT.pp.24 4 课内实践 分组选择,完成实践案例的规划,以及工作计8 MEP-PF.psy (1) 1此栏目中,以括号注明各知识点的课内实践课时数 南京大学软件工程专业

25、本科教程附录B:专业基础/核心课程描述 附录B 第28页划 MEP-PF.pr (5) SEF-MT.pp (2) B阶段 需求分析与设计阶段 5 需求获取及文档 介绍需求获取的来源和基本获取技术,描述需求文档写作基础以及规格化说明语言,并对实践提出需求文档撰写规则 2 SEF-MA.er.12 6 交流沟通 讲述在团队开发中的交流沟通技巧,阅读理解代码和文档的技巧,合理进行分工写作,以及选择合适的团队沟通途径 1 MEP-PF.com.13 7 课内实践 需求分析和概要设计,撰写详细的需求分析文档和设计文档 10 MEP-PF.psy (2) SEF-MA.er (2) SEF-MA.rsd

26、 (2) SEF-MT.per (2) SEF-MT.cm (2) C阶段 详细设计与实现阶段 8 MVC模式 详细设计的要求,详细设计的策略并介绍MVC模式的基本知识,并提供关于设计支持工具的资源 1 SEF-SD.str.1 SEF-SD.dd.2-5 9 人机界面设计 人机界面设计的基本要求和基本原则,讲解编码技术与可视化设计的基本技术 1 SEF-SD.hci.1 SEF-SD.hci.3 10 软件测试 软件测试的基本内容,包括单元测试、JUnit测试工具等,并对实践项目提出质量要求 2 SEF-VV.tst.1 SEF-VV.tst.1112 11 软件评审评审 介绍软件工程中评审

27、的基本内容,包括桌面检查,走查,审查等等,并对实践项目中的审查标准进行规范 1 SEF-VV.rev.13 12 软件配置管理 介绍配置管理的基本概念,包括版本控制、发布工具、发布的管理以及SVN、ANT工具介绍等 1 SEF-MT.cm.14 13 课内实践 完成详细设计,对代码进行实现,完成设计和用户文档,并对代码完成测试,形成测试用例和测试结果列表 18 MEP-PF.psy (2) MEP-PF.com (2) MEP-PF.pr (2) SEF-MA.tm(2) SEF-MA.af (2) SEF-SD.str (2) SEF-SD.dd (2) SEF-SD.hci (2) SEF

28、-VV.tst (2) D阶段 阅读交换阶段 14 课内实践 模拟实际项目环境中的代码评审,以及作为新成员加入已有团队的学习情况 3 MEP-PF.com (1) SEF-VV.rev (2) E阶段 再实现与测试阶段 15 课内实践 对实践要求的需求变更进行处理,小组内部组织并完成程序重构并完成测试 8 SEF-SD.ste (2) SEF-VV.tst (2) MEP-PF.pr (4) F阶段 公开陈述阶段 16 陈述报告 提出课程公开称述要求,以及称述中表达技巧 2 MEP-PF.com.24 17 课内实践 撰写实践陈述的演示文档并完成班级内部公开陈述,并在小组成员内部完成实践的回顾

29、和总结 4 MEP-PF.com (4) 南京大学软件工程专业本科教程附录B:专业基础/核心课程描述 附录B 第29页7 评分体系 充分考虑二年级学生的基本情况,他们没有分组完成过任何工程项目的经验,选择的案例需要可以进行相对细节的评价,又有一定的发挥创造的空间,所以课程需要分阶段给出较明确的评价依据。 分阶段的实践作业以及评分方法为: 1) A阶段: 该阶段仅仅是团队组建,不提交工作文档,不纳入评分要求。 2) B阶段(30): 要求提交需求和设计阶段文档,包括项目计划书、需求分析说明书、软件设计书和测试计划书等; a) 项目计划(4):项目描述(1),小组组织(1),项目进度计划(2);

30、b) 软件设计(10):设计描述是否完备(5),描述方式是否友好(2),复杂度(2),可行性(1); c) 需求分析(7):需求是否满足基本需要(2),需求与设计是否一致(2),描述用户输入(1),描述系统功能(1),描述方式是否友好(1); d) 测试计划(7):测试目的及总测试规划(1),单元测试(3),集成测试(2),描述方式是否友好(1); e) 文档格式(1);总印象(1)。 3) C阶段(40): 要求提交开发文档和代码的最小集,包括内部详细设计文档,源代码集合,用户文档,测试文档,Build文档等; a) 用户文档(3):从用户角度考虑描述是否完备(2),描述方式是否友好(1);

31、 b) 详细设计(10):描述完整性(3),是否与实际代码相符(2),复杂度(2),结构合理性(1),描述方式是否友好(2); c) 测试报告(6):是否符合A阶段测试计划(1),单元测试(2),集成测试(2),描述方式是否友好(1); d) Build 文档(2); e) 源代码(6):编码格式(1),注释(1),程序细节(1),JUnit 测试用例(3); f) 实际运行程序(10):有文档中未加描述的缺陷(2),是否满足需求(5),程序总印象(3); g) 文档格式(1); 文档等非程序印象(2)。 4) D阶段: 该阶段也不需要提交工作文档,也不纳入评分要求。 5) E阶段(20):

32、同C阶段文档要求,要求必须注明重构所修改的内容;特别注意该阶段测试文档必须重新记录上一阶段测试用例的执行情况,并对性能设计新的测试用例; a) 用户说明文档:从用户角度考虑描述是否完备(1); b) 详细设计文档:描述完整性(1),是否与实际代码相符(1),复杂度(1),结构合理性(1); c) 测试报告:是否符合A阶段测试计划(1),单元测试(1),集成测试(1),描述方式是否友好(1); d) Build 文档(1); e) 源代码:编码格式(1),注释(1),程序细节(1),JUnit TestCase测试用例(2); f) 实际运行程序:有文档中未加描述的缺陷(1),是否满足需求(2); g) 文档格式(1);文档等非程序印象(1)。 南京大学软件工程专业本科教程附录B:专业基础/核心课程描述 附录B 第30页6) F阶段(10): 要求提交演示、陈述材料; a) 设计质量(5); b) 陈述质量(2); c) UML图示(2); d) 陈述文档的组织(1)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报