2023年软件工程调研报告(精选多篇).docx
2023年软件工程调研报告(精选多篇) 推荐第1篇:软件工程发展调研报告 软件工程发展调研报告 专业简介软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 培养目标 为培养适应政府机关、事业单位、大中型企业的IT岗位要求的系统化、工程化的专业人才。 学习课程 以上海交通大学软件工程系为例,除基础必修课程,通识课程及个性化教育以外,所需要学习的专业课程有: 专业必修类: 1.程序设计与数据结构 2.数据库原理与技术 3.计算机组成与系统结构 4.计算机系统概论 5.数字电路与数字逻辑 6.软件工程概论 7.软件测试 8.面向对象分析与设计 9.编译原理与技术 10.操作系统 11.计算机网络 12.软件过程与管理 13.人机界面与交互 14.系统设计与开发大型课程设计 专业方向类: 1.嵌入式系统原理技术基础(嵌入式系统) 2.信息系统分析与设计(信息系统) 3.分布式计算(网络计算) 4.中间件技术(网络计算) 5.游戏程序设计(数字媒体与应用) 专业选修类: 1.主流数据库系统与应用 2.数字图像处理 3.计算机图形学 4.Linux内核分析 5.形式化方法 社会需求与就业形势 软件工程师在全国各地都有着广阔的市场,但主要集中在北京、上海、广东、深圳、浙江、江苏、福建这些沿海发达地区。 根据2023年毕业生就业状况统计,软件工程专业毕业生在各理工科类中就业率比较靠前,同时根据IT产业目前的发展状态来看,在今后的一段时间内,该专业的毕业生需求将不会出现忽冷忽热的情况。 虽然软件工程师的需求很大,但大部分公司都要求应聘者要有出色的专业技能,很看重应聘者的工作经验和专业素养,竞争非常激烈。这对于应届毕业生有很大的挑战,需要具备过硬的基本功和技能才有可能被招收。 主要相关行业 1.JAVA软件工程师 2.VC软件工程师 3.NET开发工程师 4.嵌入式软件开发工程师 5.Delphi开发工程师 6.数据库工程师 7.网站程序员 8.硬件工程师 9.PCB设计工程师 10.FPGA工程师 11.嵌入式硬件开发工程师 12.通信设计工程师 13.项目管理人员 14.教师 代表性企业 1.Microsorft 2.Apple 3. 4. 5. 6. 7. 8.Oracle IBM Cisco Huawei Tencent Baidu 这些企业作为行业的代表性企业,特别是Microsoft、Oracle等从事技术相关行业的大型软件公司,对应届毕业生的招收情况并不理想,大多偏向于有实际项目开发经验,专业知识过硬的应聘者。大多数的软件工程应届毕业生往往是先就职于小公司担任开发/代码编写工作(即所谓软件“蓝领”),在积累一定工作经验和能力后,再另谋其它出路。 当然,这些企业也接受并乐于接受优秀的应届毕业生,同时往往有员工职业发展培训课程等,使得那些没有工作经验或工作经验较少的应聘者能够更快的适应工作环境。 主要部门 以Microsoft为例,除常规部门外,在软件工程方面设: 1.产品规划部门 2.内容发布部门 3.创新部门 4.国际项目工程及本地化部门 5.常规软件管理部门 6.软件开发部门 7.软件构建部门 8.软件测试部门 9.用户体验部门 10.计划管理部门 11.硬件工程部门* 相关职位的职责 1.软件开发工程师 完成软件的设计、开发、测试、修改bug等工作,包括业务需求的沟通,功能模块详细设计,业务功能实现与单元测试,系统维护。 2.软件测试工程师 软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户的需求。 3.数据库工程师 设计并优化数据库物理建设方案,制定数据库备份和恢复策略及工作流程与规范,并针对数据库应用系统运行中出现的问题,提出解决方案,同时对空间数据库进行分析、设计并合理开发,实现有效管理,以及监督数据库的备份和恢复策略的执行、为应用开发、系统知识等提供技术咨询服务。 4.程序员 软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。 5.硬件工程师 按照计划完成符合功能性能要求和质量标准的硬件产品,根据产品详细设计报告,完成符合功能和性能要求的逻辑设计,根据逻辑设计说明书,设计详细的原理图和PCB 图,编写调试程序,测试或协助测试开发的硬件设备,确保其按设计要求正常运行。 6.通信设计工程师 负责通信机房电源设计的前期勘察、通信电源勘察现场的方案、完成通信电源设计及概预算、通信电源设计的可研及规划等。 职业发展前景 软件工程专业的学生,其职业发展前景相对还是较为乐观的。大多数本专业的学生可能会从事开发或测试相关的工作,部分可能会进入各大运营商等担任技术支持,或从事理论研究和任教等。 本专业在就职后可能的发展路径有: 1.程序员->软件开发工程师->项目经理->总工程师或开发部经理等 2.软件测试工程师->系统分析师->项目经理 3.技术支持人员->市场部门->开公司 4.技术支持人员->行政部门->部门经理或总经理等高层 当前需要努力的方向 对于IT这样一种新兴的产业,每个岗位并没有其固定的专业能力要求。更多的方面是注重理论知识的扎实程度和学习、创新能力等。 以.NET开发工程师为例,若从事网络开发相关工作,在专业方面我所欠缺的主要是web项目的实战开发经验以及对一些框架的应用能力以及网络开发相关测试的能力。值得提出的一点是,由于本专业的技术大多来源或借鉴于国外先进技术,对于外语的要求也相对高于其他专业,但我认为,更需要去拓展的方面还是对新兴技术的理解以及对主流编程语言和开发工具的熟练使用。 从素质拓展的角度来讲,虽然开发工作并不注重与人交往的能力,但大多数的软件开发工作非一人所能完成,更需要看重的是团队的协调合作能力。此外,在软件开发过程中,一定的模仿和创造能力也是必需的,作为一个优秀的软件工程师,应不但能够吸取已有工程中的长处,更应能够提出自己独到的观点和想法。 同时,软件开发行业具有工期短,工作强度大等特点,在一定程度上需要员工的身体素质能够应对长时间高负荷的工作和较强的责任心,这也应是在素质拓展方面所做的准备。 推荐第2篇:软件工程报告 软件工程实训(论文) 论文题目 学 院应用数学学院 专业信息与计算科学 年级班别12级2班 学 号3212023007 学生姓名 洪春晖 指导老师 李小英 2023 年12月 对软件工程的认识 摘要: 软件工程:顾名思义就是用工程化的方法生产软件的一门学科。软件产业作为信息产业的核心是国民经济信息化的基础,已经涉足工业,农业,商业,金融,科教文卫,国防和百姓生活等各个领域。采用先进的工程化方法进行软件开发和生产是实现软件产业化的关键技术手段。因此,为积极促进我国软件产业的发展,加速我国信息化建设,增强其国际竞争力,国家急需培养大批软件工程领域的实用型,复合型软件工程技术人才和软件工程管理人才。软件工程专业需要一定的专业技能,只有有能力的人才能在社会上立足,所以,所以学习软件工程这门课程不能放松,要按照学习计划按部就班的学习,不能盲从也不能懈怠。每个阶段都要有明确的目标,并把目标细化,付诸实践,要立长志不能常立志。这样才能提高自己的学习效率,增强专业技能,成为真正的软件人。 关键词:测试、过程、能力 一、软件测试 软件测试是软件生产的重要环节。软件质量正确的内涵包括三方面,完整的需求、正确的代码和最少的缺陷。软件测试就是在软件开发的整个生命周期中对这三方面进行有效控制的重要手段,是软件质量的安全副驾驶。据统计,通过必要测试,软件缺陷数可至少降低75%,而软件的投资回报率能达到350。,软件测试的方式也开始由手工向自动化测试方向转变,测试工具包括白盒、黑盒、嵌入式等七大类。软件测试的蓬勃发展在促进质量提升的同时,也将软件产业带进发展的新时代。 测试方法术语: 1.测试用例:根据测试需求和设计所设计的测试输入、测试操作和预期结果。 2.软件测试:是根据软件开发各阶段的文档和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序缺陷的过程。3.黑盒测试:把程序看成一只黑盒子,测试者完全不考虑程序的结构和处理过程。它根据需求说明书规定的功能来设计测试用例,检查程序的功能是否符合需求,又称“功能测试”。4.集成测试:主要对系统内部的相互服务进行测试,是由底向上通过集成完成的功能模块,对程序内部具体单一功能模块的测试。 5.系统测试:将软件作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行的一系列的测试。 6.验收测试:验收测试是以用户为主的测试。由用户设计测试用例,使用真实数据进行测试,分析测试的结果。 7.回归测试:指在第一次系统测试完,开发小组已经将所有的缺陷处理后,进行得第二次系统测试。流程图: : 1.制定测试计划:软件项目经理在制定开发计划时(参见软件项目策划过程),应同时与测试质保部一起考虑项目的测试计划。测试质保部制定测试计划,协商安排集成测试和系统测试等工作。测试计划内容包括测试人员安排,测试方案、测试用例设计工作安排和测试执行工作安排等内容,按照软件测试计划模板制定。 执行人有:软件项目经理、测试人员。 2评审测试计划:制定完成的测试计划,软件项目经理要组织人员进行评审,评审参照评审过程进行。 执行人有:软件项目经理。 3编制和评审测试用例: 集成测试用例编制:测试人员根据概要设计说明书文档安排人员制定集成测试方案和测试用例,考虑需要集成的关键模块、集成的次序和需要测试的接口和测试的环境要求等工作。 系统测试用例编制:测试人员根据项目的软件需求规格说明书,参考项目设计文档,编写测试方案和测试用例,规定测试数据、测试预期结果、测试充分性评价等,重点在功能测试,兼顾性能测试,如确认需要测试的功能和不必测试功能;用户界面的确认;硬件、软件和通信接口的确认等等,完成后的测试用例交给软件项目经理审核,并组织有关人员参加评审,通过评审后入配置管理库进行管理。 执行人有:软件项目经理、开发人员、测试人员。 4准备测试: 检查是否可以进行测试:集成测试的代码是否已完成单元测试;系统测试的代码是否已完成集成测试。 代码及测试文档准备:集成测试和系统测试前开发或配置管理人员应向配置管理库归档最新测试代码及测试所必须的文档。 测试环境搭建:对自己可以搭建测试环境的软件项目,测试时应从配置管理库中提取程序及测试所必需的文档,并根据测试方案搭建测试环境;对自己无法搭建测试环境,可以到现场进行测试,但必须采取措施保证不影响用户原有的系统(做测试方案时应给予考虑)。 执行人有:开发人员、配置管理人员、测试人员。 5实施测试: 集成测试:测试人员根据设计说明书和测试方案进行集成测试.系统测试: 系统测试应尽量在与实际运行(使用)环境一致的环境下进行(如果不行,就要在与实际环境有可比性的模拟环境下进行),与计算机硬件、外设、支持软件、资料和人员等其它系统元素结合在一起,测试软件需求规格说明书列出的所有需求,确保所有的软件功能需求都能得到满足,所有的软件性能需求都能达到,所有的文档都是正确且便于使用;同时在测试过程中,应当按照顾客手册或操作手册中规定的使用步骤,以便检查这些文件资料的完整性和正确性。 执行人员有:测试人员。 6缺陷跟踪: 使用Test Director作为测试管理工具,记录并跟踪缺陷,统计缺陷数据。 执行人员有:测试人员及开发人员。 7回归测试: 缺陷跟踪结束,或者项目组重新提交,测试人员应做回归测试,若第一次测试时的资料未进行修改,例如:用户手册、系统需求说明书、测试计划、开发规范等,测试组将不进行重复测试。 执行人员有:测试人员。 8报告/评价测试结果: 测试结束后,测试人员对测试结果和测试过程等内容进行整理,形成测试分析报告,由软件项目经理组织有关部门进行评审,并把评审结果提交软件项目经理及研发经理评价测试的有效性、充分性;如果使用模拟测试环境,还应评价模拟环境与现实环境的差异,确认软件是否通过测试,如果认为软件没有通过测试,可对软件进行修改并修改测试计划进行重新测试或经产品总经理批准,得到顾客的认可后让步放行、使用或接受不合格品。 执行人员有:软件项目经理及有关人员 9报告、测试结果置于配置管理之下。 执行人员:配置管理人员。 二、软件工程过程及所需能力 软件工程过程:软件工程过程包含软件开发、维护以及软件开发和维护时所需的管理活动。软件生命周期:软件生命周期是指软件产品从考虑其概念开始,到该软件产品不再能使用为止的整个时期。具体地说,软件生命周期是指从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段都有相对独立的任务,然后逐步完成每个阶段的任务。一般将软件生命周期划分为六个阶段:计划、需求分析、设计、编码、测试、运行维护。 软件工程专业本科生应掌握科学方法与工程方法;掌握扎实的软件基础理论知识和较宽广的软件工程专业知识,具有技术创新能力;受到良好的软件工程训练,具有较强的工程实践能力和团队协作能力;熟悉软件应用和工具,具备运用先进的工程化方法、技术和工具从事某一应用领域软件分析、设计、开发、维护等工作的能力。软件工程专业本科毕业生应达到基本的数学和语言要求;熟练掌握英语,具备良好的阅读、理解和撰写外语资料的能力和进行交流的能力;拥有较好的沟通技巧和团队工作能力,通晓和遵守法律与职业道德。 软件毕业生应获得以下几方面的知识和能力:1。具有扎实的自然科学基础和较好的人文社会科学基础;2.对软件系统、计算机系统、信息系统及计算机软件相关系统的认识能力;3.具备扎实的理论基础,能够全面通晓计算机软件和软件工程的基础知识,较深入理解至少一个计算机软件应用领域;4.有较强的动手能力,能够具有一定的系统分析和软件设计的能力,熟练使用一种以上主流的操作系统、数据库管理系统和程序设计语言,做到理论与实践相结合;5.有实际项目的工作经验;6.具备自学习的能力以适应软件技术的快速变化,能够通过自学的方式在较短时间内掌握系统软件的使用;并且具有熟练使用各类流行软件解决实际问题的能力;7.能够综合应用各类方法、技术和工具,运用工程技术方法解决复杂性软件问题的能力;8.掌握一门外语,具有听、说、译、写以及熟练阅读外文文献能力,以此具备语言、交流、写作等基本的软件从业能力,认同现行的法律、道德和伦理。 软件工程课程应该加强理论与实践的结合,在学习的过程中实践所学理论。 推荐第3篇:软件工程实验报告初识软件工程 GDOU-B-11-112 学生实验报告书(学生用表) 实验名称 学院(系) 学生姓名 学号 初识软件工程 专业 实验地点 课程名称 软件工程 班级 实验日期 课程号 一, 实验目的 软件工程涉及的知识内容多,软件工具多、标准多,本实验的目的是为了软件工程 初学者介绍网络学习环境,通过对有关知识的检索,使学习者对软件工程有一个初步的 了解,为后续学习打下基础。 二,实验原理 (1) 软件工程的概念 (2) 软件工程的质量与控制 (3) 工程工具 (4) 网络学习(5) 软件创业的成功范例 三,实验环境 硬件:联网计算机,校园网和因特网。 软件:Windows 操作系统。Office 软件等。 四,实验内容 (1) 软件的概念与特点。 答:软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件 是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设 计计算机系统时,必须全局考虑软件与硬件的结合,以及用户的要求和软件的要求。 1运行时,能够提供所要求功能和性能的指令或计算机程序集合。 2程序能够满意地处理信息的数据结构。 3描述程序功能需求以及程序如何操作和使用所要求的文档。 以开发语言作为描述语言,可以认为 : 软件=程序+数据+文档。 (2) 按照国家的标准,软件的生命周期划分为几个阶段?软件生命周期中各个阶段 的主要任务是什么? 答:依据不同的原则对软件生命周期的划分也不同,软件工程国家标准计算机软件开 发规范(GB856688)中将软件生命周期划分为 8 个阶段:可行性研究与计划、需求分析、概要 设计、详细设计、实现(包括单元测试)、组装测试(集成测试)、确认测试、使用和维护。本书按照人 们所习惯的粗分方法把上面 8 个阶段划分为计划、开发和维护 3 个阶段,在概述其他两个阶段的基 础上重点介绍软件的开发过程。 概括地说,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又 可进一步划分成若干个阶段。 软件定义时期的任务是确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程 目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本, 并且制定工程进 度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分 成三个阶段,即问题定义、可行性研究和需求分析。 开发时期具体设计和实现在前一个时期定义的软件,它通常由下述四个阶段组成:概要设计,详 细设计, 编码和单元测试, 综合测试。 其中前两个阶段又 称为系统设计, 后两个阶段又称为系统实现。 运行维护时期的主要任务是使软件持久地满足用户的需要。具体地说,当软件在使用过程中发现 错误时应该加以改正; 当环境改变时应该修改软件以适应新的环境; 当用户有新要求时应该及时改进 软件以满足用户的新需要。通常对维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一 次压缩和简化了的定义和开发过程。 下面简要介绍上述各个阶段应该完成的基本任务。 1问题定义 问题定义阶段必须回答的关键问题是: “要解决的问题是什么”。 如果不知道问题是什么就试图解决 这个问题,显然是盲目的,只会自白浪费时间和金钱,最终得出的结果很可能是毫无意义的。尽管确 切地定义问题的必要性是十分明显的,但是在实践中它却可能是最容易被忽视的一个步骤。 通过调研,系统分析员应该提出关于问题性质、工程目标和工程规模的书面报告,并且需要得到 客户对这份报告的确认。 2可行性研究 这个阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。并非所有问 题都有切实可行的解决办法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。如果 问题没有可行的解,那么花费在这项工程上的任何时间、资源和经费都是无谓的浪费。 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可 行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到这个目的?当然不能靠主观猜 想而只能靠客观分析。 系统分析员必须进一步概括地了解用户的需求,并在此基础上提出若干种可能 的系统实现方案,对每种方案都从技术、经济、社会因素(例如,法律)等方面分析可行性,从而最终 确定这项工程的可行性。 3需求分析 这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问 题。 虽然在可行性研究阶段已经粗略了解了用户的需求,甚至还提出了一些可行的方案,但是,可行 性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略 了。然而在最终的系统中却不能遗漏任何一个微小的细节,所以可行性研究并不能代替需求分析,它 实际上并没有准确地回答“系统必须做什么”这个问题。 需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就 是对目标系统提出完整、准确、清晰、具体的要求。 用户了解他们所面对的问题,知道必须做什么,但是通常不能完 完整准确地表达出他们的要求,更 不知道怎样利用计算机解决他们的问题;软件开发人员知道怎样用软件实现人们的要求, 但是对特定 用户的具体要求并不完全清楚。因此,系统分析员在需求分析阶段必须和用户密切配合,充分交流信 息,以得出经过用户确认的系统需求。 这个阶段的另外一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为 规格说明(specification)。 4概要设计 这个阶段的基本任务是,概括地回答“怎样实现目标系统?”这个问题。概要设计又称为初步设计、逻辑设计、高层设计或总体设计。 首先,应该设计出实现目标系统的几种可能的方案。软件工程师应该用适当的表达工具描述每种 可能的方案,分析每种方案的优缺点,并在充分权衡各种方案的利弊的基础上,推荐一个最佳方案。 此外,还应该制定出实现所推荐的方案的详细计划。如果客户接受所推荐的系统方案,则应该进一步 完成本阶段的另一项主要任务。 上述设计工作确定了解决问题的策略及目标系统中应包含的程序,但是,对于怎样设计这些程序, 软件设计的一条基本原理指出,程序应该模块化,也就是说,一个程序应该由若干个规模适中的模块 按合理的层次结构组织而成。因此,概要设计的另一项主要任务就是设计程序的体系结构,也就是确 定程序由哪些模块组成以及模块间的关系。 5详细设计 概要设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具 体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。 这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似 于其他工程领域中工程师经常使用的工程蓝图, 它们应该包含必要的细节, 程序员可以根据它们写出 实际的程序代码。 详细设计也称为模块设计、物理设计或低层设计。在这个阶段将详细地设计每个模块,确定实现 模块功能所需要的算法和数据结构。 6编码和单元测试 这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。 程序员应该根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言(必要时用汇编语 言),把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。 7综合测试 这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。 8软件维护 维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。 通常有四类维护活动:改正性维护,也就是诊断和改 正在使用过程中发现的软件错误;适应性维 护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预 防性维护,即修改软件为将来的维护活动预先做准备。 虽然没有把维护阶段进一步划分成更小的阶段,但是实际上每一项维护活动都应该经过提出维护 要求(或报告问题),分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计, 修改程序,测试程序,复查验收等一系列步骤,因此实质上是经历了一次压缩和简化了的软件定义和 开发的全过程。 每一项维护活动都应该准确地记录下来,做为正式的文档资料加以保存。 我国国家标准计算机软件开发规范(GB856688)也把软件生命周期划分成 8 个阶段,这些阶 段是:可行性研究与计划,需求分析,概要设计,详细设计,实现,组装测试,确认测试,使用和维 护。其中,实现阶段即是编码与单元测试阶段,组装测试即是集成测试,确认测试即是验收测试。可 见,国家标准中划分阶段的方法与前面讲的阶段划分方法基本相同,差别仅仅是:因为问题定义的工 作量很小而没有把它作为一个独立的阶段列出来; 由于综合测试的工作量过大而把它分解成了两个阶 段。 在实际从事软件开发工作时,软件规模、种类、开发环境及开发时使用的技术方法等因素,都影 响阶段的划分。事实上,承担的软件项目不同,应该完成的任务也有差异,没有一个适用于所有软件 项目的任务集合。 适用于大型复杂项目的任务集合, 对于小型且较简单的项目而言往往就过于复杂了。 因此,一个科学、有效的软件工程过程应该定义一组适合于所承担的项目特点的任务集合。一个任务 集合通常包括一组软件工程工作任务、里程碑和应该交付的产品(软件配置成分)。 Page 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 刚才讲过,实际从事软件开发工作时应该根据所承担的项目的特点来划分阶段,但是,下面讲述 软件过程模型时并不是针对某个特定项目讲的,因此,只能使用“通用的”阶段划分方法。由于瀑布模 型与快速原型模型的主要区别是获取用户需求的方法不同,因此,下面在介绍生命周期模型时把“规 格说明”作为一个阶段独立出来。此外,问题定义和可行性研究的主要任务是概括地了解用户的需求, 为了简洁地描述软件过程,把它们都归并到需求分析中去了。同样,为了简单起见,把概要设计和详 细设计合并在一起称为“设计”。 (3) 软件工程质量与控制。 答:四上运行的算法拿到 了五上用,但它的处理器换了,导致了数据的“溢出”, 所以发射三十七秒后坠毁。 (4)软件工程的标准。 答:按照国家的软件开发标准可以有以下的开发标准: (1)开发进度月报编写规范. . (2)操作手册编写规范 (3)数据库设计说明书编写规范 (4)数据要求说明书编写规范 (5)概要设计说明书编写规范 (6)模块开发卷宗编写规范 (7)测试分析报告编写规范 (8)测试计划文档编写规范 (9)用户手册编写规范 (10)详细设计说明书编写规范 (11)件质量保证计划编写规范 (12)软件配置管理计划编写规范 (13)软件需求说明书编写规范 (14)项目开发总结报告编写规范 (5)软件工程模型过程。 (6) 软件创业的典型。 答:巨人汉卡是史玉柱的创业起点,989 年 10 月,深圳。史玉柱举起一台 IBM286,摔在地上,接着, 又举起一台 IBM286,摔在地上。两名员工抱走剩下的几台电脑和打印机,从此没了踪迹 1988 年,从深圳大学研究生毕业,史玉柱回到合肥原单位。没几天,他提交了辞职报告。向以 前帮过的朋友借了一台 IBMPC,史玉柱开始在家编写文字处理软件。 “我是从我的原单位统计局看出 这个市场需求的。“当时每个单位都花 2 万元购置一台四通打字机,同时也在购置电脑。大多数情况 ” 下,电脑总是被放在一旁不用。我就想编一套软件,取代四通打字,直接用电脑打字。 ” 半年之后,M-6401 在史玉柱合肥的家中诞生。史玉柱送了一套给原单位。几张软盘一装,就能 打出比四通打字机 24 点阵更漂亮的 64 点阵字,而且,编辑屏幕比四通打字机大很多,单位的四通打 字机从此被放到一旁没人用了。 一看有戏,史玉柱立即揣软盘,南下深圳。史玉柱在深圳大学有个老师,同时是天津大学深圳科 贸发展公司员工。老师很器重史玉柱,专门为史玉柱成立电脑部,交给史玉柱承包。史玉柱每月只要 交一两千元固定的管理费用,剩下都归自己所有。 没钱买电脑,史玉柱将自己的软件演示给卖电脑的老板看, “我现在没钱,你让我先拿回去,等 我软件卖了钱,给你多加 1000 元利润。 ”卖电脑的老板居然同意了,让副经理将电脑抱给史玉柱。这 名副经理后来加入了史玉柱公司,现在是征途公司副董事长。 没钱打广告,史玉柱跑到北京,闯进计算机世界报社广告部,演示软件给当时的广告主任贺 静华看。贺静华答应先给史玉柱打三期 1/4 版广告。 1989 年 8 月 2 日, 计算机世界第一次刊出了史玉柱写的 M6401 中文软件广告前天,广州一 家政府机关打电话过来说要买,史玉柱跳上中巴赶到广州去,留了三套软件给他们。回来后,史玉柱 立刻接到了宁波的要货电 话。 8 月 16 日,史玉柱收到三张银行汇款,一共 1.5 万元。一张 8820 元,是广州批发的三套;另外 两张是零售汇款,每张 3500 元。 8 月收入达到 4 万多元,9 月份 16 万,10 月份超过 100 万。M6401 开始是软加密,很快被破解, 史玉柱立即开始使用加密卡。 8 月底,9 月初,经朋友介绍,史玉柱招聘了三个员工。到 10 月份,其中一名员工说: “我们每 个人都应该有股份,大家应该将赚到钱的分掉。 ”史玉柱不同意,主张继续打广告。史玉柱对员工说: 股份的事情可以商量, 但每人 25%不可能。 ” “软件是我开发的, 启动资金是我出的。 我至少应该控股。 可以给两人 10%到 15%。 ”两位员工嫌太少,闹僵之后,史玉柱摔了电脑,管财务的员工不参与,另 外两名员工只好抱着剩下的几台电脑和打印机,走人了事。 “我从此再不搞股份制了。“母公司一定我个人所有,下面的公司可以考虑我控股。“中国人合 ” ” 作精神本来就很差,一旦有了股份,就有了和你斗的资本。造成公司结构不稳定。“后来我就给我的 ” 高管高薪水和奖金,就是给比他应该得到的股份分红还要多的钱。我认为,这个模式是正确的,从此 以后,我的公司就再没发生过内斗。 ” 10 月,史玉柱将 100 万元广告砸向计算机世界 ,M6401 月销售额乘势攀升到了 500 万元。1990 年前三个月,史玉柱已经挣到了 3000 万元。 此时,求伯君的 WPS 借助方正的品牌和渠道横空出世,史玉柱一看不妙,带领一名助手跑进深 圳大学学生公寓封闭开发 M6402。从 M6402 开始,史玉柱开始使用巨人汉卡名称。 “当时 IBM 蓝色 巨人最火,我们就抄袭了巨人这个名称。 ” 等到 M6402 投入市场的时候,WPS 已经超越了 M6401,巨人 M6402 缩短了和 WPS 差距,但还 是无法超过 WPS。史玉柱再次组织了十几个人的研发队伍,跑到深圳大学封闭开发巨人 M6403。 1991 年春节刚过,深圳。巨人连锁会议。经销商包机过来,现场订货,史玉柱当场拿下 3500 万 元现金支票。 成绩 注:请用 A4 纸书写,不够另附纸。 指导教师 日期 第 页,共 页 推荐第4篇:软件工程师职业调研报告 中国地质大学(北京) 期末考试论文专用 课程名称:就业调查 班号:078071 学号:07007111 姓名:孙琳琳 成绩: 调研报告 1.调查内容 软件工程师职位信息、职业要求及认证情况。 2.调查目的 为了让本专业学生了解软件工程师的职位要求,即成为软件工程师应具备的素质和能力及认证情况,从而有针对性的培养自身能力和素质,并有计划性的准备考证,按部就班的完成目标,以使自身在将来激烈的就业竞争中具有更大的优势。 3.调查时间 2023年8月1日2023年8月20日 4.调查方法 网上搜集资料,并利用学长已收集好的资料,从中进行筛选,整理,分析总结,然后得出相应结论。 5.调查结果 5.1职位描述 软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。 软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和级别也不同,但工作内容都是与软件开发生产相关的。 软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言 1 中国地质大学(北京) 期末考试论文专用 课程名称:就业调查 班号:078071 学号:07007111 姓名:孙琳琳 成绩: /C+/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUCTS等前沿技术。除此之外,关于网络工程和软件测试等其他技术也要有所涉猎,以利于操控全局。 软件工程师的就业职位归结下来主要有WEB开发工程师、数据库开发工程师、网站开发工程师、电子商务开发工程师等。 5.2职位要求 根据工作方向不同,对软件工程师的技术要求也不相同。 软件工程师要求至少熟练掌握编程语言C语言/C+/C#和JAVA中至少一种,如果发展方向为JAVA,则要求熟悉J2EE。若是从事专业开发,公司会根据自身需求要求求职者熟练HTML ,XHTML , XML , CSS, Javascript, spring, struts, JDBC, ASP.net等相关技术,熟悉数据库设计和使用如SQL SERVER和Oracle,熟悉网络编程,熟悉统一建模语言UML,对面向对象的程序设计有一定了解,熟悉Linux/Unix/windows系统,有一定的技术文档编写能力等。 除了这些基本能力外,少数公司还会根据自己的需求要求求职者具备一些其他技术能力。如掌握B/S结构,熟悉ERP开发、web开发,熟悉开发工具Jude,Eclipse,Jbuilder等,熟悉软件开发流程,熟练掌握COM、ATL、MultiThread、DLL和MFC等技术,熟练使用Visual Studio .Net 2023(C+)或以上开发工具进行开发、调试程序。 一般要求至少大学本科毕业,少部分公司接受计算机专科