个人项目最终总结
一.翻译如下:
软件工程师应把自己投身于软件的分析,规范,设计,开发,测试和维护,一个有利的和受人尊敬的职业。按照他们对健康,安全和福利的承诺,软件工程师坚持以下八项原则:
1.公众化---软件工程师应当坚持公众的兴趣。
2.客户和雇主---软件工程师应当用一种最符合他们的客户和员工的兴趣还有公众利益的方式来做事。
3.产品---软件工程师应当确保他们的产品和相关的修改尽可能的满足最高的专业标准。
4.判断---软件工程师应当保持他们那种专业判断的完整性和独立性。
5.管理---软件工程师管理者和领导者们应当订阅和促进一个道德的对于软件开发和维护的管理的方法。
6.专业---软件工程师应当提前和公众兴趣相互一致的职业的荣誉和完整性。
7.同事---软件工程师应当公平且支持他的同事们。
8.自我的---软件工程师应当参与终身学习,思考他们的专业的实践并且应该提升一种道德的对于专业实践的方法。
二.关于软件工程的一些疑问解答
1.计算机科学与技术与软件工程的一些区别:从大的方面来讲,计算机科学与技术就是软硬件都学习,而软件工程则是侧重于软件的设计,制作,开发,维护,测试等等。细节的来说,计科本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级专门科学技术人才。软工专业旨在培养能从事计算机系统软件、应用软件的设计、研制和开发的高级工程技术人才。 本专业培养具有良好的科学素养,系统地掌握计算机科学与技术基础知识、规范的软件设计与开发能力、良好的组织与交流能力,能在科研部门、教育单位、企业、事业和行政管理部门等单位从事复合型、实用型高层次软件设计、系统分析和工程应用的高级专门技术人才。
2.在大学期间学到一定的专业技能是我们将来走上社会能够“吃饭”的真正保障。所以在那些所谓的理想实现之前就只有一个办法,那就是不断的去 学习,可以到网络上,也可以到图书馆,方法多样化。
3.软件工程偏向于软件的设计制作,它对一个人的编程能力要求比较高,要求那你精通多种语言,熟悉各种算法,生活相对而言也会比较枯燥,但是既然选择了这条路就一定要坚持走下去,最近一直忙着考研,很多时候都感觉自己的专知识学习不够。就会上网搜集一些相关的资料,希望未来能够收到回报。
4.最近下了一些相关的学习资料,比如Web编程,Windows入门经典,JAVAscript教程,Android基础教程。没怎么看懂,但是还是能够看懂一些,知识不断地坚持去看,希望以后能有用。
三.软件工程课程总结
本课程是一门介绍应用软件开发的概述性课程,老师讲述了应用软件的相关开发过程和所应用的技术。课程讲授了9章的内容,包括产品、软件工程与软件过程,软件需求工程、分析建模、设计工程、软件体系结构设计、用户界面设计、构件级设计和软件测试技术。
《软件工程》是一门综合性和实践性很强的核心课程,它的开设主要是面向从事软件开发的毕业生。软件工程是由有创造力的、有组织的人在定义成熟的软件过程中进行的,该过程适合于软件开发人员建造的产品和产品的市场需求;软件工程的定义:建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠的,可以在实际机器上高效地运行。在软件开发过程中,由于软件产品开发的特性导致了一些神话的产生,这些软件神话误导了人们,对软件项目管理者,客户,开发人员都带来了严重的问题吗,了解相关的情况可以使我们能以正确的态度对待软件开发工作,由于软件产品的特殊性,软件工程从业人员的职业道德和行为准则显得更加重要。
软件工程过程是一个为建造高质量软件所需要完成的任务的框架,是建造软件产品的一组活动及其结果。通用过程框架目的:
交流-----项目启动、需求获取及其任务集合; 计划-----项目评估、进度安排、项目跟踪等; 建模-----分析模型和设计模型; 构造-----代码生成和软件测试 ;
部署-----产品交付、技术支持、用户反馈等及其相应的任务集合。
软件工程过程模型,是指能够覆盖软件工程的过程、方法和工具以及软件工程的一般阶段的开发策略。过程模型的选择待建造软件的特点、所采用的方法与工具、以及需要的控制和交付的产品。瀑布模型,增量过程模型——增量模型、RAD模型,演化过程模型——原型模型、螺旋模型,面向对象软件工程过程模型——统一软件开发过程。
软件工程的实践包括以下几步:理解问题交流和分析)、计划解决方案(计划与建模——软件设计);实施解决方案(构造——代码生成);检查结果的精确度(构造成部暑——软件测试、质量保证、用户技术支持)。
软件需求分析的工作活动:
起始——建立对拟开发软件(待解决的问题)的基本理解; 导出——问题的范围、问题的理解、问题的变化;
精化——开发精确的技术模型,说明软件的功能、行为和约束;协商——确定合理的系统目标和需求优先级;
规格说明——给出对软件系统功能和性能的描述,给出影响系统开发的约束;
软件的需求诱导---需求诱导原则
需求定义——需求是关于系统(软件系统)将要完成什么工作的一段描述语句,它们必须经过所有相关人员的认可,其目的是彻底解决客户的问题;
需求诱导原则(与客户的交流沟通活动)——倾听、有准备的沟通、需要有人推动、最好当面沟通、记录所有决定、保持通力协作、聚焦并协调话题、采用图形表示、继续前进原则、谈判双赢原则;软件需求的过程启动——首次提问、一组加深理解并使客户能够表达其关于解决方案的感觉的问题、关于效率的“元”问题。
设计的概念与原则:
设计是要将要建造的某种事物的有意义的工程表示。软件设计创建软件的表达或模型,提供了软件数据结构、体系结构、接口和软件构件的设计细节——提供了软件系统实现所必须的工作基础。对设计良好的软件而言,坚固是指程序不应含有任何妨碍其功能的缺陷;适用则是程序符合开发目标;赏心悦目意味着使用程序的体验是愉快的。
设计体系设计结构:
设计建模原则:设计可追溯到分析模型,经常关注待构建系统的框架,数据设计与功能设计同等重要,设计接口(内部接口和外部接口),用户界面必须符合最终用户要求,功能独立的构建级设计,构件之间、构建与外部环境之间松散耦合,设计模型应易于理解,设计以迭代方式进行。体系结构设计为软件开发提供了系统的整体视图,并保证系统开发人员能正确地得到需要的系统;软件体系结构设计涉及两个方面——数据设计:表示体系结构的数据构件,程序体系结构:关注于软件程序结构、构件的性质以及交互表示。
用户界面设计:用户界面可以说是基于计算机的系统或产品的最重要的元素。如果界面的设计很糟糕,可能会严重地阻碍用户使用系统的计算处理能力。一个弱的界面可能导致一个很好和可靠实现的应用的失败,三个重要原则知道有效的用户界面设计,置系统于用户控制之下,减少用户的记忆负担,保持界面一致。
对于这门软件工程课程我的一些建议如下:
由于专业知识的缺乏和对软件工程这门课程的认识不够,大部分人在上课时都选择“不听”,最简单的理由就是不知道老师在讲什么或者说将这些有什么用。 我们也不知道它在我们以后的工作中到底会起到多大的影响,后来我们慢慢的做起了一些小项目,我们次啊慢慢的认识到这门课原来是讲述了一个软件制作项目的整体过程,它要求每个人都投入进去并且专心致志的工作。我认为老师在以后的讲课过程中,尽可能多的增加一些趣味,这样才能提升大家的动力。对于团队项目的分工以及分数的评价我觉得老师和各位助教想法不错,有利于培养大家的动手能力。