想成为软件设计师你要看的书包括:
1:数据结构 目前清华大学严蔚敏老师的数据结构是一个经典.可能的话,再搜罗其他版本的教程,这样可以互相印证.
2:操作系统(第三版),主要从资源管理的角度来分析系统功能的实现。假设你要设计一个新的操作系统,如何实现它?操作系统理论就是向读者逐步介绍和解释。重点是五大管理职能的实现及其原理。
3:计算机网络(第三版),要学习ISO/OSIRM七层的划分以及各种协议的功能。传输理论、互联设备、Internet知识,和参考模型理论.
4:计算机专业英语,不是软件考试特有的,是专业知识+英语水平,考前不需专业准备,平时有意识地上网读点英文专业资料.
5:软件工程(第二版) 要熟悉数据流图和流程图
6:数据库理论.这要求熟悉SQL的语言.
7:C语言或者VB语言应该掌握
最后要学习统一建模语言UML,它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。
计算机学习要经历一个从理论———实践———理论的认识不断深化的过程,这一过程是非常艰辛的.但是要相信“天道酬勤”的道理,你最终会成为一名优秀的软件设计师的~~祝你成功
第一阶段课程内容 序号 课程名称 主要内容 参考资料 课时 ① 编成基础 计算机硬件,软件简介,可视化编成 20课时 ② Java基础 面向对象编程,JAVA开发环境,JAVA语法,异常处理,集合框架,数据结构,I/O输入输出流,JDBC,线程,jdk新特性。 Java就业培训教程.pdf 80课时 ③ XHTML HTML4.0 XHTML1.0 HTML完全手册.chm 20课时 ④ Javascript+css 客户端脚本语言 jscript中文参考手册.chm css2.0.chm 20课时 开发工具 MYECLIPSE插件,TOMCAT,ANT, Websphere, resin ⑤ JSP动态网站 servlet ,JSP运行原理,JSP语法,HTTP协议,JSP内置对象,COOKIE,JDBC。案例:(购物车,聊天室程序,通讯录,留言板)。 80课时 ⑥ JSTL标签库 JSTL标签库,自定义标签库。 20课时 ⑦ B/S软件架构 JSP+Servlet+JavaBean+JDBC(MVC架构) 20课时 ⑧ 数据库原理 数据库系统简介,数据库原理 数据库操作,sql语句,范式,关系,约束,存储过程,触发器,事务。 20课时 ⑨ 软件工程( 组件化) 软件需求分析,软件数据建模,软件架构设计,软件开发规范,原形+迭代开发模式,软件架构分析。 20课时 10 项目实践 常用组件详细讲解,上传文件组件,分页组件,主键生成组件,权限处理,考试管理系统,小型论坛,网上书店管理,等电子商务系统。 20课时 软件工程概论 简介, 开发模式,CMMI 12课时 项目管理 项目计划(项目的整体时间,人员安排,阶段性工作内容),任务跟踪。 需求分析 需求管理与配置管理:需求调研,分析,系统范围配置标识,版本控制,配置审核(VSS,CVS),实际项目需求数据建模PowerDesigner 业务建模rose2007(类的关系)。拓展:svn 40课时 软件测试概论 1.测试基础(概述,角色,测试所需条件) 2.测试目的以及原则 3.测试分类 4.测试方法 5.静态白盒测试,静态黑盒测试,动态白盒测试,动态黑盒测试 6.测试计划,测试用例 7.需求评审 8.原型评审,设计评审 9.实际项目需求评审 10. bug管理工具 28课时 Web2.0 Flex(语法,控件应用,远程方法访问) AJAX。拓展:dwr深层研究 40课时 原型开发 原型设计规范 软件设计 数据库设计 概要设计 架构设计 详细设计 设计评审 面向对象设计 20课时 XML 扩展的标记语言,XML, XSLT,DTD,SAX,DOM, JDOM等解析 20课时 STRUTS2 过滤器,Struts1,Struts2高级部分(标签库,验证框架,拦截器,源码分析,连接池,国际化,插件安装),AOP基础,JNDI。拓展:JSF, Tapestry,velocity 40课时 Spring IOC,JDBC,MVC,AOP,事务。 hibernate 数据持久化。拓展:EJB3.0, ibatis,搜索功能lucene webservice Soap协议,分布式。拓展:JMS Oracle数据库 大型数据库开发。拓展:DB2 20课时 软件测试 单元测试 集成测试 系统测试 验收测试 60课时 毕业答辩 演讲能力,面试技巧,面试题,答辩 20课时 以上是学成软件工程师的课程体系。
软件工程毕业论文怎么写?
软件工程可以写的题目多啊。开始也不怎么懂,还是学姐给的文方网,写的《基于Windows平台的HIPS系统设计与实现》,靠谱的说
研究生教育网络管理系统的设计与实现
WMS-2000A轮机模拟器数据通信系统设计与实现
洗衣机模拟运行控制系统的设计与实现
机车信号记录器数据分析处理系统的设计与实现
分布式自动检测系统RS485通信网络的设计与实现
计划生育管理信息系统的设计与实现
医院“一卡通”系统的设计与实现
列车三维驾驶仿真系统的设计与实现
一种图书外采查重系统的设计与实现
基于C/S模式的网络文件管理系统的设计与实现
自动化仓库管理系统的设计与实现
四川省卫生统计数据采集与决策支持系统设计与实现
ATM应用系统EMV迁移的设计与实现
基于B/S模式的药品信息咨询系统的设计与实现
基于LFAP的网络流量统计分析系统的设计与实现
传真管理信息系统的设计与实现
工业机器人三维仿真系统的设计与实现
单位网络设备环境智能监控系统设计与实现
基于CC1020芯片无线传输系统的设计与实现
公安派出所综合信息管理系统设计与实现
基于WEB的库存管理系统设计与实现
基于工作流的AUTOBANK管理系统设计与实现
具有主动功能的连锁经营企业配送中心管理信息系统的设计与实现
基于JavaEE技术的在线考试系统的设计与实现
学生评教系统的设计与实现
微小型电动无人机动力系统试验台的设计与实现
基于F1103 GPRS MODEM的家校通系统设计与实现
基于嵌入式Linux的远程家庭医疗监护系统设计与实现
基于Windows操作系统的智能建筑物综合布线管理系统的设计与实现
基于.NET技术的网上购物管理系统的设计与实现
变电检修管理信息系统设计与实现
天津地铁1号线车站乘客向导系统的设计与实现
基于B/S结构的电路分析网上答疑系统的设计与实现
应用PDA组建无线IC卡表抄收系统的设计与实现
非计算机专业计算机课程考试系统设计与实现
基于GPRS网络的煤矿瓦斯监控系统的设计与实现
惯性组合导航系统接口子系统的设计与实现
人寿保险老业务综合处理系统的设计与实现
FORTRAN语言题库管理系统的设计与实现
楼宇信息系统的设计与实现
倒闸实训系统无线遥控的设计与实现
C/S模式下的电子邮件系统设计与实现
基于LINQ三层架构仓库管理系统的设计与实现
一种宽带无线移动视频调度系统的设计与实现
浅谈远程监控机房温湿度报警系统的设计与实现
学术论文共词分析系统的设计与实现
基于Web的SQLServer远程备份管理系统的设计与实现
基于Spring框架的北京林业大学图书馆门户系统设计与实现
基于XML的研究生网络选课系统设计与实现
软件工程专业
我就是软件工程专业的。当时我的第一志愿不是软件工程,而是被调剂的,这个专业学费高。
给你介绍一下湖南大学软件工程专业的开课情况
第一学期:
微积分,数学,物理,化学,英语等基础课,因为现在中国提倡通式教育。鄙视教育部的!
第二学期:
除了基础课,还开设了c++。
第三学期:
仍然是基础课,不过这些课程都是和软件工程密切相关的,比如离散数学,数值计算与最优化,线性代数。
第四学期:
这个时候所有的专业课都来了。有数据结构,计算机组成,数据库,数字设计,操作系统,计算及图形学.
给你的建议:
学习语言的话当仁不让首先就是c语言。所有的语言都是相似的,主要掌握的还是数据结构,就是算法,建议你从c语言入门。推荐的书最经典的当然还是谭浩强的c语言。
其实你没有必要急的,大一建议你把基础打牢了,这样以后学习才有后劲。
另外想提示你的是:自己独立学习一门语言是比较困难的,最好找个人知道一下,或者加个qq群向前辈请教一下。
哥向来鄙视复制的人。其实建议你还是学习一下语言比较好。因为这样你才能够深刻的了解哪些基础知识是自己必须的,哪些是没有必要学习的。建议开始上机多操作,找一下手感。
急求 大学生职业生涯规划书(软件工程专业),3000字以上
前言
没进大学之前,我以为上大学就意味着解放,没有家长的束缚,没有老师的逼迫,没有学习的压力,但是不久我发现自己错了。高中的努力是为了考上重点大学,但重点大学的文凭仅仅是进入人才招聘市场最基本的条件而已,就像高档写字楼门口写的“衣冠不整者不能入内”一样。我国高校扩招以来,每年都有大批毕业生毕业,再加上往年没有找到工作的大学生,就业形势非常严峻。中国人常说,尽人事,听天命。对于我们可以控制的,理当全力以赴;对于不可控制的,我们应当养成坦然接受的胸怀和气度。要抱着不做则已,要做就要做好的信念。这样,才能赢得收获。
转瞬间,就已进入大二了,就快有人叫我们师兄、师姐了。前几天还有人问我大一的这一年是什么感觉,呵呵,“感觉就是忽悠一下大一就过完了……”真的就是这样,没有给你一点挽留的余地。
刚上这门课的时候,老师就曾说过要规划人生,我也想过,自己到底喜欢什么,自己到底对什么有兴趣,自己应该做什么,自己的目标在哪里……但是好像也只是个大概,仔细的或非常认真的考虑好像从未有过。而就因为自己规划的太含糊不清了,日子也是在一天天推,一天天混;曾经的激情,曾经的热血沸腾好像都不见了,这三年如果一直这样过下去,我想那不仅是我的青春虚度,我的人生也会错失良机。大学生职业生涯规划对于我们来说可谓谁重中之重。
直到这学期上了大学生职业生涯规划课以后,我才开始对自己的大学生活、工作方向、人生规划有一些感觉,我才会认真地寻找我的价值与我可以和应该做的事情,我才懂得留意身边的每一个人、每一个细节来得到更多的机会。首先,大学生职业生涯规划课让我看到自己深处危机中,如果还不觉醒、还不给人生增加价值,那未来就将布满荆棘,人生会失去它应有的光彩。其次,大学生职业生涯规划课让我了解到了一些坚持不懈、努力奋斗、用心投入的人,他们能拥有今天的成就和前途的美好是因为他们用脑子思考、用双手实干积累出来的,而不是运气与无目的的忙碌;也让我相信社会存在着一种向上流动的机制,只要我付出,就一定能有所收获。第三,大学生职业生涯规划课让我明白了社会与企业所需的人才类型,比如有基础知识(专业基础、文化底蕴)、能力(学习新事物的能力、与人交往与沟通的能力、随机应变的能力、知识运用能力)、素质(忠心、诚实、守信、互助、协作、大胆)等。第四,我会根据我掌握的信息来制定我的职业生涯规划,因为它可以使我拥有明确的目标,使我在实现理想的过程中少走弯路,使我比别人更懂得寻找新的机会、增加有用的经验,使我不会因我的无知而后悔。
不少人都曾经这样问过自己:“人生之路到底该如何去走?”记得一位哲人这样说过:“走好每一步,这就是你的人生。”是啊,人生之路说长也长,因为这是你一生意义的诠释;人生之路说短也短,因为你度过的每一天都是你的人生。每个人都在计划自己的人生,都在实现自己的梦想:梦想是一个百花园,我只是百花园里一根小草,可小草也有一个大理想,哪怕那么卑微......
没有方向的船,任何方向吹来的风都是逆风。有一个合理的职业生涯规划,犹如航船有了方向,在明确的职业发展目标之下,采取可行的步骤与措施,不断增强职业竞争力,才能让我们在激烈的竞争中脱颖而出,提高成功的机会,实现自己的职业理想。
一、自我分析
别人说我性格偏于外向,但我认为我性格具有两面性,我喜欢安静的环境,喜欢一个人学习、看书。但有时却喜欢热闹,和朋友在一起谈天,给彼此带来快乐,我会感觉很开心。喜欢画画,喜欢运动,尤其是打羽毛球,甚至连一般女孩子都不喜欢的踢的足球,我也很是爱好。也喜欢路游,开阔眼界,陶冶情操。另外,我具有团队精神和协作能力,比较强的创新意识,动手实践能力及自学能力。但我有一个缺点,就是优柔寡断。
根据所做的职业测试所得的结果,我的性格属于职场模范类型,典型特点是低调、奉献、责任、实干。内向、安静、谨慎,依靠现实和实在的眼光观察认识世界,关注细节,以人为本,乐于奉献,有同情心,关心别人的感受,喜欢在有规则、秩序的方式来生活。
我一直都是一个乐观的人,很热情、爽直,典型的四川女孩的特点,这对于我以后和人接触也是很有力的一面。我觉得自己很不适合官场上的生活,我也从来没想过从政或考公务员。我学的是软件开发专业,因为我不喜欢很单调,几点一线的那种生活,但是为人民服务也是很不错的一个工作,开发出一些对人们有意义的东西出来,让人们淡淡的生活更充满刺激,做事情更方便一点。
我没有什么特别的兴趣,只要是值得我做的、适合我做的事情都应该去完成和做好。我不太适合做的是一些动手能力很强的事情,比如说开车,尽管我学了一些时间,但还是缺少人车一体的感觉。我也太适合太冒险的事情我曾怀疑之所以我会做一些胆大的事情是因为“初生牛犊不怕虎”和情感的宣泄;我的语言能力不是太好,对语音的把握力不强。从外表看,我是一个经受不了风雨的女孩;但相反,我是一个独立性和适应性较强的人。我认为自己的观察能力、分析能力、感悟能力较强。另外我需要特别加强的是人际交往能力(不仅是对同学、朋友,还应该对老师、上级和长辈)、随机应变能力、学习能力、搜索信息的能力和自我管理能力,因为这些能力在现实的生活、学习和工作中都是很重要的,并且我能通过自己的努力和经验的积累来获得这些能力。
二、社会环境和职业分析(十年规划)
1、社会一般环境:中国政治稳定,科技发展层出不穷。
2、职业特殊社会环境:中国科技发展较晚,科技知识和科技产品大部分还源于国外,
三 专业就业以及 行业分析
未来社会发展的最终趋势将是集体一体化,这就注定网络的链接必不可少,现在电脑已普及到大众用户。网上购物,网络管理已成为人类交流的一种途径。服务器设备广泛用于各大商场及商业媒体。但总的来说,其功能还不晚上。因此,全自动化技术将成为网络管理的任务所在。
我所学的专业是信息与计算科学,该专业是以信息领域为背景数学与信息,管理相结合的交叉学科专业.毕业以后,可以在信息与计算科学、计算机信息处理、经济、金融等部门从事研究、教学、应用软件开发或者是管理部门从事一些实际应用、开发研究或者管理工作。
(1)行业分析(IT):二十一世纪进入信息时代,席卷全球的信息科技给人类的生产和生活方式带来了深刻的变革,信息产业已成为推动国家经济发展的主导产业之一,人们对电子产品的要求高,首先是产品的质量好,服务到位。所以在电器销售行业,取得消费者的信任是至关重要的,当今没有多少企业是在真正的做“服务”,从营销观念的角度出发,连市场营销的观念没有达到,当今电器产品营销服务人才的机会很多。2)职业分析(电子产品检测与营销)当今的消费者有关电子的消费知识在增长,挑选的余地也很大,仅仅能说会道、热情周到的服务已远远不能如早期一样获得消费者的信任。应该如何进行市场的开拓,培养重视的客户?所以,将专业知识与营销技巧结合,成为我的选择。3)地域分析(南京)南京地处长江下游丘陵地区,是经济发达的江苏省省会城市,是全省政治、经济、科教、文化和交通通信中心。南京下辖十一区、二县,面积6597平方公里,全市人口640万人,其中城镇人口443万人,城市化水平71%。南京是国家级历史文化名城,具有2470年历史,先后有十个朝代和政权在此建都。虎踞龙盘,人文荟萃。是一个令人悠然神往的历史古都,是中国著名风景旅游城市之一。 南京珠江路科技街位于中心城区玄武区内,以珠江路为主线,西起中山路,东接黄埔路,并向南、北延伸,是南京市科技人才、高新技术企业、民营科技企业最为集中的区域。周边高校、科技院所云集,有东南大学、南京大学、南京航天航空大学、海军指挥学院、中科院南京分院、熊猫集团等,科技优势十分明显。珠江路科技街以经营电子电脑、系统网络、软件开发和通信产品著称。联想、方正、IBM、INTEL、COMPAQ、NEC、东芝等国内外著名的电脑厂商纷纷加盟珠江路。目前沿街两侧聚集电脑公司近千家,拥有自主知识产权和品牌的电脑公司13家,16个电脑市场,5个通讯产品市场,经营总面积近20万平方米,珠江路科技街已成为华东地区最大的电子电脑产品集散地。全街电脑公司职工约为7400人,大专以上学历达90%,其中35岁以下约占70%。享有"北有中关村,南有珠江路"的美誉。1999年8月,珠江路科技街正式成为南京高新技术产业开发区的组成部分,享受高新技术产业开发区同样的优惠政策。
四 职业目标定位
1 个人职业定位的SWOT分析:
内部环境因素
A 优势因素(S)
a、精力旺盛、热情
b、性情平和、乐于助人
c、忠诚、责任心很强
d、富于创新精神;
e、工作和生活井然有序
f、耐于吃苦,奋斗终身
B 弱势因素(W)
a、工作中有时没有自信;
b、有时因急于迎接新挑战,在准备不够充分的情况下开始工作;
c、过于重视上级对自己提出的意见。
d、提了自己太多的意见,别人有点烦
2 外部环境因素
C 机会因素(O)
a、3G等等一系列的冲击,国人对电子产品的要求越来越高,电子产品很有市场。
b、专业知识与营销技巧兼备的人才缺乏
c、当今世界,信息流比较重要,适合现代社会的需要
D 威胁因素(T)
a、竞争激烈
b、自己能力不是很到位
SWOT总结:努力改变能改变的,适应不能改变的。对于外部环境因素,只有让自己适应它,抓住机遇,迎接挑战。我国软件测试人才缺口很大,同其他职业相比,就业方面存在不小的优势。对于内部环境因素,我应当在以后的生活学习中,发挥优势,弥补劣势,扬长避短,让自己越来越接近心中的目标。软件测试学起来不容易,不过,我会努力,时时鞭策自己,不断朝着这个方向发展,相信一定会有收获。
3 理想职业的工作内容和胜任条件
职位描述
软件测试工程师是软件生产过程中的质量管理者,不但要对软件产品最后的功能、性能负责,而且从软件的“需求分析”、“结构设计”阶段以及文档规范等诸多方面就开始对软件的质量加以保障,使生产出来的软件的功能达到设计之初的要求,让用户用上高质量的软件。
工作职责
1. 理解产品的功能要求,并对其进行测试;
2. 负责执行测试任务和用例的建设,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例;
3. 负责bug登记和追踪;
工作权限
1. 根据项目开发计划,分阶段向相关开发人员索取测试软件(产品)及相关的技术文档;
2. 及时向开发人员反映软件存在的Bug,并负责Bug跟踪测试。
任职资格
1、计算机相关专业
2.精通软件测试理论,熟悉常用测试工具(LR、QTP、TD)的使用,能够熟练设计测试用例;
3、熟悉Oracle、SqlServer数据库,精通SQL语法;
4、了解.net、JAVA等软件开发语言,有软件开发经验;
5、具有较强的沟通理解能力和协调能力,及团队协作精神;对工作积极主动、认真负责。
6. 熟悉软件工程、软件测试理论和方法,了解相关的测试流程、规范、文档标准;
4 与职业选择目标的差距
软件测试师是软件开发的质量把关者,当下中国软件产业升级,国内软件行业突破了传统的作坊式生产,从单打独斗的开发模式升级为工业化、流水线式的生产模式,理所当然的对开发的软件有更高的质量要求。对软件测试人才的需求不断扩大的同时,对人才的要求也会越来越高。对我来说,这既是机遇,又是挑战。
不论是专业技能还是专业素养,目前的我与一名合格的软件测试工程师还有很大的差距。要成为一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。优秀软件测试人员必须具有两三年的软件开发经验,并且与软件开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。
五、大学期间学习计划:
学习不仅是为了以后的工作,最重要的是它能让你终身收益。我一直坚信“活到老,学到老”的格言。无论怎样,学生最首要的任务就是学习。如果抛开学习,那么一切都无从谈起。在数字化、信息化的时代对计算机知识的掌握尤为必要。所以我对自己的大学生涯作出以下简短设计。
大学二年级:
首先,要认真听课,保证学习成绩优秀。因为软件测试这一行经验比学历重要,大多数人认为上研究生不如在企业积累经验,不需要保研或者考研,所以不用好好学习与计算机无关科目。但是,我认为,眼光应当放远一些,在我的大学时代多方面培养自己,丰富知识,提高综合素质,而不是急功近利,纯粹为了就业而学习。当然,学习中应当有所偏重,计算机方面的课程如数据结构,数据库,JAVA语言程序设计,面向对象分析与设计,操作系统,软件工程等科目应当对自己的要求更高,更严格。到了后期,要开始系统的学习软件测试方面的知识,找一些测试书籍来看。
其次,多参与活动,将所学知识运用于实践,初步积累编程和测试经验。目前,国内软件测试人才的来源主要有三方面:一是以前做软件开发转行的技术人员;二是来自计算机专业的高等学院毕业生;三是来自培训机构的专业学员。而企业普遍认为计算机专业应届毕业生缺乏动手能力。所以,在不断提高专业知识水平的同时,更应该多参与实践,培养动手能力,取得丰富的经验。为此,我决定利用寒暑假的时间,争取到软件公司实习,为顺利就业增加砝码。
平时利用网络与软件测试从业人员交流,多去软件测试的论坛、贴吧。让自己在加入软件测试队伍之前对这个职业有更深更全面的认识,并且能在这个过程中积累人脉资源。
具体方法
1、认真学好专业知识和其他基础学科,坚信基础的东西一定是最重要的。注意提高自身的基本素质,通过参加各种社团等组织,锻炼自己的各科能力,同时检验自己的知识技能。
2、做一些兼职,社会实践活动,同时在课余时间从事一些与自己未来职业有关的专业类的工作,进一步提高自己的责任感、主动性和掌
3、证书大突破:考取英语四、六级。全国计算机二级等级考试。以及其他相关证书。
大学三年级:
1、开始尝试并学习写简历、求职信,了解社会需求。搜集与本人目标工作有关的信息,并通过信息渠道尝试和已毕业的校友交流思想 。开始毕业前的申请,积极参加招聘,在实践中校验自己的知识积累。
2、预习或模拟面试,积极利用学校提供的条件,了解就业指导中心体统的用人公司资料信息,强化求职技巧,进行模拟面试等训练,尽可能作出较为充分准备的情况下进行演练,为自己以后找到理想的工作而努力。
3、获得普通话等级证书及全国计算机三级等级考试。
六、为人处世方面:
1、改掉自己偶尔情绪急躁的坏毛病,千万不和同学发生冲突。
2、最终身边的每一个人,不管他(她)有什么性格,学习优秀的人,感化恶搞的人,用一颗真诚的心去对待他们。不去争名利,不计较利益得失,做一位合格的中国公民,为和谐社会的构建做自己力所能及的事。
3、抓住每一个锻炼自己的机会,这样的机会不是每个人都有,全力以赴完成班级和学院本职工作,为集体做一些力所能及的事,干出一点成绩,不一定非要得到别人的肯定,重要是给自己找一个相信自己的理由。
4 相遇不容易,毕业后,也是就是相遇的终结点。珍惜现在能所拥有的一切。包容身边每一个人。
七、生活方面:
大学是真正属于自己的天地,在人的一生中这样的时光不多,好好把握将会收益终身。
要多和家人及同学联络,告诉他们我们的快乐和不安。一路走来,是他们一直支撑着我们克服种种困难。尤其是上了年纪的父母,他们操劳了一辈子也许最想要得只是我们的一声问候。我决不会让他们失望。
八、职业生涯规划实施方案存在的障碍:
目前,我经济条件相对薄弱,作为未来的信息人士,我较少能接触到高科技产品,且时间较少。
解决方法:
我在校一直勤工俭学,利用假期时间做兼职。尽量将我的大部分开支投资到学业中去。
九、本人对职业生涯规划的看法:
俗话说:“欲行千里,先立其志。”规划我的职业生涯,就相当于在人生之路上迈出一大步。一位哲人曾说过:“没有目标的人,就像是漂泊的船只,可能永远到大不了壁岸。”写过职业生涯规划书,突然感觉像是在黑暗中看到了亮光,让我有目标可循。进而信心百倍,动力十足的去实现它,这乃是人生的一大快事。我不再盲目的、无目的的学习,生活,而是有计划、有步骤的生活。
十、结束语:
积跬步以至千里,积小流以成江河,只要你不断积累知识、完善自我,具备真正的能力和实力,你永远都会是职场当中的胜者。大学不仅是知识的海洋,还是磨练性格、完善自我、锻炼能力的小社会。在这知识的海洋中,要找到自己的兴趣所在和职业理想,并为自己的梦想不懈努力,你的梦想终会实现!
为梦想的实现进行的努力,不管是多辛苦的都是值得的,我们现在这样,就是在为自己以后储备粮食。搏击,将会是最美好的事。待到历尽磨难时,彩虹便会呈现。走过了,才知道可不可以,经历过,才明白这其中的滋味,只有努力过才不会后悔。
计划固然好,但最重要的在于付出实施并取得成效。时时刻刻都不能忘记,任何目标,只说不做到头来只是一场空。
路漫漫其修远兮,吾将上下而求索。不经历风雨怎能见彩虹。我们要时刻保持一颗清醒的头脑。其实,每个人心中都有一座山,雕刻着理想、信念、追求、报负;每个人心中都有一片森林,承载着收获、芬芳、失意、磨砺。一个人,若要获得成功,必须拿出勇气,付出努力、拼搏、奋斗、成功。机遇不相信眼泪,不相信颓废,不相信幻影,只相信爱打拼的人!
只希望我的所有规划能在我尽心尽力下,让它不是空。
软件工程专业大四实习都实习什么?
先把JAVA275(精通)学好,数据库至少会一种(掌握),HTML(掌握),JSP(掌握),UML(掌握),XML(掌握),JAVA314(精通),Struts框架(精通),Hibernate框架(掌握),Spring框架(掌握),EJB(了解)
上面的是基础,找到工作后,你会发现每一个项目都有新的东西,开源的东西太多了。
英文阅读速度应该是中文阅读速度的1.5至2.0倍,不可以太慢。因为进入工作之后,你会发现很多的英文资料需要你阅读。 尤其是开源项目资料,等有中文资料了,基本上就过时了。
学习JAVA方向,日语最好能过3级,这样对于阅读以后的日文式样书有帮助.
“软件工程”与“嵌入式系统工程”哪个好些?或者说哪个好就业。谢谢!!
软件专业最传统的就是软件工程与项目管理了,会讲好多软件工程的内容,比如需求工程、系统分析之类。。开发与测试我觉得更需要技术,尤其是详细设计和编码部分。游戏开发主要是图形处理和动画渲染这些,一般都会要比较好地C++基础。电子商务就是类似网上购物的东西了,Java会比较多的用到。嵌入式开发不太熟悉,大概是涉及的系统级编程了吧,与硬件比较紧。
说说嵌入式系统吧
一 什么是嵌入式系统
嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统的硬件部分,包括处理器 / 微处理器、存储器及外设器件和 I/O 端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用 EPROM 、 EEPROM 或闪存 (Flash Memory) 作为存储介质。软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
二 嵌入式处理器
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备 4 个特点: (1) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度; (2) 具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断; (3) 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器; (4) 嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW 甚至μ W 级。
据不完全统计,目前全世界嵌入式处理器的品种总量已经超过 1000 种,流行的体系结构有 30 多个系列。其中 8051 体系占多半,生产这种单片机的半导体厂家有 20 多个,共 350 多种衍生产品,仅 Philips 就有近 100 种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从 64kB 到 16MB ,处理速度为 0.1~2000MIPS ,常用封装 8~144 个引脚。
根据现状,嵌入式计算机可分成下面几类。
(1) 嵌入式微处理器 (Embedded Microprocessor Unit, EMPU)
嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实际嵌入式应用要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度减小系统的体积和功耗。和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高的优点,但在其电路板上必须包括 ROM 、 RAM 、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。由嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上构成一个通常所说的单板机系统。嵌入式处理器目前主要有 Am186/88 、 386EX 、 SC-400 、 Power PC 、 68000 、 MIPS 、 ARM 系列等。
(2) 嵌入式微控制器 (Microcontroller Unit, MCU)
嵌入式微控制器又称单片机,它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了 ROM/EPROM 、 RAM 、总线、总线逻辑、定时 / 计数器、看门狗、 I/O 、串行口、脉宽调制输出、 A/D 、 D/A 、 Flash RAM 、 EEPROM 等各种必要功能部件和外设。为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制,使得一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都相同,不同的是存储器和外设的配置及功能的设置。这样可以使单片机最大限度地和应用需求相匹配,从而减少整个系统的功耗和成本。和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本大幅度下降、可靠性提高。由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的,而且上述诸多优点决定了微控制器是嵌入式系统应用的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。通常,嵌入式微处理器可分为通用和半通用两类,比较有代表性的通用系列包括 8051 、 P51XA 、 MCS-251 、 MCS-96/196/296 、 C166/167 、 68300 等。而比较有代表性的半通用系列,如支持 USB 接口的 MCU 8XC930/931 、 C540 、 C541 ;支持 I2C 、 CAN 总线、 LCD 等的众多专用 MCU 和兼容系列。目前 MCU 约占嵌入式系统市场份额的 70% 。
(3) 嵌入式 DSP 处理器 (Embedded Digital Signal Processor, EDSP
在数字信号处理应用中,各种数字信号处理算法相当复杂,这些算法的复杂度可能是 O(nm) 的,甚至是 NP 的,一般结构的处理器无法实时的完成这些运算。由于 DSP 处理器对系统结构和指令进行了特殊设计,使其适合于实时地进行数字信号处理。在数字滤波、 FFT 、谱分析等方面, DSP 算法正大量进入嵌入式领域, DSP 应用正从在通用单片机中以普通指令实现 DSP 功能,过渡到采用嵌入式 DSP 处理器。嵌入式 DSP 处理器有两类: (1)DSP 处理器经过单片化、 EMC 改造、增加片上外设成为嵌入式 DSP 处理器, TI 的 TMS320C2000/C5000 等属于此范畴; (2) 在通用单片机或 SOC 中增加 DSP 协处理器,例如 Intel 的 MCS-296 和 Infineon(Siemens) 的 TriCore 。另外,在有关智能方面的应用中,也需要嵌入式 DPS 处理器,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘, ADSL 接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是 DSP 处理器的优势所在。嵌入式 DSP 处理器比较有代表性的产品是 TI 的 TMS320 系列和 Motorola 的 DSP56000 系列。 TMS320 系列处理器包括用于控制的 C2000 系列、移动通信的 C5000 系列,以及性能更高的 C6000 和 C8000 系列。 DSP56000 目前已经发展成为 DSP56000 、 DSP56100 、 DSP56200 和 DSP56300 等几个不同系列的处理器。另外, Philips 公司最近也推出了基于可重置嵌入式 DSP 结构,采用低成本、低功耗技术制造的 R. E. A. L DSP 处理器,其特点是具备双 Harvard 结构和双乘 / 累加单元,应用目标是大批量消费类产品。
(4) 嵌入式片上系统 (System On Chip, SOC)
随着 EDI 的推广和 VLSI 设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就产生了 SOC 技术。各种通用处理器内核将作为 SOC 设计公司的标准库,和其他许多嵌入式系统外设一样,成为 VLSI 设计中一种标准的器件,用标准的 VHDL 、 Verlog 等硬件语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除某些无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简单,对于减小整个应用系统体积和功耗、提高可靠性非常有利。 SOC 可分为通用和专用两类,通用 SOC 如 Infineon(Siemens) 的 TriCore 、 Motorola 的 M-Core ,以及某些 ARM 系列器件,如 Echelon 和 Motorola 联合研制的 Neuron 芯片等;专用 SOC 一般专用于某个或某类系统中,如 Philips 的 Smart XA ,它将 XA 单片机内核和支持超过 2048 位复杂 RSA 算法的 CCU 单元制作在一块硅片上,形成一个可加载 Java 或 C 语言的专用 SOC ,可用于互联网安全方面。
三 嵌入式操作系统
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统 ( 包括硬、软件系统 ) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等 Browser 。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序 。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
1. 嵌入式操作系统的种类
一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如 WindRiver 公司的 VxWorks 、 ISI 的 pSOS 、 QNX 系统软件公司的 QNX 、 ATI 的 Nucleus 等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理 (PDA) 、移动电话、机顶盒、电子书、 WebPhone 等。
a. 非实时操作系统
早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中段来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。
实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过 FIFO 队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要 RAM/ROM 的额外开销,因而在简单的嵌入式应用被广泛使用。
b. 实时操作系统
实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。“在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间有严格要求的。
实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。
实时多任务操作系统是指具有实时性、能支持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。实时操作系统具有如下功能:任务管理 ( 多任务和基于优先级的任务调度 ) 、任务间同步和通信 ( 信号量和邮箱等 ) 、存储器优化管理 ( 含 ROM 的管理 ) 、实时时钟服务、中断管理服务。实时操作系统具有如下特点:规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快。
实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型实时操作系统是指内核可以抢占正在运行任务的 CPU 使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了 CPU 让别的任务运行。不可抢占型实时操作系统使用某种算法并决定让某个任务运行后,就把 CPU 的控制权完全交给了该任务,直到它主动将 CPU 控制权还回来。中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态;而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出 CPU 的控制权。使用这种实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。
可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占 CPU 控制权处理不好,会产生系统崩溃、死机等严重后果。
2. 嵌入式操作系统的发展
嵌入式操作系统伴随着嵌入式系统的发展经历了 4 个比较明显的阶段。
第一阶段是无操作系统的嵌入算法阶段,是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需求。
第二阶段是以嵌入式 CPU 为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是: CPU 种类繁多,通用性比较差;系统开销小, 效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口 (API) ,开发应用程序简单;嵌入式应用软件丰富。
第四阶段是以基于 Internet 为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于 Internet 之外,但随着 Internet 的发展以及 Internet 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未来。
3. 使用实时操作系统的必要性
嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。
首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和不可靠的隐患。长期以来的前后台系统软件设计在遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系统的崩溃。而实时操作系统管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以通过系统运行的系统监控进程对其进行修复。通常情况下,这个系统监视进程用来监视各进程运行状况,遇到异常情况时采取一些利于系统稳定可靠的措施,如把有问题的任务清除掉。
其次,提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其他模块。商业软件一般都提供了良好的多任务调试环境。 再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。 32 位 CPU 比 8 、 16 位 CPU 快,另外它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。 32 位 CPU 采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。例如, CPU 运行状态分为系统态和用户态。将系统堆栈和用户堆栈分开,以及实时地给出 CPU 的运行状态等,允许用户在系统设计中从硬件和软件两方面对实时内核的运行实施保护。如果还是采用以前的前后台方式,则无法发挥 32 位 CPU 的优势。
从某种意义上说,没有操作系统的计算机 ( 裸机 ) 是没有用的。在嵌入式应用中,只有把 CPU 嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。
4. 实时操作系统的优缺点
在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的 ROM/RAM 开销, 2~5% 的 CPU 额外负荷,以及内核的费用。
[软件工程]一个作业。
'假设需求已知 为 xuqiu
'假设库存已知 为 kucun
'时间在 tm 变量中
input "欠款时间";tm
if tm<=30 then
if xuqiu< kucun then
msg("发货")
else
msg("先按库存发货,货到再补发")
end if
else if tm>30 and tm<=100 then
if xuqiu< kucun then
msg("先付款再发货")
else
msg("不发货")
end if
else if tm>100 then
msg("快还钱")
end if
转载请注明出处51数据库 » 网上购物软件工程课程设计 软件工程师要学习什么课程