软件工程师可行性和需求分析报告

软件工程师可行性与需求分析报告

一、职业目标与内容

职业定义

软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。主要工作进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。一般可以分为系统软件工程师,应用软件工程师两类。在企业中职位一般分为以下四种人:

1、企业信息化管理:负责信息化建设中的目标与方案决策,信息化建设、升级、更新;

2、工程技术人员:负责软件系统的分析、设计、开发、数据库、使用、维护和升级;

3、运行维护岗位:负责软件开发代码的编写以及基本的开发和测试;

4、操作应用人员:主要应用软件进行日常的管理工作。

工作内容

1、 按照客户需求和市场需求进行设计、开发相应软件产品。

2、 根据工作的进度和编程工作规范编写系统中的功能模块。

3、 对编写的所有程序进行严格的测试。

4、 对软件实施测试方案,从而进行软件故障的诊断、定位、分析和调试。

5、 编写软件产品实施文档,并管理相关软件文档。

6、 对业务部门提供相应的软件技术支持。

7、 参加各种相关软件应用培训课程。

二、 职业可行性分析

1、社会可行性

目前国内软件测试工程师的来源主要有三方面:一是以前专业做软件开发的人员后来转行做软件测试,二是从大学招聘的本科或者研究生,三就是通过培训机构招聘的专业学员。据了解,在国外测试人才的供应方式多以第三种为主,而国内目前除少数培训机构外尚未形成足够的人才供应规模。以北京中关村为例,现有软件企业5000多家,仅对日本软件外包领域的人才缺口就高达5000人,而对美软件外包人才缺口更大,可供量不足10%。中关村一位负责人介绍,未来5年北京将有至少200亿美元的外包订单,由此可推算出中关村将出现100万的软件人才缺口。巨大的产业前景和匮乏的人才现状,使越来越多的IT企业关注软件测试人才的储备工作。

软件和信息服务外包产业已成为各个国家经济发展的重点。 从增加值角度来看, 同样金额的出口, 服务外包对中国经济的贡献是来料加工的20倍以上; 从能源消耗上看, 服务外包单位GDP能耗仅为制造业的20%。据调查研究显示,当前中国软件和

信息服务外包产业人才流动率较高,而且缺口很大。 企业成立时间比较短,规模大多

比较小, 企业人才平均流动率达18.28%, 这和缺乏培训、业务来源不稳定、报酬机

制不够合理等因素有关。 同时由于产业发展迅速,人才供不应求,尤其是本地化人才

和中高级管理人才。

市场需求的巨大和专业人才的缺乏令人吃惊,这正是商机和盈利的重要突破口。可

以预见,中国软件和信息服务外包产业将在不久的将来成为引领中国第三产业转型和发

展的龙头产业,相关职业包含高级软件工程师的人才需求将会非常巨大。

2、 经济可行性

软件开发、网络维护等职业技能要求较高的职位薪酬也相对较高,目前在软件行业

内部,能够进行软件整体开发设计的软件设计人员比较稀缺。虽然软件从业人员的薪水

一路看涨,但是职位的争夺也异常激烈。

据调查得知,一般的程序员在开始试用时会有2500到4000那样子,转正以

后至少也有5000元以上,做到项目开发经理了年薪至少在10万以上,做到高级

工程师了年薪可能达到100万以上。软件工程师是一项高端技术性的工作,所以工作年限、学历、等因素对薪酬有很大的影响,除此之外,职位、工作地域对薪酬也有一定的影响。专科学历平均年薪为2.5~3.5万元,本科为3.5~4.5万元,硕士以上学历

可达7万元左右。

3、 技术可行性

想成为一名正式的软件工程师,仅仅依靠在学校所学的C++、C#、JAVA以及数据库

和网络应用的知识,是远远不够的。由于Java和.NET技术在市场上平分秋色,都有

大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越少;在

未来的学习中,我应该更加了解JAVA和C#语言开发,考取相应的证书。并在之

后的工作中边学习边掌握更多的编程语言,向一个全面的软件工程师进行发展。

三、 职业需求分析

实现目标所需的技术和职业素质

1、 软件编程技术

软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都

拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的

程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。

2、 测试软件技术

测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。

测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基

础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

3、 数据库应用

数据库在当今的信息外包产业是很重要的。很多应用程序都是以数据库的数据为中

心, 而数据库的产品也有不少, 其中关系型数据库仍是主流形式, 所以作为高级软件工程师而言, 至少熟练掌握一两种数据库, 对关系型数据库的关键元素非常清楚, 测试人员至少应该掌握MySql、MS SqlServer、Oracle等常见数据库的使用。

4、 网络协议TCP/IP

在互联网如此普及的今天, 如果还没有对互联网的支撑协议TCP/IP协议栈有很好

的掌握就很难在IT业立足. 从最早的客户/服务器结构, 到今天的WEB Services, 这一切都离不开以TCP/IP协议栈为基础的网络协议支持, 所以, 深入掌握TCP/IP协议是非常必要的。

5、 计算机专业英语

随着中国的信息外包产业逐步展开, IT业急需与国外相关高新技术接轨来保持在

发展上不落人后。于是IT业相关从业人员现有的英语水平成为限制中国信息产业与国外交流的瓶颈。一个普遍的共识是:良好的英语交流和阅读能力成为衡量一个软件工程师水平的隐性标准,所以掌握计算机专业英语是很重要的。

6、 强烈的好奇心和学习精神

对于一个立志成为高级软件工程师的人, 最重要的其实是强烈的好奇心和学习精

神。 没有比强烈的好奇心和学习精神更好的武器了, 它是成功的工程师乃至在各行各业的成功者们永攀高峰的源泉和动力所在。

软件和硬件上的条件需求

1、 程序语言环境

具备C/C++,VB,VC,Java,.net,ASP,Javascript等语言。具体要求要视公司

的具体项目或产品来定。但一般以C为基本要求。

2、 数据库操作

SQLServer,Oracle,Mysql,Sybase等。一般对测试人员的要求就是要求会使用,

然后熟练使用SQL语句进行查询,修改,添加,删除数据操作。

3、 主流操作系统使用

熟悉Windows系列,Linux,Mac OS X系统的使用和操作

4、 自动化测试工具应用和理解

好多人觉得自动化测试就是使用自动化测试工具,其实各种工具只是自动化测试实

施的一个有效利器,如何建立一个脱离工具的自动化测试框架远远比研究如何使用测试工具复杂,困难的多。

自动化测试工具的使用:

自动化测试框架(流程)

GUI的功能测试自动化

非GUI的功能测试自动化

性能测试(广义的和狭义的性能测试)

自动化测试工具(功能测试工具,性能测试工具,缺陷管理工具,测试管理工具)

5、 文档编写能力

熟悉编写项目实训的测试计划,测试用例,测试报告等相关文档的编写格式。

6、语言

掌握中文和英文,考取英语四级以及六级证书。熟悉计算机专业的英语术语。

7、 硬件需求

熟悉企业服务器、个人台式机、笔记本电脑、平板电脑等使用方法,了解其基本硬

件结构以及运行原理。

自我分析和职业规划

自我分析:

我的性格是比较诚实、正直的,相对谦虚但不乏张狂,在做事情时认真勤奋责任心强,同时有一定的创新意识。在自己的生活与同学及其他人的交往中是比较大方的。

在能力上,我认为我的智力还是中等偏上的,在注意力上比较集中,善于观察,记忆力

较强,思维比较开阔,想象力较强。在特殊能力,也就是我的特长上,我认为自己并没有什么特长,只是自己的兴趣所到对一些东西投入了,或许会做的较好一点,比如:计算机的掌握与控制,计算能力等,在语言表达能力及动作协调能力上我做的还不是很好,空间判断能力也不是很突出。

工作、学习中我能做到耐心解决每个问题,但是不够细心,容易忽略一些细节。和团队

队员有很好的沟通,有着优秀的学习能力,积极完成各种任务。上进心强,永不满足现状,不断追求各种新的技术。

职业规划:

1、 大学时间提高自我水平

要成为一个软件工程师,所需要的不只是扎实的开发能力,对软件开发的掌控能

力,还有的是沟通和团队合作能力,就目前的软件工程而已,个人能力已经微乎其微了,一个大型的软件,需要数十人,甚至上百人同时进行开发,所以沟通很重要。大学就是培养自身沟通能力与专业能力的最好平台。

大学四年首先要取得必要的证书来证实自己的实力,例如:取得学士学位证书,,

英语四级证书,计算机三级证书;取得专业资格证书等。另外还要提高自己的综合能力,

例如:提高独立面对、解决问题的能力,提高语言组织沟通能力、专业技能、面试技巧。

大学也是一个小的社会,而人本身就是社会最小的组成单位。所以我需要了解社

会所需要的。让自己去适应社会。才能发展自身的目标。从事自己专业的工作,对软件工程有更为深刻的理解。累积实践经验,甚至是为自己实现愿望提供必要的物质基础。所以我需要一边工作一边学习。

2、 进入社会工作

第一阶段:(测试员)初级测试工程师(初出校门)

自身条件:初入具备计算机专业学位,有一些手工测试经验。

具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。

学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。

第二阶段:(测试工程师)程序分析员(1-2年)

自身条件:有1~2年工作经验。具有初步的自动化测试能力,完善自动化测试脚本。

具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。

学习方向:拓展编程语言、操作系统、网络与数据库方面的技能。

第三阶段:(高级测试工程师)程序分析员(3—4)

自身条件:有3~4年经验。具有一定的行业业务知识,储备系统分析员的能力。 具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审 (软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。

学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。

第四阶段:测试组负责人(4-6)

自身条件:有4~6年经验。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。

具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队 提供bug解决策略。

学习方向:性能测试,测试技能

第五阶段:(资深安全或性能测试工程师)测试/编程高级负责人(6-10)

自身条件:有6~xx年经验的测试工程师或程序员。

具体工作:负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等,分析系统的安全漏 洞等。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。

学习方向:开发一些特定领域的技术专长

第六阶段:测试/质量保证/开发(项目)、经理

自身条件:有10多年的工作经验。(xx年及之后)

具体工作:管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。为一些用户提供交互和 大量演示。负责项目成本、进度安排、计划和人员分工

第七阶段:(公司级质量总监)计划经理

自身条件:有xx年以上开发与支持(测试/质量保证)活动方面的经验。

具体工作:管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任

 

第二篇:软件工程师职业发展的可行性与需求分析

软件工程师职业可行性与需求分析报告

职业定义

软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。一般可以分为系统软件工程师,应用软件工程师两类

工作内容

1、根据客户要求或市场要求设计、开发软件产品。

2、按照工作进度和编程工作规范编写系统中的功能模块或程序。

3、对所编写的程序进行严格的综合测试,测试软件模块和软件集成产品。

4、进行软件故障的诊断、定位、分析和调试,以实施产品测试方案。

5、编写软件产品文档以实施软件文档计划,管理相关软件文档。

6、向业务部门提供软件的后期技术支持。

7、通过设计、开发和维护指定产品中的高质量代码,与团队协作评估和了解新技术,并使用这些技术构建应用程序。

8、参与相关软件应用培训课程的设计及培训。

1 引言

1.1 编写目的

为更好指导个人以后就业已经职业发展明确目的。

1.2 背景

说明:

A.在大学时期指导需要学习技能

B.为以后工作提供明确的指导方向

2 社会可行性

计算机技术的快速发展史得软件产品已融入国民经济的各个领域,优秀的IT技术人才是当前职场中最热门的“抢手货”。我国IT业在经历了20xx年整体回暖后,20xx年又开始进入市场细分期。软件工程师也是IT行业需求量最大的职位,稳居IT行业职位需求TOP 10的第一位,而高及工程师则位列第二。

软件和信息服务外包产业已成为各个国家经济发展的重点. 从增加值角度来看, 同样金额的出口, 服务外包对中国经济的贡献是来料加工的20倍以上; 从能源消耗上看, 服务外包单位GDP能耗仅为制造业的20%. 这在中国政府大力倡导可持续发展战略以及大力发展高技术第三产业的主旋律下是适应中国经济发展, 也是符合中国社会客观需求的. 可以看到的是, 未来中国软件和信息服务外包产业发展空间巨大, 其原因有三: 首先是具有成本优势, 中国低成本的竞争优势是全世界公认的. 第二, 具有人力资源优势, 中国是世界上人力资源极为丰富的国家, 软件和信息服务外包服务业是劳动密集型产业, 中国未来在软件和信息服务外包

业内将成为全球最具竞争力的转移承接地. 第三, 中国有非常庞大的国内市场, 这是中国吸引跨国公司进入很重要的一个原因.

但与发展潜力不对称的是, 现今中国软件和信息产业人才相当缺乏,据调查研究显示, 当前中国软件和信息服务外包产业人才流动率较高, 而且缺口很大. 企业成立时间比较短, 规模大多比较小, 企业人才平均流动率达18.28%, 这和缺乏培训、业务来源不稳定、报酬机制不够合理等因素有关. 同时由于产业发展迅速, 人才供不应求, 尤其是本地化人才和中高级管理人才.

市场需求的巨大和专业人才的缺乏令人吃惊,但这正是商机和盈利的重要突破口. 可以预见,中国软件和信息服务外包产业将在不久的将来成为引领中国第三产业转型和发展的龙头产业, 相关职业包含高级软件工程师的人才需求将会非常巨大

随着IT产品出现的技术融合,掌握更多的编程语言、熟悉客户语言和文化背景、精通国际规则、具有国际市场开拓能力的高端软件工程师、复合型软件人才将是职场中的宠儿。

3 经济可行性

IT界,薪酬相对较高的就是软件开发、网络维护等对IT技能要求相对较高的职位,目前在软件行业内部,能够进行软件整体开发设计的软件设计人员比较稀缺。虽然软件从业人员的薪水一路看涨,但是职位的争夺也异常激烈。20xx年x月,智联招聘的调查统计数据显示,软件工程师求职与招聘人数的比例达到了15.4:1。

作为一名刚刚毕业的大学生,也只是一个编程人员而已,毕业后刚开始薪水可能只有20xx元,当能力达到一定的水准后,即经验积累到一定的程度,一般程序员做了两年之后,月薪都会成倍的增长,6000元,8000元,10000元。

而成为软件工程师后的平均工资在5000~120xx元之间。软件工程师是一项高端技术性的工作,所以工作年限、学历、等因素对薪酬有很大的影响,除此之外,职位、工作地域对薪酬也有一定的影响。专科学历平均年薪为2.5~3.5万元,本科为3.5~4.5万元,硕士以上学历可达7万元左右。通常一名高级软件工程师的年薪在11万元左右,而项目经理的年薪则可以高达30万之多。

4 技术可行性

以目前个人的专业技能来说,我所具备的JAVA,C#,数据库知识,还不足以使我成为一名软件工程师。所以我以后的学习工作生涯中必须不断累积自身的知识及开发经验,通过自身与他人的知识总结不断提高自己,在未来的一年中,学习JAVA知识并考取SCJP证书,完成人生的第一个软件技术人的证明。然后边工作边学习软件知识,通过考证提高自己的职场竞争力,以自己的工作经验为基础一步步实现自己的目标

5 完成目标所应具备的技术及素质

1.编程开发工具.

至少熟练掌握两到三种开发工具的使用, 这是程序员的立身之本。 C/C++以其高效率和高度的灵活性成为开发工具中的利器, 很多系统级的软件还是用C/C++编写. 而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在。其次, 如果能掌握一种简便的可视化开发工具, 如VB,PowerBuilder,Delphi,C++ Builder,则更好, 这些开发工具减小了开发难度, 并能够在无形中强化对象模型的概念.另外, 需要掌握基本的脚本语言, 如shell,perl等。

2.数据库.

数据库在当今的信息外包产业是很重要的。很多应用程序都是以数据库的数据为中心, 而数据库的产品也有不少, 其中关系型数据库仍是主流形式, 所以作为高级软件工程师而言, 至少熟练掌握一两种数据库, 对关系型数据库的关键元素非常清楚, 熟练掌握SQL的基本语法是非常重要的。

3.网络协议TCP/IP.

在互联网如此普及的今天, 如果还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握就很难在IT业立足. 从最早的客户/服务器结构, 到今天的WEB Services, 这一切都离不开以TCP/IP协议栈为基础的网络协议支持, 所以, 深入掌握TCP/IP协议是非常必要的。

4.软件工程与CMM.

现代大型软件系统的开发中, 工程化的开发控制成为软件系统成功的保证。 编程只是软件生命周期中的其中一环, 本人认为优秀的软件工程师应该掌握软件开发各个阶段的基本技能, 如市场分析, 可行性分析, 需求分析, 结构设计, 详细设计, 软件测试等. 否则就永远只会是一个程序员, 而无法成为名副其实的工程师。

5.计算机技术专业英语

随着中国的信息外包产业逐步展开, IT业急需与国外相关高新技术接轨来保持在发展上不落人后。于是IT业相关从业人员现有的英语水平成为限制中国信息产业与国外交流的瓶颈。一个普遍的共识是:良好的英语交流和阅读能力成为衡量一个软件工程师水平的隐性标准,所以掌握计算机专业英语是很重要的。

6.强烈的好奇心和学习精神.

对于一个立志成为高级软件工程师的人, 最重要的其实是强烈的好奇心和学习精神。 没有比强烈的好奇心和学习精神更好的武器了, 它是成功的工程师乃至在各行各业的成功者们永攀高峰的源泉和动力所在。

6 具体实现方法

1.利用大学时间充实自己.

知识积累:取得学位证书,计算机三级证书;取得专业资格证书,如SCCP

综合能力;提高独立面对、解决问题的能力,提高语言组织沟通能力、专业技能、面试技巧。

一个软件工程师,所需要的不只是扎实的开发能力,对软件开发的掌控能力,还有的是沟通和团队合作能力,就目前的软件工程而已,个人能力已经微乎其微了,一个大型的软件,需要数十人,甚至上百人同时进行开发,所以沟通很重要。大学就是培养自身沟通能力与专业能力的最好平台。

然而,只要是人都离不开社会,人本身就是社会最小的组成单位。所以我们需要了解社会所需要的。然自己去适应社会。才能发展自身的目标。从事自己专业的工作,对软件工程有更为深刻的理解。累积实践经验,甚至是为自己实现愿望提供必要的物质基础。所以我需要一边工作一边学习。

2.熟悉网络信息,使自己时刻保持在最前端。

现在中国政府正在大力支持中国软件行业的发展,经过了系统化体系培训的软件人才更容易走向国际化,也更受国内大中型规模软件公司的欢迎(200人-几千人)。软件工程师城市之间差异比较大,国外软件工程师绝对不是青春饭,但在中国情况不一样。如果一直走技术路线而且一直在国内民营企业做,那么基本上就是青春饭了。如果能够从技术转管理或者转咨询那就当然不是了,尤其是在跨国公司有过项目管理经验的话还是很吃香的。

软件工程人才的就业前景十分看好。未来几年,国内外高层次软件人才将供不应求。毕

业生主要在各大软件公司、企事业单位、高等院校、各大研究所、国防等重要部门从事软件设计、开发、应用与研究工作。有数据表明,我国软件出口规模达到215亿元,软件从业人员达到72万人,在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。

信息化是IT界的焦点。而信息化的实现,除了需要技术支持,人才也是很重要的环节。如何培养与国际接轨的高素质软件工程人才,已经成为中国软件产业的当务之急。

软件产业的发展水平,决定了一个国家的信息产业发展水平及其在国际市场上的综合竞争力。目前,我国软件高级人才的短缺已经成为制约我国软件产业快速发展的一个瓶颈。在中国,国内市场对软件人才的需求每年高达80万人,而高校计算机毕业生中的软件工程人才还很缺乏,尤其是高素质的软件工程人才的极度短缺。尽快培养起适合信息产业所需要的高素质软件工程人才,已经成为信息化工作中的重中之重。

3.制定学习计划,强化自身知识水平,无论是工作还是在校时间。

初入阶段 (工作后3个月~1年)

对于刚刚入行的新人,这个时期是一个全面熟悉期,最能够学习到新的知识,也最有拼搏的热情和动力。借着这股冲劲,我需要尽可能了解所在领域的全貌,了解各个主要分支的内容、特性、优势、局限性等等,并考察自己当前的工作环境,结合个人匹配程度和兴趣爱好,根据前述内容调整自己的规划。

对于开发语言行当而言,技术方面一般有几类:JAVA,.net,C++,等;

面对上述形形色色的方向,要都稍稍了解下内涵,然后确定1~2个,作为中长期的主攻方向,达此标准,基本已经实现了入门,至于能否进得厅堂,就要看后期的努力了。 提高阶段(工作后3年~5年)

对于工作后选择管理还是选择技术,其实这种问题,是无可无不可的,关键是看对自己的长期的定位了。不过,我个人建议当前阶段还是技术为重吧。毕竟,在一个技术环境中,要做好管理,没有扎实的基础,也难服众嘛。

本阶段是人最容易懈怠的阶段。毕竟,刚刚入行的热忱早已被日复一日的繁复工作给冷却,有了一定的工作经验,胜任本职,对于大多数人而言,绝不是问题。家庭、娱乐方面开始占据了业余生活的主流。可是,毕竟大家还很年轻,大多数人此时也不过20多岁,就此懈怠也是非常可怕的。因此,有规划的提高自身核心竞争力,在这个时候尤为关键。

提高是要提高的,但是对于大多数人而言,也没有必要很拼搏,此时处在一个比较稳定的职位上的,我觉得应该考虑进行细化自己的中期规划了。根据选定的方向,制定一个自我提升的计划,并定义好自我检查的里程碑(譬如:每个季度或半年算一个阶段),每天或者每周,有规律的学习一点即可。抱定一个目标——“每天进步一点点”,几年一大成不是问题。 我个人是反对急功近利的,倾向于稳打稳扎,这个阶段忌做“万金油”,而应努力成为有一技之长的“专家”。

对于选择做技术的人而言,这个阶段的达成标准,一般至少要能够熟悉你所选技术方向的大多数技术细节,“细节决定成败”嘛,虽然把握全局的能力是必要的,但是作技术而言,倘若不能钻的很细很深,恐怕也很难以高手自居吧。

对于选择做管理的人而言,我个人倾向是:此阶段接触管理的理念,并可以介入管理,但是此阶段不宜全面进入管理(除非你有更深层次的考虑,可以不去稳打稳扎)。学习管理的理念是非常重要的,其实管理更多一种思维和做事的方式,这门学问很深入,也不像技术,会不会是那么的显著,因此,建议多看多学,取长补短,并努力形成自己的做事风格。高级软件测试工程师,测试组长等,都是不错的含有技术特征的管理职位,此时的你应该能够胜任于此。

这个阶段的达成后,你也可以跻身老手行列,不必为求职犯愁,你应该可以很容易跳槽

或时不时被猎头骚扰下,达成此阶段,你要做更深入的规划。

升华阶段(老手后5年~xx年)

此时的我,即将步入中年,不论是曾经专注技术还是偏爱管理的,都面临着家庭和社会的双重压力,都不可能像年轻人一样整天拼搏了,我需要稳定,因此,不能频繁的跳槽,应考虑比较正规且有潜力的企业,要考虑给自己一个长远的发展规划。

正因为有前期的细节的背景的支撑,此时,我需要努力提升自己的宏观把握能力。哪怕做技术的,也要考虑适当的转型管理(中国特色是:工程师很难超过35岁的,一般人到了30岁不是转管理就是转商务了)。当然,一般人是技术做得越好,管理的时候,越容易切中项目要害。但是,对于从技术上来的人,关键是要开始培养和人打交道的能力。此阶段的关键是,需要逐步形成自己的管理风格,具备协调并行事务的能力。

当然,纯管理和技术型管理还是有所区别的。对于纯管理的人,熟练应用管理的科学理念,形成自己的风格尤为重要。纯管理的测试经理人,不仅仅可以做好测试方面的管理,其实也可以做好项目甚至其他的管理。其实,不管管理的对象是什么,它们的管理理念还是相通的。从测试管理中摸索出来的很多经验,可以很好的推广于其他的管理领域。而对于技术型管理的人,主要是带好技术团队,同时,不断补充新的技术知识,跟紧技术潮流。此时的你,有强大的技术背景支撑,不需要过分钻研细节,只需洞察核心,合理安排好你的团队成员即可。

这个阶段,也可能少数的人会选择离开具体的企业,而开始从事测试咨询,那是一个充满挑战的崭新开始,也必须有前期的积累方能胜任。

对于大多数人而言,此阶段中一个需要重点考虑的问题是,是否将测试作为自己的终生职位,如果是,基本上达到上述的目标,保持状态,基本可以做到退休的。毕竟,达到此阶段,已经付出了至少5年的努力,而且还是人生的黄金时段,时光一去不复返啊。

 

第三篇:软件工程 需求分析报告

    文档编号:001

版本号:1.0

文档名称:需求分析

项目名称:学生智能管理系统

项目负责人: 

                                                       

             项目组长:  

             组    员:  

                                  

                 开发单位:西邮07级科技1班软件开发小组

一、引言:

1、编写目的:

 对庞大的信息随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时也可以方便学生对信息的获取。

 学生信息系统也是实现学校管理现代化和信息化的重要内容。因此,学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,并且,面对学生生活的不断丰富化,各种小方面管理软件的泛滥,身为学生以及考虑学校本身管理的多方面的统一。本小组所开发系统是基于C/S结构,使用 Visual Basic程序设计语言及SQLServer2000数据库进行设计与开发。

  本系统针对软件界面的人性化,生活化,做了突破性的工作,以及多项管理功能的集成上作了初步的拓展,目的在于使管理者和访问者易于甚至乐于接受,并提出学校管理系统的一体化概念,使学校的管理更有效率。 

2、编写背景:

   系统待开发的名称:学生智能管理系统

   项目组长: 

程序录入: 

需求分析: 

软件测试: 

   本系统的用户:学生,老师,管理员

3、定义:

  (1)静态数据:系统内部有关的数据结构和操作规程

  (2)动态数据 :程序运行时输入和输出的数据

  (3)数据字典: 数据字典(DD, Data  Dictionary)是关于数据流

                  程图中出现的所有名字(数据流、处理、数据存储)   

                  的定义的集合。

4、参考资料:

 [1]张向宏.软件生命周期质量保证与测试.北京:电子工业出版

    社.2009

 [2]张海藩.软件工程导论.北京:清华大学出版社. 20##

 [3]张焕君.基于VB和SQL的数据库编程技术.北京:清华大学出版

社.2008

二:任务概述:

1、目标:

 (1)给出软件系统的数据流程图和数据结构。

 (2)提出详细的功能说明,确定设计限定条件,规定性能需求。

 (3)密切与用户的联系,使用户明确自己的任务,以便实现上述两项 

      目标。

 (4)以最低的成本,在最短的期限内开发出具有管理学生和学生信息

      功能的智能管理系统。 (包括:人力与设备费用的节省;处理速

      度的提高;人员工作效率的提高)

2、用户特点:

本系统所面向的用户是大学学生和教师,对用户计算机专业方面的知识要求不是很高,只要对电脑能熟练操作就ok。易于操作,这也是本软件设计的一大目标。

3、条件与限制:

 (1)建议该系统运行的最短寿命为5年;

 (2)进行该系统方案选择比较的期限为2个月;

 (3)建议该系统软件投入使用的最迟时间为20##年12月20日;

 (4)该系统要受资金、寿命、社会等系列因素的制约和限制。

 (5)由于系统较小,且在Windows系统开发,故在Windows环境下运

      行没有什么限制。

三:数据描述:

1、静态数据:

    静态数据是系统内部有关的数据结构和操作规程。具体包括:系统用户表格、学生基本信息表格、班级信息表格、课程基本信息表格、年级课程设置信息表格、学生成绩信息表格……

2、动态数据:

    动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元素与属性值,就是学生信息。

3、数据描述:

    根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

    本系统的实体有:学生实体、课程实体、日常工作实体、教师实体。各个实体具体的描述E_R图如下:

   

4、数据字典:

(1)数据流条目—数据流条目给出某个数据流和定义,它通常是列

     出该数据流的各组数据元素。

 该系统的数据流条目:

数据流名:学生

别名    :无

组成    :学号+姓名+性别+个人电话+家庭电话+籍贯+系别+  

              年级+班级+备注

数据流名:教师

别名    :无

组成    :证件号码+姓名+性别+个人电话+系别

数据流名:课程信息

别名    :无

组成    :课程编号+课程名称+课程类型+任课老师+上课时间+课

          时+学分

 数据流名:学生成绩信息

 别名    :无

 组成    :考试编号+学生学号+学生成绩

     数据流名:学生课余活动信息

     别名    :无

     组成    :活动编号+活动名称+活动时间+活动类型+参

                      与院系

(2)数据存储条目—— 对数据存储的定义

     文件名:学生记录

     别名  :学生信息

     简述  :存放所有学生信息

 组成  :学生信息文件={学生基本信息记录}+{学生成绩记录}+{学生 课余活动信息记录}+{学生课程信息记录}

     组织:按学生学号编排

     存取要求:关键字是:学生学号+课程号+活动编号

     查询要求:要求能立即查询

     文件名:教师记录

     别名:教师信息

     简述:存放所有的教师信息

     组成:教师信息文件={教师基本信息记录}

     组织:按教师证件号编排

     存取要求:关键字是:教师证件号 

     查询要求:要求能立即查询

(3)数据项条目——给出某个数据单项的定义,通常是数据项值类型。

    数据项名:学生学号

    别名:无

    取值:8{数字}8

    注释:无

    数据项名:年级

    别名:无

    取值:〔F|M|J|S〕

              F-freshmen, 一年级

              M-sophomore,二年级

              J-junjor,    三年级

              S-senior,    四年级

注释:F,M,J,S可分别用1,2,3,4代替

数据项名:系和班级编号

别名:无

取值:8{数字}8

注释:无

数据项名:课程编号

别名:无

取值:8{数字}8

注释:无

数据项名:活动编号

别名:无

取值:6{数字}6

注释:无

数据项名:考试编号

别名:无

取值:8{数字}8

注释:无

数据项名:教师证号

别名:无

取值:11{数字}11

注释:无

(4)处理说明条目——给出数据流程图中不分解的变换处理说明定义。

     处理名:查阅学生信息库

     激发条件:接受到有效用户名和密码

     优先级:普通

     输入:用户名和密码

     输出:学生信息

     加工逻辑:根据学生信息库记录

     IF输入用户名和密码有效

     THEN显示学生信息

     ELSE请重新输入(最多三次)

     ENDIF

(5)数据流图

                                          

5、数据采集:

系统数据采集是由数据库系统在软件运行期间通过人机界面来提示用户输入的。

四:需求规定:

1、功能需求:

(1)对功能的规定

  1)学生管理功能: a、修改当前登录用户的密码。

                    b、可以浏览,查看,搜索页面信息。

  2)教师管理功能: a、教师可以在线浏览,查看,搜索各类页面。

b、可以在线添加、删除、修改学生各种信息。

c、可以在线通知学生各种消息。

  3)管理员管理功能:a、可以进行学生资料录入

                     b、可以对学生信息查询、修改、删除、添加。

(2)功能描述:

  1)登录功能:验证登录用户是否为数据库中的合法用户,判断登陆

     的用户是一般学生还是教师。一般学生只能实现浏览,查看,搜

     索功能;教师可以查看、修改、添加、删除学生某方面的信息。管理员可以对用户信息进行修改。

  2)主界面功能:可以浏览学生各方面的信息,,还可以进入登陆页面,

     可以查找某个学生信息。

  3)用户管理功能:管理员(即超级用户)可以添加新的用户以及修

     改当前登录用户的密码。也可实现登录用户的重新登录和退出,

     可以修改学生信息。一般学生则可以浏览,搜索,查看各种信息。

2、性能需求:

 (1)对性能的规定

  1)精度:查询时应保证查询率,所有在相应域中包含查询关键字的

           记录都应能查到,同时保证准确率。

   2)时间特性要求:一般操作的响应时间应在1-2秒内。

   3)适应性:满足运行环境在允许操作系统之间的安全转换和与其它

              应用软件的独立运行要求。

   4)灵活性:在需求发生变化时,本系统的对这些变化的适应能力相

              对而言是比较强的,包括操作方式上的变化;运行环境

              的变化;同其他软件的接口的变化;精度和有效时限的

              变化。

 (2)功能结构图

3、运行需求:

 (1)用户界面

      系统运行时主界面大致要求为Windows的经典运行界面,主界面可以是SDI(单文档界面)即每个窗体之间是独立的,也可以是MDI(多文档界面):有一个主窗,可以包含其他窗体。本系统采用多文档界面,这样可以使程序更加美观,整齐有序。

(2)硬件接口

      软件较小除硬盘外,还有DVD光驱,打印机等。

(3)软件接口

      在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口。

 (4)开发环境

   操作系统: WindowsXP或更高

数据库类型:SQL Server 2000

CPU:P2000mmx以上,内存大于64M。

       需要建立WEB服务器

 (5)故障处理

      在用户的输入有错误的情况下,对于用户的输入错误应给出适当

   的改正提示。若运行时遇到不可恢复的系统错误,也必须保证数据库

   完好无损。

4、界面需求:

 ( 1)登录界面:验证登录用户是否为数据库中的合法用户,选择登录

     的用户是一般学生还是教师。一般学生只能实现浏览,查看,搜

     索功能;教师可以查看、修改、添加、删除学生某方面的信息。管理员可以对用户信息进行修改。

 (2)主界面:可以浏览用户各方面的信息,还可以进入登录页面,

     可以查找某个学生信息。

(3)注册界面:用户可以在主界面上选择注册,进入注册界面,填写用户基本信息(名字、班级、年级……)。

5其他需求:

(1)安全保密:增加用户登录验证,确保信息安全性。

(2)可移植性:软件能够安装于windows下的各种流行版本。

相关推荐