范文一:浅谈在软件工程专业开设_IT项目管理_双语教学课程的体会
,既件工程专业的许多课程的教材本来就是英语翻译过来的0 引言 然是翻译就难免有点“变味”,所以我们坚持在双语课程里使 关于双语教学, 这早已不是个新鲜的事物了 , 全 国 各 高 用原版英文教材 , 我们的大学生学了那么多 年 英 文 , 很 多 是 校包括一些高职院校均开设了一定比例的双语教学的课程, 为了通过考试而学习 , 而没有主动用英文去 实 践 , 那 么 使 用 然而我们究竟需要什么样的双语教学,不仅仅是英文加中文 原版英文教材就提供了让学生主动用英文去学习和思考的 解释的方法,, 通过双语教学使我们的学生到底收获什么,这 机会, 也体会下“ 原汁原味” 的英文专业知识 , 把英 语 翻 译 成 需要我们每位从事双语教学的老师在双语教学实践中不断 中文再用中文去思考的学习习惯逐步变为尝试着用英文的 总结和摸索的。 我们南通大学计算机计算机科学与技术学院 思维习惯去学习和掌握知识,这也是双语教学的主要目的之 自 2006 年在软件工程专业的专业课《IT 项目管理》里率先开 一,而不是英译中的简单方法。 展中英双语教学 , 目前已上了五轮课 , 掌握了大量的学生学 关于《IT 项目管理》的中英文书籍也很多,我们在众多书 习双语课程的情况,我们对如何更好地开展双语教学实践活 里确定了一本在国外高校计算机类专业使用很多的经典原 动进行一些总结和分析。
版教材作为主教材 ,就是 McGrawHill出版社 出 版 的 Joseph
1 双语教学所用教材的选定 Phillips 编写的 《IT project Management,On Track fromto Start Finish》, 这门书比较通俗易懂且实用性强 , 作者不仅有渊博 首先我们当初为什么会选择 《IT 项目管理》 这 门 课 作 为 的理论知识还有丰富的实践经验,还为许多知名大企业培训 双语教学试点的课程呢, 我们考虑到既然是双语教学,学生 过 IT 项 目 经 理 。 该书每章有理论介绍还有其他书 没 有 的 就必须具备一定的英语水准 , 只有在高年级开 设 , 因 为 绝 大 “From thefile d”(业界观点) 部分介绍业界人士对每个理论环 多数学生都已通过了英语四级考试,部分学生还通过了英语 节的理解和认识,这极大地帮助学生去更直观和形象地去理 六级考试,所以说学生们基本都具备了接受双语教学的语言 解理论知识。 每章还附有习题和综合应用题让学生们去练 条件,另外《IT 项目管理》 不是一门纯技术的课程 , 而是横跨 习。 计算机,工程学,管理学和经济学的交叉学科,课程有很强的 除了选定这本主教材外,我们还根据每章的内容去搜集 综合性实用性, 如果选择那些操作系统 , 数据结构等理论性 一些中英文的讲义和实际案例给学生们辅助使用。 有的内容 专业性很强的课程 , 学生连中文概念都不大明 白 , 就 更 别 说 来自一些公司的培训课程,以丰富教学的内容。 我们让学生 用直接用英文教材去学习了。 我们最终还是选取了《IT 项目 们课后精读教材,学生们从开始看不大懂到后来很有兴趣去 管理》这门课程作为我们双语教学的试点课程。
Science& technologyview
科技视界2011年 9 月第 26 期 项目与课题
题, 在一定时间内提交题目完成的报告 , 英文 ,, 以 考 察 学 生调整方法以适应学生们的变化和需求。 对实际运用知识解决问题及英文写作的能力,占 30%,最后学
生就自己写的报告进行口头讲述,中文和英文,,以考察学生 【参考文献】 口头表述问题和沟通的能力 , 占 30%, 这种综合考察方 法 尽 ,1,忻展红,舒华英.IT 项目管理[M].北京:北京邮电大学出版社,2006. 管比较全面和科学,但组织起来需要耗费很多时间和人力。 ,2,刘宏哲,鲍泓.IT 应用性教育双语教材的选用及建设[J].北京教育,
开展双语教学的另外一个要素就是要建设一支双语教 2004(6).
学的师资队伍,我们南通大学计算机科学与技术学院这几年 ,3,张谦.双语教学论[C].香港,世界科学出版社,2004:9. 来越来越重视双语教学 , 组织了一批有海外教育背景的教 ,4,李萍,等.依托双语教学模式促进学生素质全面提高[N].电气电子
教学学报,2006(6). 师, 搜集学生们的反馈意见 , 根据大家在教学中发现的问题
,5,王斌华.双语教育与双语教学[M].上海,上海教育出版社,2003. 互相讨论,共同探索出适合我们高校软件工程专业学生特点
的双语教学的方法和模式,形成了一支稳定的从事双语教学
,责任编辑,曹明明,
、 有培养潜力的外贸日语人 一批社会发展所需的有素质 的 ,上接第 52 页, 州外国语学校缔结友好学校的大好机会,加
大国际交流与交换学生的力度,加快与国际接轨的进程。 才。
切实搞好学生 三 毕 工 作 。 3 年 学 习 ,2 年半安排学习实
训,半年安排顶岗实习,这些项目都列入教学计划,严格执行 【参考文献】与考核, 以保证实践教学项目内容落实到 实 处 , 鼓 励 学 生 考 ,1,管平,高职人才培养模式及其构建[J],机械职业教育,2001,10, 取职业岗位证书。 ,2,李建求,论高职人才培养模式的若干特征[J],职业技术教育,教科
版,2001,31,
3 实践、实训的意义 ,3,张斌,高职学生职业能力素养培养研究[J],教育科学论坛,2007(2): 54,57, 研究分析高职商务日语专业的实践性,就是要结合高职
范文二:浅谈在软件工程专业开设《IT项目管理》双语教学课程的体会
浅谈在软件工程专业开设《IT项目管理》双语教学课程的
体会
【摘 要】目前国内各高校里都开设了一定数量中英双语教学的课程,本文就软件工程专业的《it项目管理》这门课程的双语教学实践进行了总结,分析和探讨适合该专业学生学习双语课程的一些教学方法,初步摸索出一套行之有效的双语教学的模式。
【关键词】it项目管理;双语教学;案例分析
0 引言
关于双语教学,这早已不是个新鲜的事物了,全国各高校包括一些高职院校均开设了一定比例的双语教学的课程,然而我们究竟需要什么样的双语教学(不仅仅是英文加中文解释的方法),通过双语教学使我们的学生到底收获什么,这需要我们每位从事双语教学的老师在双语教学实践中不断总结和摸索的。我们南通大学计算机计算机科学与技术学院自2006年在软件工程专业的专业课《it项目管理》里率先开展中英双语教学,目前已上了五轮课,掌握了大量的学生学习双语课程的情况,我们对如何更好地开展双语教学实践活动进行一些总结和分析。
1 双语教学所用教材的选定
首先我们当初为什么会选择《it项目管理》这门课作为双语教学试点的课程呢,我们考虑到既然是双语教学,学生就必须具备一定的英语水准,只有在高年级开设,因为绝大多数学生都已通过了英
语四级考试,部分学生还通过了英语六级考试,所以说学生们基本都具备了接受双语教学的语言条件,另外《it项目管理》不是一门纯技术的课程,而是横跨计算机,工程学,管理学和经济学的交叉学科,课程有很强的综合性实用性,如果选择那些操作系统,数据结构等理论性专业性很强的课程,学生连中文概念都不大明白,就更别说用直接用英文教材去学习了。我们最终还是选取了《it项目管理》这门课程作为我们双语教学的试点课程。
学生学习最基本要素的就是要有本合适的教材,双语教学特点之一就是要让学生学习经典的原版英文教材,我们软件工程专业的许多课程的教材本来就是英语翻译过来的,既然是翻译就难免有点“变味”,所以我们坚持在双语课程里使用原版英文教材,我们的大学生学了那么多年英文,很多是为了通过考试而学习,而没有主动用英文去实践,那么使用原版英文教材就提供了让学生主动用英文去学习和思考的机会,也体会下“原汁原味”的英文专业知识,把英语翻译成中文再用中文去思考的学习习惯逐步变为尝试着用英文的思维习惯去学习和掌握知识,这也是双语教学的主要目的之一,而不是英译中的简单方法。
关于《it项目管理》的中英文书籍也很多,我们在众多书里确定了一本在国外高校计算机类专业使用很多的经典原版教材作为主教材,就是mcgrawhill 出版社出版的joseph phillips 编写的《it project management,on track from start to finish》,这门书
比较通俗易懂且实用性强,作者不仅有渊博的理论知识还有丰富的实践经验,还为许多知名大企业培训过it项目经理。该书每章有理论介绍还有其他书没有的“from the filed”(业界观点)部分介绍业界人士对每个理论环节的理解和认识,这极大地帮助学生去更直观和形象地去理解理论知识。每章还附有习题和综合应用题让学生们去练习。
除了选定这本主教材外,我们还根据每章的内容去搜集一些中英文的讲义和实际案例给学生们辅助使用。有的内容来自一些公司的培训课程,以丰富教学的内容。我们让学生们课后精读教材,学生们从开始看不大懂到后来很有兴趣去读完整本教材,经过这样使用英文原版经典教材后,学生们使用英文去阅读科技书籍和文献的能力有了很明显的提升。有的学生摄甚至认为用英文原版教材的效果比直接使用中文教材还要好,对知识的理解更深。
2 双语教学的课堂教学的组织
选定好教材后,最重要的教学活动就是组织课堂教学了,我们传统的课堂教学有些是老师在上面一个人不停地讲,学生在下面被动地听,如果双语教学还是采用这种方法效果则会更不理想,因为学生们不是在听他们的母语,思想和注意力更不容易集中到老师讲的内容上来,往往一节课下来,学生除了听到几个新鲜的英文单词外什么都没记住和学到。
由于是使用的英文原版教材,我们要求是课前要对上课所讲的章
节阅读一遍或者几遍,对所学内容课前有个初步的了解,那么课上学生们才容易听懂老师讲的内容。我们在课堂上对所讲章节的重点部分用英文进行讲解,过程中一定穿插着对同学的提问,要和学生互动起来,这样学生们的注意力和积极性才会被调动和激发出来,学生们开始总是害怕用英文来回答问题,要多鼓励学生们敢于用英语去回答问题,后来学生们经过很多次练习后也慢慢习惯用英语来回答问题。
关于双语的双语比例问题,到底讲多少英文和多少中文,我们认为要根据内容而定,不能一概而论更不是讲一遍英文再给一遍中文解释。在英文意思大家都比较懂的部分就直接全部用英文讲述,有的英文比较难懂的部分给些相应的中文解释,有的英文会产生好几层意思的地方我们就根据情况用中文进行讨论,给一遍中文的表述方法,因为有的地方用英文表述和用中文表述有不同的意境。我们总的基调是在英文的环境下进行讲解和讨论,在必要的地方再用中文去表述去来比较两者的异同。中文是用来加深理解的,而不是仅仅的英译中,还是要学会慢慢用英文去思考和表述问题,因为我们的学生将来可能要在国际化的企业工作,其工作语言有可能就是英语,尤其我们学院增加了的软件外包服务专业的学生,他们将来很可能就要用英语作为其工作语言的,我们想通过这门双语教学的课程来加强用英语交流和沟通的训练。
我们在课堂教学的环节中增加一个让学生们自己上台做讲演
(presentation)的内容,就是每次课中请一些同学就章节中的某个课题自己用英文做五到十分钟的演讲,觉得用英文讲不清楚的地方就用中文来解释和描述一下,其他学生在下面听,有问题可以提问,讲完后同学们用英文和中文就讲的同学作简单评价。一开始学生们自然很不适应这样的环节,因为他们从小学读到大学从来都只是来听课的,考试都是笔试,从来没机会自己上台对所学知识来讲一遍,更别说用英文讲了,而这在国外大学里是经常有的训练。但是通过多鼓励和练习后,同学们从没人愿意上去讲到慢慢地有同学要抢着上去作讲演,时间从只讲一分钟不到发展成能讲了超过十分钟,例如有个学生用英文完整地讲述里工作分解结构(wbs)的实施方法,讲了十多分钟,而且表述得很清楚到位,这种转变是可喜的,学生们既锻炼自己英语说的能力又加深了对书本知识的理解。
另外我们在课堂里还增加了一个案例分析(case study)的环节,就是根据章节里的内容搜集一些相关的国内外企业在实际做it项目的实施过程中的经典案例,在课堂上供学生们自由讨论,这部分内容由于是现实世界里企业中发生的各种故事没有理论知识那么枯燥,学生们往往比较感兴趣,但是重要的是要鼓励学生们拓展自己的开放式思维,敢于表达自己的看法,尤其开始用英文去讲还是有一定的困难,我们就让学生们用英文夹杂着中文大胆地讲自己的观点,只要敢讲就给予肯定,让学生们自由地去发挥自己的潜能。通过对案例的分析学生们也掌握了一些自己将来在项目管理中的
具体方法。
如果说使用英文原版教材课前预习有助于提高学生们英文“读”的能力,那么课堂双语教学活动中老师和学生的互动就提高了学生们英文“听和说”的能力。
3 双语教学课后练习的安排
我们所用教材每章的背后都有一些习题,我们要求学生们选做一些,还每隔几周布置一个小报告(report),我们鼓励学生们分组完成,用英文撰写。为什么鼓励学生们分组做呢,因为我们的学生从小学到大学的课程里,几乎所有的练习都是独立完成的,从来没有团队合作的经历,而软件工程专业的学生将来在工作岗位上往往需要与别人共同合作来完成项目,所以通过分成若干小组来培养学生们团队合作的精神,在小组练习里明确各自的分工与合作。
比较困难的是小组成员的分配,我们的学生们还大多不习惯团队去合作完成一项工作,我们开始鼓励学生自由组合,没有落实小组的同学由老师硬性分配到各小组中,我们布置的题目都是结合各章内容写的小的报告,例如项目计划书,可行性分析,创建工作分解结构等。学生们也几乎是第一次开始用英文完整地写报告,尽管写得比较生疏,但是大多同学还是能按时完成,老师就一些报告拿到课上去集体讨论,对写得不好地方大家一起发现问题,对写得好的地方大家共同借鉴。学生们合作精神普遍不强,原本一起讨论完的
事情,结果大都变成了各自写一部分拼凑而成,还有的同学在小组里根本不工作,这个问题也很难监督,需要我们学生的自觉性有很大的提高。
我们在理论课后还专门增加了几次上机练习课,让同学们自己完成使用专门的项目管理的软件工具微软的“,,,,,;,”的练习,练习完后用英文写上机报告书,加强学生动手实践的能力,对于软件工程专业的学生来说,这是件比较容易的事。
双语教学的课后练习是用来帮助学生提高学生英文“写”的能力,消化和巩固所学的理论知识。
, 双语教学的其他事项
我们通过对《it项目管理》双语教学中所学教材的选定,课堂教学的组织以及课后练习的安排来全面提升学生实际应用英文“读,听,说,写”的能力,和英文情境下的学习和工作的能力。如何在双语教学里来考核学生的学习效果呢,采取通常的笔试方法是最简单的方法,也客观公正,但是不能真实全面反映学生的学习成果,起不到促进学习的积极作用,我们拟采取综合考量的方法,出一部分客观题进行笔试考察学生对基本知识的掌握占40%,另外布置一些综合应用题,在一定时间内提交题目完成的报告(英文),以考察学生对实际运用知识解决问题及英文写作的能力,占30%,最后学生就自己写的报告进行口头讲述(中文和英文),以考察学生口头表述问题和沟通的能力,占30%,这种综合考察方法尽管比较全面
和科学,但组织起来需要耗费很多时间和人力。
开展双语教学的另外一个要素就是要建设一支双语教学的师资队伍,我们南通大学计算机科学与技术学院这几年来越来越重视双语教学,组织了一批有海外教育背景的教师,搜集学生们的反馈意见,根据大家在教学中发现的问题互相讨论,共同探索出适合我们高校软件工程专业学生特点的双语教学的方法和模式,形成了一支稳定的从事双语教学的师资队伍。另外开展双语教学活动也离不开学生和校内外各界的支持和帮助,我们还有计划打算请it业界人士在双语教学课程里做部分讲座,以增加课程的实用性,扩大学生们的视野。
5 结语
我们开展双语教学课程的目的不只是流于双语教学的这种外在形式,而是借助于双语教学这个实践平台来给我们传统的教学作部分改革和尝试,丰富我们的教学方法和手段,学生通过双语教学收获了实际运用英文去学习和交流的能力与自信,当然我们对于双语教学的认识还要在今后的教学实践中不断总结和摸索,还要根据学生们的现实情况不断调整方法以适应学生们的变化和需求。
【参考文献】
,1,忻展红,舒华英.it项目管理[m].北京:北京邮电大学出版社,2006.
,2,刘宏哲,鲍泓.it应用性教育双语教材的选用及建设[j].北京
教育,2004(6).
,3,张谦.双语教学论[c].香港:世界科学出版社,2004:9.
,4,李萍,等.依托双语教学模式促进学生素质全面提高[n].电气电子教学学报,2006(6).
,5,王斌华.双语教育与双语教学[m].上海:上海教育出版社,2003.
,责任编辑:曹明明,
※基金项目:南通大学双语教学示范课程项目,基金号13050245。
作者简介:曹小峰(1972—),男,毕业于丹麦科技大学计算机系统工程专业,南通大学计算机科学与技术学院软件工程系教师,主要研究方向为管理信息系统、软件工程。
范文三:软件工程课程总结
软件工程课程总结
在我们整个软件工程过程中,我体会到了许多,也学到了许多。
在项目要进行自由分组后,我们的项目小组便诞生了。我们小组在相互商量后我们也确定了我们组的项目,是做一个移动阅读的项目。我们也随即做了分工,但是我们也不忘相互交流更好地完成任务。我们的项目也正式开始了。 需求调研和分析对于软件开发过程至关重要。我们在开发时如果不进行调研和分析,那么对于后来的项目进展将产生致命的后果。我们在项目的开发中便遇到了这样的问题。这个移动阅读项目的要求便是我们必须了解的,我们也必须以读者的要求为根本构建我们的这个系统。做一个系统时,必须随时和读者保持沟通,随时了解他们需要什么,他们想要什么功能。如果我们不去和读者沟通,不去调研读者的需求,做出来的系统即使在我们看来是一个很好,很完美的产品,但是如果读者不认同,那么我们所做的一切都是徒劳,还要返工去修改,费时费力。所以在做任何一个项目时,前期的需求调研和需求分析都是必须的,这是在做一个项目的基本,是关系成败的重要一环。
对于一个项目,它的需求设计也非常重要。在我们的移动阅读项目开发的过程中,遇到了一些问题,如读者提交购买确认后,能否快速的把内容反馈给读者,读者充值的订单在哪里处理,订单以什么方式惊醒处理,在管理员应该实现的功能上反复增删等,这些问题很多都是由于设计不够清晰,不够完善而导致的。出现的这些问题很多都是非常棘手的,我们为了解决这些棘手的问题浪费了大量的时间,我们不得不在工程代码上改了又改,在数据库里增表、删表、加数据、减数据,当然,在文档里也要做出相应的修改以适应新的功能。还好,我们能及时地发现问题,通过沟通讨论,问题也得到了解决。通过总结,我们也意识到,我们大家在做需求分析和进行需求了解时仅仅考虑了一些基本的功能,而至于管理员和读者之间的联系,以及具体的一些流程我们都没有深究,而导致我们到后期花费了大量的时间用于修复之前没有考虑周全而带来的问题。如果我们的需求设计能够比较清晰和完善,那么我们在开发过程中便会很明白的知道我们应该实现什么样的功能,在数据库里应该怎样建表,以什么方式插入数据,从而可以避免反复修改工程的问题,也能避免出现可能毁坏整个工程的问题。整个工程的需求设计对于一个项目的顺利进展至关重要。
对于文档在软件工程中的作用,我在这次项目开发过程中有了更加深刻的理解。文档在软件开发过程中是很有用的,文档是一项必不可少的东西,但文档也不能太多,太过繁琐,如果是那样就不太好了。首先我们要明确开发过程中为什么要写这些文档,文档的最根本的作用是为了更好的沟通。一个项目或产品可能需要延续很长的时间,开发过程中可能需要很多的环节,可能会遇到很多的问题和很多的解决的方法,这时,我们需要文档的帮助,我们需要有一个东西来记录,我们需要有一个共同的声音。文档只不过是一个准绳,将开发中的各个树枝树叶扶正。如果,这个准绳太多太紧,大树可能会发育的很高很直,但是就是有些畸形,如果这个准绳太少太松,大树可能就会变成灌木丛。文档的多少、繁简是有度的,绝对不能说越多越好。我觉得,文档需要说明解决问题的方法而不是解决问题的理论,因为解决问题的理论是在文档形成中做到的。文档完整即可,每一份文档说明一个问题,无需将多个文档的内容放在一个文档的里面。除了重要阶段形成文档,其它部分都只是讨论或者说是想法。不要让文档成为累赘,如果真是这样,我认为就是该考虑写这些文档的必要性的时候了。 我们在文档的时候,一定要明白为什么要写这些。
在整个项目开发过程中,我们也同时遇到了许多程序接口问题,页面和功能相结合的问题,数据库建表的问题,这些问题都是源于我们项目小组成员之间的沟通不足。我深刻认识到,在项目开发时,项目小组中各个成员之间的相互沟通是非常重要的。如果我们要在功能方面作出修改,那么程序人员和页面人员及数据库人员就必须相互沟通,共同对整个程序作出相应的修改,这样才能避免最终整合时出现问题。
在学习中,我还对软件工程有了新的理解。在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件。但现
在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上。所以,软件工程就不仅仅是单一的编程过程了。它包括了系统分析->建模->概要设计->详细设计->编码->测试->维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。
在这次项目里我完成了许多工作,在界面设计上我完成了,首页、全部的商品页面、全部的用户页面及部分管理员页面的制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有数据库插入数据及解决数据库集中整合时出现的问题。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。
当然,在这次项目过程中我也发现了自己的一些问题。如现在的网站开发技术还不够强,在和小组成员相互沟通上还不够积极等。我希望以此为契机,在将来的项目开发中能做得更好。
范文四:软件工程课程总结
课程总结
本课程是一门介绍应用软件开发的概述性的课程,系统讲授了应用软件的相关开发过程,和所应用的技术。课程讲授了9章的内容,包括产品、软件工程与软件过程,软件需求工程、分析建模、设计工程、软件体系结构设计、用户界面设计、构件级设计和软件测试技术等。
1、软件产品
计算机软件是一种特殊的逻辑产品,其为在计算机上运行的各种程序、数据及其说明程序的各种文档;软件承担着双重角色,软件是一个产品,同时又是产品交付使用的载体;软件是逻辑的而不是有形的,软件是基于计算机的系统元素,因此软件具有与硬件完全不同的特征;软件产品有着特有的产品分类方法;在计算机软件开发中所遇到的一系列无法完全解决的问题,导致了软件危机或软件苦恼的产生;在软件开发过程中,由于软件产品开发的特性导致了一些神话的产生,这些软件神话误导了人们,对软件项目管理者、客户和开发人员都带来了严重的问题,了解相关情况可以使我们能以正确的态度对待软件开发工作;由于软件产品的特殊性,软件工程从业人员的职业道德和行为准则显得更加重要。
2、软件工程与软件过程
软件工程是由有创造力的、有组织的人在定义成熟的软件过程中进行的,该过程适合于软件开发人员建造的产品和产品的市场需求;软件工程的定义:建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠的,可以在实际机器上高效地运行。
软件工程过程是一个为建造高质量软件所需要完成的任务的框架,是建造软件产品的一组活动及其结果。通用过程框架目的:
交流-----项目启动、需求获取及其任务集合
计划-----项目评估、进度安排、项目跟踪等
建模-----分析模型和设计模型
构造-----代码生成和软件测试
部署-----产品交付、技术支持、用户反馈等及其相应的任务集合。
3、软件工程过程模型,是指能够覆盖软件工程的过程、方法和工具以及软件工程的一般阶段的开发策略。过程模型的选择待建造软件的特点、所采用的方法与工具、以及需要的控制和交付的产品。
瀑布模型,增量过程模型——增量模型、RAD模型,演化过程模型——原型模型、螺旋模型,面向对象软件工程过程模型——统一软件开发过程。
4、需求工程
基于计算机的系统工程:在了解系统之前,匆忙建造技术元素,无疑将导致使客户失望的错误。在关注树木之前,先了解森林;基于计算机的系统:元素的集合或排列,这些元素在一起通过处理信息完成某些预定义的目标;系统元素——软件、硬件、人员、数据库、文档和规程;启动一个系统工程 ——发现领域过程、领域分析、识别协作系统、发现系统需求、将结果提交给客户;系统建模:评估系统构件及其相互关系。
5、软件工程实践
理解问题(交流和分析)、计划解决方案(计划与建模——软件设计);实施解决方案(构造——代码生成);检查结果的精确度(构造成部暑——软件测试、质量保证、用户技术支持)
6、软件需求收集与分析
构建一个软件系统最困难的部分是确定构建什么。其他的软件开发工作,不会像这部分工作一样,在出错之后如此严重地影响随后实现和系统,并且导致在以后进行的修补会如此困难;“我知道你相信你已经理解了你认为我所说的内容,但是我并不能肯定你已认识到你所听到的并不是我所想要的”。
7、软件需求分析的工作活动
起始——建立对拟开发软件(待解决的问题)的基本理解
导出——问题的范围、问题的理解、问题的变化;
精化——开发精确的技术模型,说明软件的功能、行为和约束
协商——确定合理的系统目标和需求优先级
规格说明——给出对软件系统功能和性能的描述,给出影响系统开发的约束;
确认
需求管理
8、软件的需求诱导——需求诱导原则
需求定义——需求是关于系统(软件系统)将要完成什么工作的一段描述语句,它们必须经过所有相关人员的认可,其目的是彻底解决客户的问题;
需求诱导原则(与客户的交流沟通活动)——倾听、有准备的沟通、需要有人推动、最好当面沟通、记录所有决定、保持通力协作、聚焦并协调话题、采用图形表示、继续前进原则、谈判双赢原则;
软件需求的过程启动——首次提问、一组加深理解并使客户能够表达其关于解决方案的感觉的问题、关于效率的“元”问题。
9、软件需求的导出
质量功能部署——正常的需求、期望的需求、令人兴奋的需求。
功能性需求和非功能性需求——功能性需求,描述系统为用户或其他系统提供的服务;非功能性需求,系统开发过程必须遵守的约束 。
10、用户场景与分析建模
用户场景(use—case)
构建分析模型——数据模型、功能模型、行为模型
11、需求确认与规约
12、分析建模
分析建模使用文档和图表形式的组合,以相对容易理解的方式描绘数据、功能和行为的需求,并直接评审其正确性、完整性、一致性。
分析建模原则:
原则1:必须描述和理解问题的信息领域
原则2:必须定义软件将实现的功能
原则3:作为外部事件的结果,必须描述软件的行为
原则4:描述信息、功能和行为的模型必须通过问题的划分,以层次的方式揭示细节 原则5:分析过程应从要素信息移向实现细节
13、分析建模的任务集合
评审需求
扩展和细化用户场景
信息建模(数据对象描述与数据建模)
功能建模
行为建模
用户接口分析和建模
评审所有模型,考察其正确性、完整性和一致性
14、用户场景建模:开发用例;场景建模
数据建模:数据对象描述——数据字典,数据建模——数据对象、属性和关系,数据模型——实体——关系图(ERD)
功能建模和信息流:信息流模型(DFD),信息流与功能建模
行为建模——状态变迁图(STD)
15、设计的原则与概念
设计是将要建造的某种事物的有意义的工程表示。软件设计创建软件的表达或模型,提供了软件数据结构、体系结构、接口和软件构件的设计细节——提供了软件系统实现所必须的工作基础。
对设计良好的软件而言,坚固是指程序不应含有任何妨碍其功能的缺陷;适用则是程序符合开发目标;赏心悦目意味着使用程序的体验是愉快的。
设计原则
设计过程不应该受“隧道视野”的限制;
设计对于分析模型应该是可跟踪的;
设计不应该从头做起;
设计应该缩短软件和现实世界中问题的“智力距离”;
设计应表现出一致性和集成性
设计的构建应该适应变更
设计的构建,应该使得即使遇到异常的数据、事件或操作条件时也能够平滑、轻巧地降级;
设计不是编码,编码也不是设计;
在创建设计时就应该能够评估质量,而不是在事情完成以后;
应该评审设计以减少概念性(语义性)错误。
16、设计的概念——抽象、求精、模块化
设计文档——描述设计工作的整体范围、说明数据设计、体系结构设计、接口设计、构件设计、需求交叉引用、软件测试、设计约束、补充说明
17、软件体系结构设计
设计建模原则
原则1:设计可追溯到分析模型
原则2:经常关注待构建系统的框架
原则3:数据设计与功能设计同等重要
原则4:设计接口(内部接口和外部接口)
原则5:用户界面必须符合最终用户要求
原则6:功能独立的构件级设计
原则7:构件之间、构件与外部环境之间松散耦合
原则8:设计模型应易于理解
原则9:设计以迭代方式进行,每一次迭代,设计者应尽力简化问题。
体系结构设计为软件开发提供了系统的整体视图,并保证系统开发人员能正确地得到需要的系统;软件体系结构设计涉及两个方面——数据设计:表示体系结构的数据构件,程序体系结构:关注于软件程序结构、构件的性质以及交互表示。
软件体系结构设计将需求分析中的数据、功能和行为模型中的元素,以及软件数据体系结构的设计,最终映射为软件系统的构件组织结构。
18、构件级设计
构件级设计也称为过程设计,它在数据设计、体系结构设计和接口设计之后进行,其意图是将设计模型翻译为可以运行的软件 。
构件级设计是使用某些能够易翻译成源代码的中间表示(如,图形的,表格的或基于文本的)来表示过程设计。
构件级设计的目标是要保证不仅能够完成翻译任务,而且能够不在开始时引入错误,即在过程设计中避免错误的产生。
19、用户界面设计
用户界面可以说是基于计算机的系统或产品的最重要的元素。如果界面的设计很糟糕,可能会严重地阻碍用户使用系统的计算处理能力。
一个弱的界面可能导致一个很好和可靠实现的应用的失败
三个重要的原则指导有效的用户界面设计,置系统于用户控制之下,减少用户的记忆负担,保持界面一致。
20、软件测试技术
软件测试的目的,就是在系统交付客户之前能够发现(和改正)尽可能多的错误。 白盒测试又称“玻璃盒测试”,白盒测试注重于程序控制结构
黑盒测试也称为行为测试,黑盒测试注重于确认功能需求
范文五:软件工程课程报告
软件工程课程论文 题目:软件工程方法在Android 开发中的应用实例
作者姓名
指导教师
所在学院
专 业
班 级
完成日期 年 月 日
目录
关键词 . ...................................................................................................................................... 3
摘要 . .......................................................................................................................................... 3 1.
2. 绪论 . .................................................................................................................................. 3 从模块角度分析程序 . ...................................................................................................... 3
2.1.
2.2.
3. 多模块设计 . .......................................................................................................... 3 提高内聚,降低耦合 . .......................................................................................... 3 编码规范 . .......................................................................................................................... 4
3.1.
3.2.
3.3.
3.4.
3.5. 标准化版面设计 . .................................................................................................. 4 注释的使用 . .......................................................................................................... 5 变量名命名 . .......................................................................................................... 5 合理判断 . .............................................................................................................. 5 交互体验与性能的平衡 . ...................................................................................... 6
4. 总结 . .................................................................................................................................. 7
参考文献 . .................................................................................................................................. 7
Keywords .................................................................................................................................. 7
Abstract ..................................................................................................................................... 8
关键词
软件工程,Android ,移动开发,高效编码,规范编码,开发实例
摘要
随着软件开发人员自身水平的不断提高,开发者都会不断地提高自身的编程能力。不仅是在于编写的熟练程度上,更重要的是在驾驭代码的能力上。在实际的开发过程中,初级开发者常常会随心所欲,开发出来的的代码质量低下,标准化严重缺失。本文通过一个简单的项目实例,用软件工程的方法对代码进行优化,最终形成代码质量较高的代码,对学习者将来编写代码规范具有一定的参考价值。
1. 绪论
在软件开发过程中,掌握了基本的开发语法知识以及其他基本的语句之后,需要了解的便是对程序进行优化改良,并以此为基础,减少程序运行所需的系统资源,并简化开发的过程,减少语句,以使系统不断改良。
对于这个问题,需要解决的不仅仅是开发代码的问题,还有开发习惯以及标准化的问题。本文将多个方面来说明,提高综合效率。
2. 从模块角度分析程序
2.1. 多模块设计
在软件系统中,将较大的复杂的问题分解为许多小的容易解决的问题,就变得更加容易解决。但是模块过多又会在模块连接时产生过多的问题,增加连接的成本。所以,将程序分成若干个合适的模块,使软件的开发维护成本降到最低。
在绘图开发应用程序中,整个项目大致分为了基本数据定义、初始化模块(程序初始化,初始化设置菜单,画布初始化,新建)、绘画(画布上绘画,清除绘画,绘画的屏幕触摸事件监听)、设置菜单监听、保存(文件名设置,保存)等模块,各个模块通过互相调用和修改全局变量的值来进行工作。
2.2. 提高内聚,降低耦合
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述
的是模块内的功能联系。耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
在绘图项目中,模块内部一般指完成一件事,绘图的模块中只把原有图像和新增的线条绘出,监听模块只进行相应的参数修改和调用更新,保存功能与文件命名分开,提高内聚。而各个模块之间通过方法的调用来实现,一般只传递少量参数,模块之间连接简单,降低耦合。
3. 编码规范
3.1. 标准化版面设计
在编码过程中,要时刻注意源代码的版面。良好的层次结构及程序块的分界符定位可以在很大程度上帮助后期开发修改的难度以及其他程序员的理解难度。对于Android 开发来说,默认使用Tab 键作为缩进的标准数,而且Tab 键一般只应用于版面的排版,一般不做其他用途,防止错误识别以及排版混乱等。以{}为函数的开始和结束标示符,一般}与函数首字母对齐,清楚标示作用范围。
对于XML 布局文件,同样遵循缩进的原则。在一对标签内如果没有内容而只有相应的属性,尤其是只有一行的XML 代码,那么可以在属性后面加上空格和/来结束标签,使代码更加有序。
3.2. 注释的使用
一般情况下注释的内容占整个程序的20%到50%,在函数的开始部位对函数作用进行说明性注释,对于每个定义的变量,尤其是全局变量,尽量使变量名有意义,否则应该对其含义进行注明。在if-else 语句中或switch 语句中应当对判断条件进行说明,表达判断内容及作用。
3.3. 变量名命名
所有的变量名最好有一定的实际意义,最好使用英文单词或者缩写来对所需的变量进行命名,或在某一类型变量数量极少时可以用类名的变形来命名。例如定义一个Bitmap 类的对象,而且项目中只会存在一个该类的对象,那么就可以命名为bitmap 。在Android 中,由于开发语言是Java 语言,所以这部分的规则与Java 基本相同。
在实际项目中,对于一些实际使用的变量虽然使用了可以理解的英文命名,但是对一些可能引起歧义的变量名,最好还是进行简单的注释。
3.4. 合理判断
与所有的程序相同,判断结构是最经常使用的结构之一。在Java 语言的开发中,主要使用两种方式,一种是if-else 结构,另一种是使用case
语句进行分支,通过参数来决定要
执行的程序等。
在本项目中,由于需要监听整个菜单选项中的所有内容,便不适合使用if-else 结构来进行判断,使用switch 语句根据case 判断参数值来决定要执行的内容。
在case 情况中,要把最有可能用到的方法放在最前面,加快程序的运行效率。在项目中,橡皮的使用频率远比其他菜单的频率高,所以理应排在第一位,其他的大致按照可能应用的频率进行排列。
3.5. 交互体验与性能的平衡
在系统中,某些变量的取值及判断会对软件的交互体验以及运行流畅性和对系统资源的消耗有很大的影响。但是,交互体验与系统资源消耗是成反比的,想要画面更流畅更自然,需要消耗的资源就越多。所以我们需要在这两者之间找到一个平衡点。
在绘图项目中,对于在屏幕上移动距离的响应的问题便是很好的一个例子。如果移动很短的距离就做出相应并绘图,能够使得画面更加及时细腻,但是会消耗大量的资源处理监听和存储事件。但是如果移动一段距离之后再进行响应,就会降低用户体验。
所以要在这两者
之间找到一个平衡点,保证用户体验的同时减少对系统资源的消耗。
根据多个因素考虑,在手指移动一个像素就进行绘图是不现实也没有必要的,只需要移动一段比较小的距离再进行绘图即可。在实际试验之后选择四个像素点作为移动的基本单位来绘图,用肉眼看不出来瑕疵的同时有效的减少了资源的消耗。
4. 总结
要使得代码更加规范和易读,需要的是软件从业者规范的书写以及细心。规范的代码和高效的程序会使得工作更加便捷,修改和阅读也更加容易。总之,规范代码和高效算法,将使程序更加完美。
参考文献
[1]郑人杰,马素霞,殷人昆. 软件工程概论[M].北京:机械工业出版社,2009.11
[2]欧阳零.Android 编程兵书[M].北京:电子工业出版社,2014.1
[3]百度百科. 内聚和耦合[EB/OL].[2015-5]
http://baike.baidu.com/link?url=aB1uogMfGHyc49rZhYBLoegEEg1pwxQHAAy40VS0csx23FgeLfdSwlIyxUKpq0REZrUVFqpjH8cpTVy20kUHya
[4]Android开发网. 绘图开发[CP/OL].[2012-4].
http://www.jizhuomi.com/android/example/19.html
Keywords
Software Engineering, Android, Mobile Development, Efficient Encoding, Standard
Encoding, Development Case
Abstract
With the constant improvement of software developers’ level, all developers will continually improve their programming ability. Not only in the programming skilled level, what ’s the more important thing is the ability of driving codes. In the actual develop process, new developer often do as they wishes. That cause the low quality of code appears and seriously out of standard. The text get through a simple example of project, optimize with the method of software engineering, form into high-quality code in the last. This text have reference value for learners to encode a standard code.
转载请注明出处范文大全网 » 浅谈在软件工程专业开设_IT