我对软件工程教学的几个看法

我对软件工程教学的几个看法
我对软件工程教学的几个看法

我对软件工程教学的几个看法

摘要:本文依据实际软件工程课程的教学经验和笔者所观察到的学生对软件工程概念及方法的应用能力等普遍不足的现象,提出自己的看法。主要内容为五个子题之描述、可能问题所在及建议可行解决方法。结论包括在编程课程中加入软件工程概念、建立具规模的软件开发经验、在传统软件开发方法之后导入面向对象概念、不要勉强导入极限编程以及应该推广软件开发专业概念。这个研究观察了超过1500位选修软件工程课程学生的互动情况,结果有一定的参考价值。

关键词:软件工程教学;面向对象软件开发方法;软件开发专业

1研究背景

1.1动机

软件工程可以算是一门普及的课程。虽然顶尖的教师仍然是不可多得,但是一般大学里的计算机、讯息工程、讯息管理等科系都有师资能开设相关的课程,而主要目的是让学生能了解有质量的软件是如何被开发出来的。这个课程的原始立意很好,只是多年下来授课教师们普遍认为教学效果似乎并不是很理想。因为上完课之后,学生们对于那些软件开发方法、开发步骤、度量方式的概念仍然很模糊,对于需求分析、软件测试、组态管理等的实际应用也仍然觉得只是纸上谈兵而已。如果这个普遍的认为是真的,那么造成这种结果的可能原因就是一个值得探讨的有趣议题。

1.2预期目标

这篇论文提出了“我”对软件工程教学的“几个看法”,很明显地表示这是个人主观的论点,也许可以为他人提供更进一步研究的参考。这些论点是依据笔者过去对于软件工程的理解、在业界的实际工作经

验以及在课堂授课的感受,再加上不断地观察学生的反应而归纳出来的,分为下列5个子题:1)编程与软件工程;2)软件开发规模因素;3)面向对象;4)极限编程与敏捷开发;5)软件开发专业认证。这些子题都是先由学生上课提出的问题或是提交的作业中感受到而触发的,然后观察到几乎每一班学生都有类似的模式,才予以列入。论文研究过程之中并没有用到什么数学证明,但是逻辑顺序很清楚,所以有一定的参考价值。

1.3内容

以下简要说明这篇论文的架构:第2部分以个人认知为基础来描述软件工程的发展,并且导引出软件工程的学习重点。第3部分则描述一门典型3学分的软

软件工程与项目管理-教学总结

《软件工程与项目管理》教学总结 林锐,20XX年12月4日 20XX年10月和11月,我给华师大软件学院20XX级嵌入式系统专业的工程硕士讲授《软件工程与项目管理》课程。总课时为38小时,用了6个周日,每周日全天讲课。 教材采用我的著作《软件工程与项目管理解析》,分以下专题讲解和练习: ?新视野:企业—产品—人 ?立项管理和结项管理 ?项目规划与项目监控 ?需求开发与需求管理 ?软件系统设计 ?软件实现 ?软件测试 ?软件维护 ?软件质量管理 ?软件配置管理 ?软件外包管理 ?软件过程改进与CMM ?练习:立项管理 本课程的指导思想是“将商业智慧引入软件工程和项目管理,为企业创造更多的经济效益”,宣扬“商业目标决定软件开发之道”。课程内容紧密围绕企业和市场,与传统学术性的课程有极大的差别。 我认为我的教学方法更加合适工程硕士,因为他们毕业后是要到企业工作,而不是从事学术研究。如果工程硕士不了解企业和市场的话,他们毕业后将四处碰壁。 每周日的课程在欢笑中进行,在掌声中结束。 从四十多名学生的“学习报告”中看出,90%以上的学生表示非常喜欢本课程,学到了前所未有的知识和经验。几乎所有的学生都对老师表达了诚挚的谢意,我自己也很喜欢这些学生,师生双方都感到满意。 本次课程最突出的亮点是“立项管理练习”,简要流程如下: (1)将学生们分为6组,让他们自己选组长。以团队的方式构思软件产品。 (2)每组用一个月时间开展“立项调查”、“可行性分析”,撰写《立项建议书》,制作“演讲稿”。 (3)最后一天,立项评审现场练习。每组均有一名成员担任评委(轮流练习),加上教师共7名评委。每组有一名成员用20分钟时间演讲,之后大家用20分钟时间答辩,最后由7名评委以小数服从多数的原则判决。

软件工程就业前景分析

软件工程就业前景如何?现在软件培训好就业么?很多想进入IT这行的学生都可能有些迷茫、不知道这行的具体情况。下面笔者就介绍下软件工程这行业的基本情况和就业情况、希望能给大家带来点帮助。 专业简介 是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域中从事软件设计、开发和管理的高级人才。 职业要求 1、精通一种主流语言及对应的开发工具;精通数据结构。 2、具有较好的业务理解能力和技术调查能力。 3、编写高质量代码并具有代码审查能力。 4、具有详细设计能力。 5、熟悉系统测试工具,对系统问题具有改善的能力。 6、能够带领2个以上员工开展工作,成功领导过3个以上不少于5人月的项目/模块的团队项目。 7、**语达到*级水平或者具有同等水平,能够阅读*文资料,按照要求编写*语技术文档。 8、了解质量管理体系和项目管理知识。 软件工程就业前景分析 1.嵌入式软件工程师: 嵌入式开发专业也是新起的一个专业。现在人才奇缺!开设了这个专业的学校也不 是很多。就业薪资都可以去招聘网查看。很多公司都高薪聘请嵌入式开发人员!嵌 入式专业又分两个方向、笔者觉得往软件方向发展比较好点。不过都要看自己的兴 趣爱好了! 2.3G软件工程师: 3G将成为继互联网之后,创造财富神话的行业。3G软件工程师作为3G移动互联 网各项应用软件的提供者,也是价值的创造者。目前中国的移动手机用户达到7.6 亿人,庞大的用户基数导致3G用户高速增长,预计2010年3G用户将突破8000 万人。3G手机应用产品巨大的市场前景是3G软件工程师获得高薪以及创业的基 础。目前国内高等院校尚没有一所开设了3G软件工程师系统课程。在2~5年内, 3G软件工程师的缺口将在百万以上。 3.java软件工程师 java专业是跨平台的语言。很多其他的软件开发语言和java都有很相似的地方。 所以学会了java。以后想在软件专业里面换行业都是非常简单的。而且现在的很多 公司的大型项目都是用的java平台。因为java的语言做的程序稳定、很受企业的 欢迎。现在java的薪资待遇都非常的不错。 https://www.360docs.net/doc/3f1215629.html,软件工程师

软件工程案例教学的设计探讨-软件工程论文-工程论文

软件工程案例教学的设计探讨-软件工程论文-工程论文 ——文章均为WORD文档,下载后可直接编辑使用亦可打印—— 摘要:软件工程是计算机专业高年级开设的一门核心课程,本文以移动通讯录APP项目开发为案例,将软件工程课程所具有的理论性与方法学内容融入案例,综合采用分组讨论、协同开发的教学方式,将原本内容抽象、枯燥索味的授课过程变得具体且主动,实现了做中学、学中做的循环式教学。 关键词:软件工程;移动开发;通讯录APP;案例教学 一、软件工程案例教学 软件工程是计算机科学与技术专业的一门核心课程,一般在高年级开

设。与其它计算机专业课程的技术性相比,软件工程更注重管理性,是综合技术、方法和管理并指导软件项目开发的一门应用型课程[1]。由于该课程具有强烈的工程与项目背景,授课内容又涉及到项目管理的方法学,老师在设置教学内容时难以把握讲授难度[2]换言之,一旦涉及大量的定义(例如软件开发模型、白箱/黑箱测试等)以及方法学(例如瀑布模型、敏捷开发模型等),学生易感抽象、空洞,掌握效果不佳。以案例驱动的形式开展授课,将上述知识点代入到一个或多个项目实例中,不仅可帮助学生更好的掌握关键知识,还能进一步培养出工程开发必要的团队协作能力[3]。选取什么案例以及多少案例是软件工程案例教学值得研究的一个问题,需要结合学校制定的培养方案、学生的兴趣等诸多因素。本文以移动通讯录作为课程案例的主要考虑是:(1)移动通讯录是移动应用开发的一个典型应用,既可以涵盖了项目开发的全过程,而且项目需求与实现功能点足够简单,易于教师掌控;(2)移动通讯录基于Android平台开发,Android是当前流行的移动开发技术,大部分软件专业学生均对此感兴趣,该平台以Java语言为基础,学生一般在二年级已经学习过Java编程,具备一定的前期积累;(3)移动通讯录开发难度较小但实用性强,学生在课程结束后能够实现自己的作品,满足了成就感,从而激发学生从事软件开发的兴趣。

《 软件构造》课程教学大纲汇总

GDOU-B-11-213 《软件构造》课程教学大纲 课程简介 教学内容 软件构造是软件工程专业人员必须掌握的基础知识,也是高等院校软件工程专业学生的必修课程。本课程主要是:以软件复用为目的学习和构造软 件构件,不仅仅限于源代码,而是将软件构件技术扩充到需求分析、需求规 约、构架、文档、测试计划、测试用例和数据等 主要内容包括:构件表示、构件模型、构件库的设计与检索、构件适配技术、构件组装技术、软件服用、模式与框架、网格计算与Web Service、移 动Agent等。 修读专业:软件工程、计算机类 先修课程:计算系统基础,软件工程 教材:王志坚费玉奎娄渊清《软件构件技术及其应用》科学出版社.2004 一、课程的性质与任务 本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。其任务是讲授软件构造的基本原理,在传统软件工程的 基础上,掌握软件嘎欧造的基本原理、软件过程、开发方法、硬功技术以及 系统框架等。从而全面掌握软件构造思想。 二、课程的基本要求 通过本课程的教学使学生能够从设计模式和代码级设计掌握软件构造,并掌握目前主流的构件技术,通过实验环节了解主流设计模式和组件等。 三、修读专业 软件工程、计算机类 四、本课程与其它课程的联系 本课程以计算系统基础,Java语言,软件工程等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能将数据结构、 Java、软件工程等课程的知识融入到本课程之中。

五、教学内容安排、要求、学时分配及作业 第一章:绪论(2学时) 第一节:软件构件技术及其演变 软件构件的认知过程(A);构件技术的发展(A)。 第二节:基于构件的软件工程 CBSE的特点(A);CBSE的意义(A);CBSE与OO技术的联系和区别(A);CBSE 的生命周期(A);CBSE的主要设计原理(B) 第三节:构件的定义与特性 构件的定义(A);构件基本特征(A) 第四节:构件技术研究的内容和目标(A) 第五节:本书的组织(A) 第二章:构件表示(2学时) 第一节:构件特征表述 信息描述(B);外部特征(B) 第二节:构件接口 构件交互作用建模(B);构件接口定义模型(B) 第三节:构件规约 构件接口(B);构件协议(B);构件实现(B);青鸟构件模型对构件的规约(B) 第四节:构件交互操作的形式化描述 自动机的概念及其扩展(B);调用接口(B)、应用接口(B) 第五节:基于软Petri的构件框架描述 P/T网(B);构件网(B);双向模拟分支(B);框架(B);组合(B)第六节:小结(A) 第三章:构件模型(4学时) 第一节:COM

软件工程导论总结报告

软件工程总结报告 序言 本期软件工程专业导论课程结束后,为圆满完结本期此课程的学习,特此总结个人学习所得以求些许回报先生无私教导。 主体 第一节课主要讲述了软件工程各领域之间的联系以及贯穿始终 的基础为何。其中较为基础并相当重要使的应该是算法。对于算法重要性与基础性的理解,我个人有比较切身的体验。比如前不久的 ACM 竞赛,在比赛中我所在的小组以及当场几乎所有小组都遇到这样一个 问题:超时—这无非就是个人设计的算法的效率不够高,这也证明我 们对算法理论知识的匮乏(不清楚优化个人算法的方法)。我对软件 工程这一专业有了一个较为全面的把握,对我个人未来进取方向而言 也起到了一定的指导作用。 第二节课老师带来了三位本专业的前辈向我们传授大学生活应 如何度过以及对我等一些问题作出解答。其中我个人印象深刻的是其 中一位学姐 PPt 中引用李开复的那部分内容。即试着记录下自己一整天做的所有事以及其所花费的时间,再仔细研究自己在哪些事上浪费 了时间,应该如何整改。我个人认为这方法可能有一定直观性,因为 直观的数据更能深刻的反映真实和刺激一个人整改,但此法实施起来又太古板,中觉得生活有些教条化、章程化,缺乏新意与自由。求上进,珍惜时间也无需以丧失人生情趣为代价。还有就是学长再提潘老师曾讲过的那些重要、紧急优先次序。他提到的个人的学习生活情况

倒没什么深刻感,但我认为他引用的一番话较有道理,大概意思是比 起个人兴趣更为优先的应该是谋生的本领,尤其是当自己感兴趣的正 好是冷门时。当掌握了一些实实在在有能保证自身良好发展前景后,再 去做一些自己感兴趣的事也来得及。于我而言,一个人尚不能独善其身,何求其兼济天下。成己方成人就是如此道理。 第三节课主要讲解了大学学习生活中应着重的基础课以传递重 基础的要旨。据个人体会,其中英语科目实是基础中的基础,主要是 为辨认单词(即代码变量以及注释)意义以达到理解他人算法并顺利 接手他人接下来的工作。企业和公司出于其本身利益主张雇方市场 -- 讲究项目的可接手性,而不希望对现有人员的过分依赖。离散数学则应该是为之后学习其他编程专业知识做理论知识的铺垫。概率统计更多应是对统计有关算法及理论的学习(个人认为现实生活中许多问题都可以运用概率统计的方法加以解决,因此应是很重要的基础知识)。C/C++(Java)语言是作为编程的工具使用,无疑是基础(现今水平下的 我们主要用 C 编代码)。数据结构则应是提供特定的解决问题的结构 思想以便进行数据处理方面工作。算法的重要性以及基础性的个人体 会已包含在第一节课中。计算机体系结构与汇编课程与操作系统原理 课程主要在于理解计算机系统运行原理能加深对代码运行原理的理 解,对于现今水平的我也能更深层次的理解 c 语言的指针操作等方面知识。汇编语言能够直接对硬件进行操作,生成的程序与其他的语言相 比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型程序的核心模块以及工业控制方面大量应

软件项目管理学习心得体会

亲爱的朋友,很高兴能在此相遇!欢迎您阅读文档软件项目管理学习心得体会,这篇文档是由我们精心收集整理的新文档。相信您通过阅读这篇文档,一定会有所收获。假若亲能将此文档收藏或者转发,将是我们莫大的荣幸,更是我们继续前行的动力。 软件项目管理学习心得体会 软件项目管理学习心得体会1 软件项目管理这门课程是我们软件工程测试技术专业学生的一门重要的课程,这门课程的开设必有其重要性。软件项目管理的提出是在20世纪70年代中期的美国。由于开发项目不能按时提交、超出预算、质量达不到用户的要求等原因,70%的项目出现问题。于是,软件开发者开始逐渐重视软件开发中的各项管理。到了20世纪90年代中期,软件项目管理不善的问题仍然存在。软件项目管理和其他项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。因此,项目管理对软件生产具有决定性的意义。 项目管理的定义是指一定的主体,为了实现其目标,利用各种有效的手段,对执行的项目周期的各个阶段工作进行计划、

组织、协调、指挥、控制,以取得良好经济效益的各项活动的总和。软件项目管理目的是为了使软件项目能够按照预定的成本、进度、质量顺利完成而进行分析和管理的活动。另外,进行软件项目管理有利于将个人开发能力转化成企业的开发能力。企业的软件开发能力越高,表明这个企业的软件生产越趋向成熟,企业越能够稳定发展。 对于软件项目的学习,我首先放正了态度来学习,认真分清软件项目管理与软件工程的关系和项目管理知识体系。软件项目管理从头到尾包括9个知识领域、5个标准化过程组和44个模块。其中本学期我们学习的主要知识点有以下几个部分,如:项目的初始中项目立项、合同项目、内部项目、项目授权、初始项目范围、生存期模型等知识点;项目计划中范围计划、时间计划、成本计划、质量计划、人力资源计划、沟通计划、风险计划、合同计划、配置管理计划、集成计划等知识点;项目执行控制中集成变更管理、范围管理、进度成本管理、挣值分析法、偏差管理、质量管理控制、团队管理和建设、项目沟通管理和风险管理等;项目结束中合同结束、项目结束、项目总结、项目管理的建议等。对于这些知识点,我根据具体案例具体分析。 通过本学期的学习,我感受到软件项目管理是一门非常需要学习的课程。即使作为考察课程,它也是软件行业人士所必须

软件工程案例

第10章基于Web方式的校企联合培养系统——需求获取10.1 引言 近年来,各高校在计算机科学与技术、软件工程等专业的人才培养过程中,进行了校企联合的应用型人才培养模式的创新与实践。在实践过程中,校企双方以双赢为基础,逐步形成了一套完整的应用型人才培养模式,即培养目标面向需求、教学过程校企互动、培养途径因需制宜、师资队伍校企共组、实习方式多元优化的应用型人才培养模式。 本书第10章至第12章介绍的“基于Web方式的校企联合培养系统”是浙江工业大学软件工程系一名大三学生开发设计的一份软件工程大型作业。考虑到大三学生暑假开始就要到企业参加基础实习和提高实习,学生对参加实习招聘的企业事先并不一定了解;同样,企业事先也不了解学生,需要有一个平台来增进双方的了解与沟通。此外,学生的实习要在校外企业中进行,实习中的教学过程管理,以及教师、学生、企业三方的互动交流就显得尤为重要,所以他想开发一个校企联合培养系统,以帮助同学们更好地完成实习过程。 综合以上原因,该生打算开发一个校企联合培养系统为大三、大四同学的实习过程管理提供便利。该生打算采用Web方式构建校企联合培养系统,以方便教师、学生、企业三方随时随地使用该系统。为了完成该系统,该生分析了实习过程中教师、学生、企业三种不同的角色,以及相应的业务过程,并通过软件工程的方法进行系统分析和设计。以下内容是该学生在完成基于Web方式的校企联合培养系统中提供的部分分析和设计文档。 10.1应用实例领域分析 10.1.1学生和企业之间存在的问题 1.学生求职遇到的问题 1)很多应届毕业生对求职时将要选择的企业不了解,直到参加求职的招聘会或实习双向选择会现场才开始逐步了解各家企业; 2)大多数学生不知道如何结合课本上所学的理论知识进行实践,或者由于课本上的理论知识往往更新得较慢,使得学校的教学内容与社会的需求不同步; 3)部分学生能力较强,但在面试时往往因发挥不好而没有被用人单位录用。 2.企业招聘面临的问题 1)通过几轮面试招聘到的员工可能并不适合本企业的岗位; 2)对学生的能力不了解,使得所录用的学生要在企业学习很久才能胜任自己的工作。 10.1.2如何解决这些问题 “基于Web方式的校企联合培养系统”(以下简称为校企联合培养系统)致力于打造一个服务于学生和企业的门户网站,从而能够走在素质教育与知识创新相结合的时代尖端,并且将以互联网技术应用作为依托,全力塑造一个崭新的门户网站的形象。 本网站面向的学生群体是以就业为目标的,想要进入更好的、更合适自己的企业的学生,面向的企业是想要招聘到更具有创新精神、更有能力的人才的企业。在学生找到合适工作的同时,企业通过网站发布具有一定难度的项目,审核学生做出的项目结果,定向观察培养自己需要的人才,从而解决各企业的人才培养和选拔问题,也为促进学校人才的培养营造出良好的教育氛围,形成一种全新的人才培养模式。

软件工程课程教学大纲

《软件工程》课程教学大纲 (Soft Engineering) 课程编号: 学分:3 学时:48 (其中:讲课学时:42 实验学时:上机学时:6 )先修课程:C语言程序设计、数据结构与算法、计算机网络、数据库原理与应用、操作系统 后续课程:面向对象程序设计、信息工程监理、信息系统测评技术、软件工程实训 适用专业:计算机相关专业 开课部门:专业数学教研室 一、课程教学目的和课程性质 《软件工程》是信息与计算机科学专业本科学生的专业选修课,是一门综合性和实践性很强的课程。本课程主要介绍如何把工程化的思想和技术应用于软件系统的开发过程,以及在软件开发过程中必须遵循的基本原理、方法和工程标准。通过教学,使学生对软件生产工程化的具体思想、要求和方法均有较全面的了解, 为今后独立从事软件系统的开发打下相应的工程基础。 二、课程的主要内容及基本要求 第1单元软件工程学概述(3学时) [知识点] 软件的发展过程、软件危机、软件工程及开发方法。 [重点] 软件工程的基本概念、软件工程学的基本内容和软件生命周期中各阶段的基本任务。 [难点] 软件过程模型 [基本要求] 1、识记:软件、软件危机、软件工程、软件工程方法学; 2、领会:软件工程过程模型的定义及其特点; 3、简单应用:软件危机的产生原因; 4、综合应用:解释软件工程产生的原因,结合不同的软件特点对其开发应

当采用的软件过程模型。 [考核要求] 1、软件工程的定义; 2、软件生命周期的定义及其各个开发阶段的任务; 3、软件工程方法学定义及经典软件过程模型。 第2单元可行性研究(5学时) [知识点] 可行性研究的主要内容、任务及研究过程,系统流程图、数据流图、数据字典。 [重点] 系统流程图、数据流图的画法。 [难点] 可行性研究中的上层数据流图的构成方法。 [基本要求] 1、识记:可行性研究的主要内容、任务; 2、领会:如何画出所需的系统流程图; 3、简单应用:分析所需的数据字典并根据数据字典定义方法定义相关词条; 4、综合应用:在可行性研究过程中分析系统流程图,总结其数据字典,画出上层的数据流图。 [考核要求] 1、可行性研究的主要内容、任务; 2、数据流图的定义及画法,能够分析并画出可行性研究中的上层数据流图; 3、数据字典的组成及其符号定义方法。 第3单元需求分析(5学时) [知识点] 需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体—联系图、状态转换图、其他图形工具、数据规范化。 [重点] 实体-联系图的概念及画法、状态转换图的定义及画法和常用图形工具的使用方法。 [难点]

软件工程心得体会

软件工程心得体会 未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。 曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。 经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。 吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。在划分模块后明确了各自分工,渐渐形成良性循环。 在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。 学习能力体现在能尽快接受新的知识,顺应变化,学为所用。上《软件工程导论》这门课,我的收获大概如下: 我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。 其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和DEBUG。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。 具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。 1.可行性分析就是关于当前项目能不能干的分析结果。 2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。 3.需求分析就是对客户要求的功能的定义。 4.软件设计这就是对程序的每一个模块的详细设计的说明文档。 5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。 6.测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。

软件项目管理年度工作总结范文

( 工作总结 ) 单位:_________________________ 姓名:_________________________ 日期:_________________________ 精品文档 / Word文档 / 文字可改 软件项目管理年度工作总结范 文 Annual work summary model of software project management

软件项目管理年度工作总结范文 软件项目管理已经到了学期的最后,我们seed小组的软件项目也已完工,这一个学期真的是获益匪浅! 礼平老师曾经说我既可以走技术路线也可以走管理路线,一切都看我自己。真的很是佩服老师的看人眼光,很犀利。我知道,现在的我不是没有能力去做好,只是自己没有去做,一直在殿外徘徊,不肯付出努力向前迈进。从大一到现在,我的专业技术一直都是我的短板,理由么,很简单,就是因为自己懒,不肯花时间去做。从以前不知道自己想做什么,到现在明确目标,可以说,软件项目管理课程给了我很多灵感,让我从自己纷乱的思绪中看清楚了自己最想要的东西。一直自己很喜欢管理,我会花费很多时间在这上面,从大一到现在一直都是,一直没有改变过。在技术上,我总是给自

己找借口,总是偷懒,但我现在明确了一点,没有技术,就没有管理!脱离技术的管理是不可能的,也是不现实的。在这个行业里,技术是一切的基本,想作工程师也好,想作管理者也好,技术都是起步的根基。而我这次所经历的项目更让我明确了这一点。在这个小项目里,虽然我们两个星期就开发完成了这个软件,并交付使用,但是问题还是很多的。在这么一个小项目里,由于需求、设计、代码、文档产生的问题,每一个看似容易,却都需要实实在在的经验在里面,都需要对业务的熟悉,有语言功底作根基。 在这个项目里,我负责软件配置管理工作,在文档的整理过程中,我仔细看了他们的需求分析,概要设计,数据库设计,模块设计等文档,也参与了风险分析文档的编写,承担了用户手册和项目成本估算的编写。在这个过程中,我明确了技术的实在意义,明确了技术对我的指导作用,同时也明确了自己的学习道路应该怎么走下去! 整个项目进行的过程中,我一直在努力从中学习,我旁听开发组的会议,为组长提供管理意见,为会议、文档制定标准,整个过

软件工程专业职业生涯人物访谈

软件工程专业职业生涯人 物访谈 Prepared on 22 November 2020

职业生涯人物访谈访谈时间:2014年11月19日 访谈方式:当面采访 访谈人:被访谈人:孙XX 与被访谈人关系:通过网上聊天结识 被访谈人个人简介: 毕业本科:南京工程学院软件工程专业 毕业研究生院校:南京航天航空大学 现在情况:就业于微软公司的软件工程师 访问理由:对口专业,他本人很年轻,但很有才能,有几年就业经验,比较了解本公 司的工作环境,开发过程,就业岗位的要求等。 访谈的具体内容: 问:您好,孙先生,很高兴您能接受我的采访。今天我有几个问题想向您请教,希望我们这次访谈愉快! 答:奥,好!有什么问题尽管问吧,我很乐意回答,希望能够帮助你。 问:那好!请问孙先生,您的工作性质是怎样的或者说您平时的工作内容是什么 答:我呢。现在是一个软件工程师,不同的软件工程师,工作职责也不相同。主要是参与项目的设计、开发、测试等过程,也有的工程师需要带着几个程序员,指导他们的工作,以及和其他工程师协作工作等。我的工作内容主要就是和团队一起做项目,相互交流。所以,团队合作在这个行业尤为重要。因为一个项目有可能很大,光靠一个人的力量,很浪费时间。而且一个人要完成一个项目,一方面,这就要求这个人要对整个开放技术相当精通,通过团队的合理分工,大家各自完成自己擅长的领域,就能够比较轻松的完成任务了。另一方面,他要能准确的理解需求分析师所要求的实现方面,这个一般就很难做到,如果通过团队的讨论做出,就能够尽可能减少这方面的误差产生。 问:谢谢您的教导。那您觉得,我们在校大学生应该注重哪方面的知识以及技能的强化,才能更好的就业呢

《软件工程课程设计》教学大纲

《软件工程课程设计》教学大纲 英文名称:Software Engineering Course Design 课程编码:070472 学分:3 参考学时:3周实验学时:3周上机学时:适用专业:计算机科学与技术(专升本) 大纲执笔人:系(教研室)主任:李震 一、课程目标 《软件工程课程设计》是实践性教学环节之一,是《软件工程》课程的辅助教学课程。通过课程设计,使学生掌握软件工程的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本过程,将理论与实际相结合,应用现有的CASE工具和软件开发文档规范,完成一个基于数据库的应用系统(DBAS)的设计与实现,把理论课与实验课所学内容进行综合,并在此基础上强化学生的实践意识、提高学生的综合运用能力和创新能力。 通过本课程学习,使学生掌握软件开发的基本概念、软件开发技术和流程;独立完成所有程序、文档的编写和调试工作;开发一套基于C/S或B/S结构的基于数据库的应用系统。形成数据库设计开发的基本能力;提高综合运用理论知识解决实际问题的能力。 二、基本要求 1、课程设计要求学生按项目分组进行,每个项目组由10人左右组成,可根据分组情况分别担任项目经理、技术经理、软件工程师、测试工程师、配置管理员、数据库管理员等角色。 2、在规定的时间内完成1个小型项目的计划、需求分析、设计、编码、测试和交付的全过程,要求按照软件企业的正规开发流程组织实施,并按照给定的文档规范标准撰写相关文档。 3、每组完成一个项目,题目可为学生信息管理系统、图书管理系统、在线考试系统、网上购物系统、超市管理系统等,也可自拟题目,但要经教师审核。 4、项目实训集中在机房进行,每天考勤,学生每天填写工作日志,每周进行周总结。 三、教学内容与学时分配建议 1、实训内容 (1)选题并制定项目开发计划1天

软件工程课程设计心得总结

软件工程课程设计个人总结 学期就快要结束了,到了最后一周居然还有软件工程课程设计,还要考试真的有点忙啊,不管怎样还是好好干吧,把对工程的理论研究、学习成果用于实践也是一种检验学习成果和提升工程能力的有效手段嘛。 工作内容安排 软件工程课程设计的第一天拿到题目,听取老师对于课程设计的要求、要完成的工作、预期要达到的效果和注意事项。然后分组、讨论和确定选题。这真正的课程设计才算开始了,经过组长,组员的反复研究、论证后一致决定选择:实习题目4:开发一个基于Web的BBS系统,包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。 这个题目对于现代化的网络交流来说发展的成熟而且符合当代互联网大众的网络需求,符合现代网络对信息分享讨论的爱好,我们一致预测在今后很长的一段时间内也将会是非常流行的一种交流介质。 确定选题后我们开始软件开发的第一步,需求分析,详细设计等内容,分块分工完成模块,我分到的主要部分就是分析论坛里面的帖子内容,用户的爱好,然后解决用户的索引需求,把用户的索引需求智能的、友好的呈现给用户,把这部分的代码编写,测试,把用户界面做好就是我接下来几天的工作内容。 俗话说:磨刀不误砍柴工,要想把我的这部分内容做好,做得完美,我的好好的分析一下,对全组对整个系统的需求分析的基础上又认真分析了本部分的内容和本部分要实现的功能,对本部分实现的主要思想理清,认真设计界面,还有对队员们的模块能有效的结合起来,让他们的模块也能有效的供我使用,做好我的接口也方便其他模块与此的衔接。 问题与解决 在本次课程设计中遇到了好多前所未有的问题,第一次接触HTML网页开发,第一次邂逅JSP web应用程序开发,第一次有了原来开发应用程序是需要数据库的,对于这些都是第一次接触,需要了解HTML的基本语法,需要学习JSP web 应用程序web app的开发方法,需要实践配置数据库TOMCAT、SQL sever,居然有这么多的东西需要从头来,对于这些方面我就像一张崭新的白纸,怎么能在短短的四五天时间内将这张白纸绘成一幅栩栩如生的画卷呢,这是我们面对的亟待解决的问题。 为了解决这一系列的问题,我们没有找借口,我们没有懒惰,我们更没有放弃,而是迎难而上,到图书馆“大采购”求资料,找到想要的,真想把图书馆搬到课程设计实验室。接下来就是根据我们的需求分析,概要设计,详细设计等内容分模块编写网页源代码,修复bug,测试代码,连接数据库这样我们的全新的基于web的BBS论坛就成功上线了。

软件项目管理的课程学习体会

经过一个学期对软件项目管理的学习,通过这次分工做任务,真正对项目管理有了比较深刻的理解和认识,感触很多。 一.项目要进行整体管理,善始善终 整个项目开始要做好项目整体计划,在项目的整个过程中,始终要按照项目计划执行,如若遇到项目发生变更,要进行影响分析,得到批准后制定变更计划,并按变更计划执行。变更的影响情况,如:费用,时间进度等要通知相关的项目利益干系人,说明变更的原因和产生的影响。 变更计划在软件项目中经常遇到。控制好软件项目的变更,首先需要做好项目的开始目标基准的确定,基准的用户需求明确,才能衡量出哪些是需要变更的。否则变更的东西和开始要求的东西混在一起,变更计划就无从制定,变更的界限也无从划清。 二.项目范围管理的重要性 需求管理是项目范围管理中的问题,这是因为它实际上是开发过程中的所有管理原则的先决条件。只有在开发的目标被清楚明白地表述和理解的情况下,软件开发才能以一种有计划的有序的方式进行。实际上,没有文档化的需求,在开发工作完成前后都很有可能发生产品与要求的偏离。计划、追踪、配置管理以及软件质量保证这些在其他关键过程中涉及的原则,都是从一个稳定的基础开始的,那就是文档化的需求基线。 三.项目时间管理理论指导我们在项目管理中怎样抓主要矛盾 项目管理的实施最为直观的就是缩短项目时间。利用项目管理理论、方法,有许多缩短时间的例子。美国路易斯维化工厂检修时把检修流程精细分解,按导向图建立起控制关系。他们惊奇地发现,检修过程选择不同路径总时间是有差别的。通过反复压缩最长路径上的任务,将工期反复优化,最后只用78个小时就完成了通常需125小时完成的检修,节省时间38%。这就是至今项目管理工作者还在应用的著名的时间管理技术CPM,即“关键路径法”。 所以我们在软件的项目管理中,也要将时间控制理论运用进来,结合软件工程的实际,将任务分解的更加详细,并用网络图将整个工作过程建立起来,估算好每个阶段的历时,找出关键路径,并通过快速跟进方法,将关键路径的工期缩短,以提高工效。 体会还有很多,总之通过这次学习自己对项目的管理又有了新的认识,我会将这些理论知识运用到实际工作中去的。以提高项目的管理水平,提高项目的质量,降低项目的成本,降低项目的风险,最终提高企业的效益。

2019年软件工程专业就业前景

2019年软件工程专业就业前景 篇一:软件工程就业前景报告 软件工程就业前景报告专业简介: 软件工程是计算机领域发展最快的学科分支之一,是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 职业要求: 1、精通一种主流语言及对应的开发工具;精通数据结构。 2、具有较好的业务理解能力和技术调查能力。 3、编写高质量代码并具有代码审查能力。 4、具有详细设计能力。 5、熟悉系统测试工具,对系统问题具有改善能力。

6、能够带领2个以上员工开展工作,成功领导3个以上不少于5人月的项目/模块的团队项目。 7、有良好的外语水平,能够阅读外文资料,按照要求编写外语技术文档。 8、了解质量管理体系和项目管理知识。(来源百度文档) 行业分析: 据《中国经济与信息化》数据统计,我国软件出口规模达到215亿元,软件从业人员达到72万人,在中国IT业内众多职位中,软件工程师位列第一,软件工程人才的就业前景相对乐观。普通本科应届毕业生主要在各软件公司,企业单位,高等院校等从事软件设计、开发、应用于研究工作。 据有关数据显示,我国目前对软件人才的需求已达20万,并且以每年20%左右的速度增长,而高校计算机毕业生中的软件工程人才还很缺乏,尤其是高素质的软件工程人才的极度短缺。(该部分数据来源:道客巴巴)

据《经济重点领域急需紧缺专门人才开发一览表》,未来人才需求增加最多的,是软件高级人才,预计目标为2020年增加172万人;其次为软件测试人才,83万人。增加目标上20万的有,高等级公路建设与养护、汽车维修专业人才,55万人;金融分析、国际会计、保险精算、保险核赔、资产评估、证券投资及经纪、财务总监等高级金融分析专家;农业生物、工业生物、环境生物、能源生物技术等产业化人才,22万人;互联网技术、网络与信息安全、宽带移动通信人才,21万5千人;纳米、超导、光电微电、新型能源、环保等新材料人才,20万人。 国内软件工程师就业现状: 随着信息技术与互联网行业的蓬勃发展,特别是“互联网+”概念的提出,使得互联网+产业迅速发展,相关人才也一直保持着全年行业需求的最高。作为现今拥有最大规模和最广阔前景的朝阳产业——软件产业,其人才待遇也是相当不错的。据全球最大的职位中文搜索引擎职友集截止20XX年1月13日采样统计显示,各大主要城市的软件工程师薪资情况如下(行业内各岗位会有差异): 深圳软件工程师平均月薪:¥8119取自1476份样本可供参考 广州软件工程师平均月薪:¥6506取自1234份样本可供参考

软件工程案例教学法探讨

软件工程案例教学法探讨 1 引言 随着计算机应用日益普及和深化正在运行使用着的计算机软件的数量以惊人的速度急剧膨胀而且现代软件的规模往往十分庞大所以指导计算机软件开发和维护的工程学科—软件工程日益显示其重要地位。然而学习者一般不好理解软件工程的实践性不能将所学的知识真正应用到软件开发过程中去。如何将理论与实际联系起来呢?我们认为在软件工程中采用案例教学发将会弥补这一缺憾。 案例教学法以对案例的分析解决为主线通过对案例中的问题进行分析激发学生的求知欲调动学生的积极性使学生自觉主动的学习案例掌握原理和方法实行科学的教育思想观念的一种教学方式。它是一... 摘要本文就案例教学法在软件工程中的应用作了初步的探讨同时简要介绍我们在尝试软件工程案例教学中的一些体会。 关键词软件工程;案例教学法;分析设计 1 引言 随着计算机应用日益普及和深化正在运行使用着的计算机软件的数量以惊人的速度急剧膨胀而且现代软件的规模往往十分庞大所以指导计算机软件开发和维护的工程学科—软件工程日益显示其重要地位。然而学习者一般不好理解软件工程的实践性不能

将所学的知识真正应用到软件开发过程中去。如何将理论与实际联系起来呢?我们认为在软件工程中采用案例教学发将会弥补这一缺憾。 案例教学法以对案例的分析解决为主线通过对案例中的问题进行分析激发学生的求知欲调动学生的积极性使学生自觉主动的学习案例掌握原理和方法实行科学的教育思想观念的一种教学方式。它是一种互动式的教学方法可以实现启发式教学能够极大的促进学生的学习兴趣实现真正的教学相长。它更是实现理论联系实际的现实可实施的途径。案例教学法在软件工程教学中的应用将在更大程度上激发学生学习的学习兴趣和参与的积极性。同时利于学生掌握理论知识并运用知识解决软件开发中的实际问题最终提高教学质量达到学校教育培养的目标。 有鉴于此本文试对案例教学法在软件工程中的应用作了初步探讨以期对教育同行和广大学习者有所启发和借鉴。 2 案例教学法的含义 案例教学法(case methods of teaching)可简单地界定为一种运用案例进行教学的一种方法它是美国当今教育行业中非常盛行而有效的一种方法在我国正在慢慢推广开来。1910年美国哈佛商学院最先使用案例教学开创了案例教学的先河。案例教学法于20世纪80年代初传入我国它有利于培养学生分析问题、解决问题的能力提高教学效果。

软件工程导论课程教学大纲

《软件工程导论》课程教学大纲 一、课程性质、地位和作用 《软件工程导论》是是软件工程专业的专业基础课程,属必修课。 本课程主要讲述建造软件系统的基本方法、技术、流程、工具及规范等。通过学习可以使学生了解软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的基本内容和发展动向;学习用工程化的方法开发软件项目,初步掌握开发过程中应遵循的流程、准则、标准和规范。本门课程为将来从事软件开发学生的软件工程师之路奠定坚实的基础。 二、课程教学对象、目的和要求 本课程适用于软件工程、计算机应用等从事软件开发的本科专业。课程教学目的、要求: (一)从教学内容上,应使学生了解软件工程的基本概念,主要包括软件与软件开发的基本过程,软件危机与软件工程。掌握个人软件开发过程的基本内容和方法,了解软件开发模型及结构化软件设计方法,以及软件质量保证基本内容。(二)从能力方面,应使学生通过对软件工程基本概念和方法的学习和课后练习,培养学生养成规范化个人开发的良好习惯,培养学生按照软件工程的基本过程和方法来设计和开发软件。 (三)从教学方法上,在课堂理论教学中,采用学生可以理解的软件开发素材,通过一边实践一边讲解的方法,讲解软件过程的基本思想和方法,通过学生完成与实践结合的作业,调动学生的积极性,使软件工程的基本思想逐步植根于学生头脑中。 三、相关课程及关系 本课程的先修课程是“C语言程序设计”和“数据结构”等程序设计课程,学习应在学生具有一定的编程能力基础上进行。本课程为后续的“软件制造工程”和“软件设计工程”等课程打下了必要的理论基础。 四、课程内容及学时分配 总学时:32学时 (一)绪论1学时 1、软件工程及其重要性 2、软件开发需要软件工程 3、软件工程课程体系架构(需要什么软件工程) 、课堂的组织、学习方法、章节安排与考核4. 要求学生了解软件工程的起源,软件工程在软件开发中的作用,了解软件工程课程体系。 (二)软件与软件工程4学时 1、软件及软件分类 2、软件工程的由来及概念 3、软件生命周期 4、软件开发与软件开发方法 5、软件工程工具和环境 6、软件开发项目管理介绍

(学习心得体会)软件实践课程学习心得体会

软件实践课程学习心得体会 经过潘老师讲授软件工程实践后,感觉对软件工程这门学科有了深一层的认识。软件工程是一门重视实际操作的科学。对于软件产品,无非是产品定义、设计代码、调试维护几个步骤,看似简单,可是实际操作却复杂困难,它不比其它行业产品可预见可触及,所以学好软件工程能为以后从事软件开发行业打好基础。 在软件实践这门课中,讲到了有效利用现有资源进行软件编程的方法。提到软件开发也可以像练习书法一样,采用临贴的方式,借鉴他人的优秀代码资源。临摹优秀软件是学习软件开发的一个重要方法。正如一首诗中说的:熟读唐诗三百首,不会写来也会吟”。软件开发也是一个道理。为了真正地掌握软件开发的技巧,临贴”是个不错的起步方法。 以前总是觉得,既然编写一个程序,就应该完全靠自己,那样写出来才有成就感,才算是自己的程序,可是这门课程教会我原来适当地借鉴别人的东西,也不算抄,相反,还可以提高效率,节省时间。这可真是与以往的观点不一样了。具体如下: 软件编程,拿来主义的作用很大: 1、源代码交换方便。 2、可行的例程序用处大。 3、借鉴现成少走弯路。

不过借鉴别人的东西可是有说法的,可不是盲目地抄袭,下面是一些提到的途径: 1、既有系统:借鸡下蛋,买来就用; 2、书本例子:简单修改、直接使用; 3、联机帮助:帮助文档、官方支持; 4、开放软件源代码:linux apache eclipse … 5、资源:论坛、搜索引擎、新闻组 借鉴过来后,还要多方面综合考虑,比如说代码的具体作用,完整性,还要考虑每个借鉴过来的东西的好坏。这些都要多方面考虑,可不能因为前面说软件编程可以借鉴别人的,就盲目地抄袭。到时候代码弄一堆凑在一块儿,谁也不知道它们会不会好好工作。弄不好乱了程序计划是小,公司的损失可不是哪个人都能承受得起的。 课程还提到,应该用一个小项目先从头到尾地练完,这样,有个整体性的了解,可以增加不少开发经验。看来,不学习此门课程,还不能深入地解读软件工程的奥义。这门课程为我们深入地了解软件工程这个庞大的前沿学科起到了推动性的作用。以上是我就此门课中提到的众多方法的一小段做的一些浅谈,更多的知识还在于我们自己去学习体会。

相关文档
最新文档