成都工业学院软件工程专业怎么样

成都工业学院软件工程专业怎么样,第1张

一、专业基本信息

专业代码:080902

中文专业名称:软件工程

英文专业名称: Software Engineering

学科门类: 工学

类别:计算机类

授予学位:工学学士

专业优势与特色:针对四川省内中小型IT企业急需软件测试人才的现状,本专业开设软件测试课程模块并由获得国家软件测试中心认证的教学团队组织教学和指导实践,以加强学生软件测试技术的培养。

二、本专业培养适应社会主义现代化建设需要,德、智、体、美等方面全面发展,掌握自然科学和人文社会科学基础知识、计算机科学基础理论、软件工程专业及应用知识,具备将基本原理与技术应用于对复杂软件系统进行分析、设计、验证、确认、实现、应用和维护,以及软件系统开发和管理的能力,具有初步的创新、创业意识,具有竞争和团队精神,能适应技术进步和社会需求变化,能在企业、事业单位从事软件设计、开发、测试、管理和服务工作的高素质基层应用型软件工程技术人才。

本专业面向四川区域经济发展,以电子信息产业(主要是软件和信息技术服务业)、新一代信息技术战略性新兴产业的需求为导向,服务于省内中小型IT企业,以应用型工程化人才培养为中心,注重应用能力培养和素质教育。

三、专业核心课程及简介

本专业核心课程共5门,包括:软件质量保证与测试、编译原理、软件设计与体系结构、软件需求分析、软件项目管理等。

软件质量保证与测试:本课程介绍软件质量与软件测试的基础知识以及软件测试的方法、技术和工具,使学生了解软件产品质量保证的思想和管理体系,掌握软件测试的方法和技术,具有综合运用软件测试方法、技术和工具的实际能力。

编译原理:本课程介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。

软件设计与体系结构:本课程介绍软件设计的相关知识,深入讲解设计模式与中间件技术,使学生掌握设计模式和中间件的原理、方法和技术,理解软件设计的评价与改进,初步具备在实际开发中应用设计模式和中间件技术的能力。

软件需求分析:本课程将讲解需求获取、需求分析、需求验证和需求管理的相关技术以及需求文档标准,使学生能够运用多种技术获取和组织需求,使用目标分析和用例分析等技术进行需求分析,使用形式化和非形式化技术为不同类型的系统表示功能性和非功能性需求,能够根据标准验证需求,并与不同涉众进行协商和达成一致的需求。

软件项目管理:本课程介绍软件项目管理的概念和方法,主要内容包括项目合同管理、软件过程管理、项目计划与监控、项目风险管理、软件配置管理以及人员管理,使学生能够在有限的资源约束下,运用系统的观点、方法和理论,对软件开发项目的全过程进行计划、组织、指挥、协调、控制和评价,从而以最佳的成本效益来实现项目目标。

四、主要实践性教学环节

大学军事技能训练、工程素质训练、社会实践、程序设计综合课程设计、数据库建模课程设计、桌面应用开发实践、Web应用开发实践、企业应用开发实践、功能测试实践、自动化测试实践、自动化测试实践、软件工程综合实践、毕业实习、创新创业实践、毕业设计(论文)等。

自考/成考有疑问、不知道如何总结自考/成考考点内容、不清楚自考/成考报名当地政策,点击底部咨询官网,免费领取复习资料:>

一,良好的编程能力

编程能力直接决定了项目开发的效率

这要求软件工程师至少精通一门编程语言,熟悉它的基本语法、技术特点和API(应用程序接口)

二,自觉的规范意识和团队精神

随着软件项目规模越来越大,仅仅依靠个人力量已经无法完成工作,因此,现代软件企业越来越重视团队精神

一般来讲,软件企业中的程序员可以分为两种,一种是"游击队员",他们可能对编程工具很熟,能力很强,编写的程序简洁高效,却缺乏规范和合作的观念;另一种程序员个人能力不一定很强,但程序较为规范,合作意识良好

第二种人更适合现代软件企业发展的潮流

对于基础软件工程师来说,他们在企业中的角色决定了他们必须具有良好的规范意识和团队精神

三,认识和运用数据库的能力

信息以数据为中心,因此与数据库的交互是必不可少的,了解数据库的 *** 作和编程是软件工程师需要具备的基本素质之一

四,较强的英语阅读和写作能力

程序世界的主导语言是英文,编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英文,与编程高手交流、发布帮助请求同样也离不开英文

作为基础软件工程师,具有一定的英语基础对于提升自身的学习和工作能力极有帮助

五,具有软件工程的概念

基础软件工程师从事的工作相对于系统分析师和高级程序员要单纯一些,但是他们仍然是整个软件工程中重要的一环,他们同样需要具有软件工程的概念:从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作

六,求知欲和进取心

软件业是一个不断变化和不断创新的行业,面对层出不穷的新技术,软件人才的求知欲和进取心就显得尤为重要,它是在这个激烈竞争的行业中立足的基本条件

软件工程师应具有较强的学习总结能力、需求理解能力以及对新技术的敏感性

上述这些能力不可能凭空产生,而是通过培训和教育的过程逐步获得的

目前,社会上的软件工程师培训很多,但良莠不齐

有些好的培训,能够从知识到技能、从技能到应用、从应用到项目,多层次多角度地对学员进行培训,不仅关注技术层面,同时关注项目规划的实施、团队合作、技术文档的编写等在认证培训过程中无法顾及、但在实际工作中又不可或缺的能力的培养,可以使学员在理论上掌握和理解面向对象的软件工程方法和组件化的软件设计思想

还有一些培训中心,针对软件设计人员,通过对经典设计模式的理论实践,使学员掌握、运用其思考和解决问题的方法,总结技术经验,构造自己的设计模式库,使软件设计人员能系统地掌握面向对象的方法

与信息技术领域先进的基础理论教育相比,我国高校软件人才培养模式在实践技能的培养、IT前沿技术的获取与沟通、具有国际水平和标准的软件项目开发等方面的培养存在极大不足

为解决这一问题,有必要在高校推出"软件教育产品"的人才培养模式

"软件教育产品"是一种培养中、高级软件人才的教育产品化解决方案,其根本目的可以归结为--培养掌握IT技术发展方向、熟悉国际开发准则和标准,并且具有丰富项目管理经验的高级软件项目管理人员

"软件教育产品"包含了教学方案的设计、课程选取与设置、教材的引进与二次开发、教学管理流程的监控、教学实践环节的落实等等

仅有技术是远远不够的产业变动快速,复合型的概念也适用于信息技术相关科系,软件工程师若能软/硬件兼修或略通电信,再通晓某一行业的相关知识,在职场上就会比单纯写程序的工程师吃香,工作选择机会也比较多

而要想成为复合型的软件工程师,至少要做到以下几点:第一,培养自己的市场意识

市场需求决定着软件产业的发展方向,软件工程师要就市场论技术,即便是"天衣无缝"的技术,如果没有市场需求也只能"孤芳自赏"

绝大多数软件都是商品,任何商品的成就大小首先都取决于应用需求规模

比尔o盖茨能够成为软件业第一人物的基本前提,乃是他抓住了PC时代软件业最大的应用需求

第二,培养全局角度的应变能力

用友靠财务软件起家,但王文京最近却表示,两年之后不会再有专门的财务软件公司存在:"财务是企业管理的核心,但企业的供销存、客户关系管理的需求必然会越来越大,所以,最好忘掉我们是一个财务软件公司,我们要的是企业管理软件市场

"同样,对软件工程师个人来说,自身的定位也不可能一劳永逸

善于审时度势、合纵连横,有良好应变能力是软件工程师必不可少的基本素质

在风声鹤唳之时,善于辨别哪里是最不可替代的用户需求关口,然后再结合自身技术特点进行转型,才能在软件行业有所成就

第三,培养某一行业的专业知识

IBM有一份《中国银行业加入WTO的新纪元》白皮书,IBM做银行业咨询顾问的最终目的还是推销自己的整体解决方案,占领中国金融业软/硬件服务市场

但IBM的行动告诉我们,要想让技术和产品介入某一行业,仅有大批专业技术人员还不够,还需要一种对行业的认知和把握能力

软件教育要摒弃培养单纯的技术开发人员的旧观念,要着眼未来的需求,大力培养复合型软件工程师

最后,熟练掌握英语

英语是IT世界的主流语言,它对软件工程师技能和业务水平提高的重要性不言而喻,软件工程师总是需要在第一时间学习业界最流行、最先进的编程工具的使用方法,但软件工程师不可能马上就能找到这种软件的中文说明或帮助文档

北京软件行业协会推出的软件工程师培训项目中,重点强调了软件工程英语的重要性,增加了英语教学课时,结合科技英语和编程工作的特点,撰写有针对性的教材,突出实用性

通过对培训学员的调查和学习效果的检查,这种方法已经取得了良好的效果

软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向,而针对高职学生,必须坚持以就业为导向的指导思想,强调其技能培养,注重课程安排的合理性。因此,我们一方面定期修订教学计划,保证课程设置与软件技术的发展基本同步,另一方面利用转、合、撤、拆的原则,降低专业课程中理论教学的比例,加强针对性和实用性,优化课程结构,形成合理的、科学的课程体系。依据培养目标的要求,软件技术专业的课程包括公共课程、专业基础理论课程、专业课程、素质能力提高课程四个部分。软件技术专业的基础理论课程旨在训练学生的逻辑思维、推理能力,掌握与软件技术关系密切的数学知识,掌握基本的计算机应用技能,以及编写程序的基本方法。为了加强软件技术中涉及的数学知识,从 04级开始将原来两学期的高等数学改为一学期高等数学、一学期计算机数学。目前所开设的基础理论课程包括:计算机数学、计算机导论、 *** 作系统、数据结构。专业课程由以下三部分组成:1)编程语言课程(包括Microsoft公司Windows平台开发技术和SUN公司的Java开发技术)2)支撑课程(如数据库技术、网络技术、XML等)3)专业技能提高和扩展课程(如软件工程、UML、测试技术等)对于三年制班与二年制班,由于教学时间及生源上的差别,在课程设计及教学内容上都有所不同。1、三年制班级(普高生)主干专业课程均配有相应的课程设计,并且实践教学的课时比例超过了 50%。在课程设置上,对于专业课程进行优化组合,将横向联系密切的课程安排在同一学期,并开设配套的综合性实训课程,以培养学生综合运用知识的能力,学期之间则形成课程链路,以逐步完成职业技能的学习。如第三学期所开设的J2EE、SQL SERVER,以及与之相对应的综合性实训课程(开发SQL SERVER为后台数据库的J2EE应用系统)。2、二年制班级根据二年制教学需要,制定了二年制教学计划,为保证减少教学时间的同时,完成专业教学任务,采取以NIIT的核心课程体系(消化吸收迁移其课程模式,自主知识产权的教材/讲义开发)中的技术路线为主线,在通识课程、技术基础课程、毕业设计等环节进行教学计划上整合。一方面,改革目前公共文化课程的设置方法,采用灵活的教学机制,公共课与专业课在整个学制内交错,以便专业课可以前移;另一方面,以一条技术路线(NET技术)贯穿整个教学计划,以循序渐进的阶段形式递进,主要分为四个阶段:非可视化编程阶段、可视化编程阶段、WEB应用开发及技能提高阶段以及综合实践训练阶段。课程设计上,整合计算机导论、数据结构等技术基础课程,以整合、化整为零为主要办法,一些专业课程则采用了专题形式安排课程,如统一建模语言则涵盖了软件工程、UML使用、UML应用等专题。软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件, *** 作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。软件工程的主要课程:外语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C语言)、数据结构、C++程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000等。软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

简述为什么要进行需求分析?需求分析的内容和主要步骤

数据库需求分析阶段的主要任务:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,手机支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。

系统分析报告的主要内容:1系统概况,系统的目标、范围、背景、历史和现状;2系统的原理和技术,对原系统的改善;3系统总体结构域子系统结构说明;4系统功能说明;5数据处理概要、工程体制和设计阶段划分;6系统方案及技术、经济、功能和 *** 作上的可行性。

软件需求分析的过程

软件需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。进行需求分析时,应注意一切信息与需求都是站在用户的角度上。尽量避免分析员的主观想象,并尽量将分析进度提交给用户。在不进行直接指导的前提下,让用户进行检查与评价。从而达到需求分析的准确性。分析员通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据和功能表示。在软件完成后,制定的软件规格说明还要为评价软件质量提供依据。

需求分析的详细分析

从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。狭义上理解需求分析指需求的分析、定义过程。 需求分析就是分析软件用户的需求是什么。如果投入大量的人力,物力、财力、时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的(相信大家都有体会)。比如:用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件。当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,他在软件开发的过程中具有举足轻重的地位,大家一定要对需求分析具有足够的重视。在一个大型软件系统的开发中,他的作用要远远大于程序设计。 需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审。问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求(做什么)、性能需求(要达到什么指标)、环境需求(如机型、 *** 作系统等)、可靠性需求(不发生故障的概率)、安全保密需求、用户界面需求、资源使用需求(软件运行是所需的内存、CPU等)、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标。分析与综合: 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。最后综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型)。制订规格说明书: 即编制文档,描述需求的文档称为软件需求规格说明书。请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交。评审: 对功能的正确性,完整性和清晰性,以及其它需求给予评价。评审通过才可进行下一阶段的工作,否则重新进行需求分析。 需求分析的方法有很多,这里只强调原型化方法,其它的方法如:结构化方法、动态分析法等,从来没用过这些方法在此不讨论。原型化方法是十分重要的,原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能。但是这个系统可能在可靠性、界面的友好性或其他方面上存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性、技术的可行性或考察是否满足用户的需求等。如:为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。以后的目标系统就在原型系统的基础上开发。原型主要有三种类型:探索型、实验型、进化型。探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。在使用原型化方法时有两种不同的策略:废弃策略、追加策略。废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整、准确、一致、可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。追加策略:先构造一个功能简单而且质量要求不高

需求分析应包括哪些内容

需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段包括:

1业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。

2·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。

3·功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。

4·非功能性的需求——描述了系统展现给用户的行为和执行的 *** 作等,它包括产品必须遵从的标准、规范和约束, *** 作界面的具体细节和构造上的限制。

5·需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。

软件测试需求分析的主要步骤是什么

软件测试就是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生命周期中横跨两个阶段:通常在编写出每一个模块之后就需要对它做必要的测试(称为单元测试)。编码和单元测试属于软件生命周期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,如集成测试、系统测试、性能测试和配置测试等,这是软件生命周期的另一个独立阶段,即测试阶段。软件测试的目的:1、测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行;2、好的测试用例在于发现至今未发现的错误;3、成功的测试是发现了至今未发现的错误的测试;4、好的测试工程师应该做到不仅发现问题,还能够帮助开发人员分析问题;软件测试的原则:1、应把“尽早和不断地进行软件测试”作为软件开发者的座右铭,实践证明单元测试能够尽早发现问题,减少后期测试的错误量。可以采用Junit和Jtest来辅助进行单元测试。2、测试用例应由测试输入数据、测试执行步骤和与之对应的预期输出结果三部分组成。3、应当避免由程序员检查自己的程序。(指后期系统测试阶段,不包括单元测试)4、测试用例的设计要确保能覆盖所有可能路径。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理的输入条件是指异常的,临界的,可能引起问题的输入条件。5、充分注意测试中的群集现象。经验表明,测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成正比。应该对错误群集的程序段进行重点测试。6、严格执行测试计划,排除测试的随意性。测试计划应包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测试工具,测试用例的选择,测试的控制方法和过程,系统的配置方式,跟踪规则,调试规则,以及回归测试的规定等等以及评价标准。7、应当对每一个测试结果做全面的检查。8、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。软件测试的对象:软件测试并不单纯等同于程序测试。软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试(评审)的对象。在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来 希望对你有用

如何进行软件需求分析

1概念

需求的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求

关键的问题是一定要编写需求文档我曾经目睹过一个项目中途更换了所有的开发者,客户被迫与新的需求分析者坐到一起系统的分析人员说:"我们想与你谈谈你的需求"客户的第一反应便是:"我已经将我的要求都告诉你们前任了,现在我要的就是给我编一个系统"

百事通

而实际上,UGGs,需求并未编写成文档,因此新的分析人员不得不从头做起所以如果只有一堆邮件、会谈记录或一些零碎的未整理的对话,你就确信你已明白用户的需求,那完全是自欺欺人

需求的另外一种定义认为需求是"用户所需要的并能触发一个程序或系统开发工作的说明"有些需求分析专家拓展了这个概念:"从系统外部能发现系统所具有的满足于用户的特点、功能及属性等"这些定义强调的是产品是什么样的,而并非产品是怎样设计、构造的而下面的定义则从用户需要进一步转移到了系统特性:

需求是指明必须实现什么的规格说明它描述了系统的行为、特性或属性,是在开发过程中对系统的约束

从上面这些不同形式的定义不难发现:并没有一个清晰、毫无二义性的"需求"术语存在,真正的"需求"实际上在人们的脑海中,这个人们主要是指客户,但一般情况下,用户并不能描述自己的需要,只就需要系统分析人员根据用户的自己语言的描述整理出相关的需要再进一步和客户核对系统分析员和客户需要确保所有项目风险承担者在描述需求的那些名词的理解上务必达成共识

任何文档形式的需求(例如如下将要描述的需求规格说明书)仅是一个模型,一种描述

2需求分析的任务

开发软件系统最为困难的部分就是准确说明开发什么最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难

目前,国内产品的庞杂,一家企业可能有几个系统并立运行,它们之间接口是系统开发人员最头痛的问题

对于商业最终用户应用程序,企业信息系统和软件作为一个大系统的一部分的产品是显而易见的但是对于我们开发人员来说,并没有编写出客户认可的需求文档,我们如何知道项目于何时结束而如果我们不知道什么对客户来说是重要的,那我们又如何能使客户感到满意呢

然而,即便并非出于商业目的的软件需求也是必须的例如库、组件和工具这些供开发小组内部使用的软件当然你可能偶尔勿需文档说明就能与其他人意见较为一致,但更常见的是出现重复返工这种不可避免的后果,而重新编制代码的代价远远超过重写一份需求文档的代价,这些血的教训正在国内的软件开发者身上发生

近来,我遇到一个开发小组开发包括代码编辑器在内的一套内部使用的计算机辅助软件不幸的是,当他们开发完这个工具后,发现这个工具不能打印出源代码文件,使用者当然希望有这个功能结果这个小组只好手工抄写源代码文档以供代码检查这说明那怕需求明确无误并构思准确,如果我们没有编写文档,软件达不到期望目标也只能是咎由自取了

相反的情况,我曾见一个要集成到"错误跟踪系统"中的简单界面写了一页需求说明而 *** 作系统系统管理员在为处理脚本时发现简单的一张需求清单竟是如此有用他们依据需求对系统进行测试时,此系统不仅非常清晰地实现了所有必需功能,而且未发现任何错误

事实上,需求文档在开发过程中一直起指导作用

3需求分析过程

需求分析的作用及如何进行需求分析

通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。

需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。

需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视。后来软件开发引入了生命周期的概念,需求分析成为其第一阶段。随着软件系统规模的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。人们逐渐认识到需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。80年代中期,形成了软件工程的子领域——需求工程(requirementengineering,RE)。进入90年代以来,需求工程成为研究的热点之一。从1993年起每两年举办一次需求工程国际研讨会(ISRE),自1994年起每两年举办一次需求工程国际会议(ICRE),在1996年Springer-Verlag发行了一新的刊物——《RequirementsEngineering》。一些关于需求工程的工作小组也相继成立,如欧洲的RENOIR(RequirementsEngineeringNetworkofInternationalCooperatingResearchGroups),并开始开展工作。需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。RE可分为系统需求工程(如果是针对由软硬件共同组成的整个系统)和软件需求工程(如果仅是专门针对纯软件部分)。软件需求工程是一门分析并记录软件需求的学科,它把系统需求分解成一些主要的子系统和任务,把这些子系统或任务分配给软件,并通过一系列重复的分析、设计、比较研究、原型开发过程把这些系统需求转换成软件的需求描述和一些性能参数。

需求工程是一个不断反复的需求定义、文档记录、需求演进的过程,并最终在验证的基础上冻结需求。80年代,HerbKrasner定义了需求工程的五阶段生命周期:需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求演进管理。近来,MatthiasJarke和KlausPohl提出了三阶段周期的说法:获取、表示和验证。

综合了几种观点,可以把需求工程的活动划分为以下5个独立的阶段:

(1)需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求;

(2)需求建模:为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义;

(3)形成需求规格:生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约;

(4)需求验证:以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性;

(5)需求管理:支持系统的需求演进,如需求变化和可跟踪性问题。

系统开发过程中,需求分析的步骤是什么?

⑴首先调查组织机构情况

包括了解该组织的部门组成情况,各部门的职能等,为分析信息流程作准备。

⑵然后调查各部门的业务活动情况

包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么。

⑶协助用户明确对新系统的各种要求

包括信息要求、处理要求、完全性与完整性要求。

⑷确定新系统的边界

确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。

⑸分析系统功能

⑹分析系统数据

⑺编写分析报告

基于用例的需求分析过程包括哪些步骤

基于用例的需求分析需我帮助否?

以上就是关于成都工业学院软件工程专业怎么样全部的内容,包括:成都工业学院软件工程专业怎么样、什么才是软件工程、软件开发需要具备什么条件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10160120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存