大学里的软件工程课程
全国重点35所软件学院之一课程安排大一:C语言、数字逻辑、C++、计算机基础导论英语版、英语、高数、离散数学;大二:数据结构、离散数学、高数、随机数学、计算机原理与结构、数据库原理、操作系统、组合数学、JAVA;大三:C#数据库实践、计算机图形学、UNIX/LINUX、计算机网络、编译原理与实现、软件系统分析与设计、软件体系结构、电子商务;大四:软件项目管理、软件构件与中间件技术、J2EE;研一:网络程序设计、软件复用与组件技术、软件过程管理与过程改进、大型数据库设计与实践、面向对象建模技术;研二:实习或者实验室;专业选修课:本科:网络协议分析实验、Oracle数据库、信息安全、DB2数据库、数据挖掘、XML、游戏动画设计、嵌入式设计;研究生:日语、英文报刊选读、软件工程项目案例分析、企业管理与ERP、信息安全、外教口语、讲座、人工智能、....很多;...
软件工程概述都有哪些?
中文名软件工程概述外文名Summaryofsoftwareengineering1基本介绍2发展过程3基本目标4开发过程5开发原则6基本原理7体系结构8软件工程9开发方法10软件需求11专业介绍移动终端应用开发?计算机软件12研究领域13软件工程就业形势软件工程基本介绍编辑软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料
谁有软件工程概论的课后答案啊机械工业出版社软件工程概论的课后习...
大一学c语言,c+++,java ,还有数据结构 数字逻辑,汇编语言 第一学期:高等数学,计算机基础 第二学期:高等数学,C语言程序设计,逻辑电路与逻辑设计,线性代数 第三学期:离散数学,概率与数理统计 第四学期:计算机组成原理,数据结构,软件工程 第五学期:计算方法,操作系统,汇编语言 人工智能/JAVA语言 第六学期:算法分析与设计,数据库原理,编译原理 计算机网络/代数结构与组合数学 实时系统技术/Unix系统/软件构件技术/软件测试与维护 第七学期:软件项目管理,面向对象系统分析与统计 计算机图形学/信息检索与利用 电子商务/数据仓库与数据挖掘/软件过程能力评估/软件质量控制...
软件工程导论里的SA方法是什么意思?
Structured Analysis的缩写形式,是结构化分析方法的意思SA方法的基本思想:“由顶向下逐层分解”, 这是软件工程中的一条基本原则。
SA方法的实施步骤: 先分析当前现实环境中已存在的人工系统,再考虑即将开发的软件系统。
SA方法优点: 简单清晰, 易于学习掌握、易于使用。
SA方法的薄弱环节: · SA方法在理解和表达用户的数据需求方面比较局限,同数据库技术亦不能较好地衔接。
· SA方法在理解和表达人机界面方面是很差的,用数据流图描绘人机界面不太合适,逐层分解在这里起不了什么作用,而且SA方法通常要到最后才来考虑人机界面。
· SA方法强调分析数据流,而对时间、控制方面的描述恰恰是不精确的,所以SA方法原则上不适用于实时系统。
· 在澄清、确定用户需求方面能起的作用是有限的。
系统工程导论为什么要重视系统的环境
然后深入软件过程、软件工程目标和要求的讨论,获取企业的盈利软件工程的概念指把做软件的过程作为一个系统工程去研究。
下面是《软件工程导论》这本书的构思,首先系统地给出软件工程的知识体系框架,帮助读者建立起软件工程的完整且清晰的概念,结合软件工程环境、软件项目管理等内容,使读者坚实地掌握和运用软件工程的知识内涵,全面阐述了软件工程的思想、方法、技术和工具。
《软件工程导论》围绕软件工程最基本的核心——“质量和生产率”展开,力求通过一些具体的实例来说明软件工程的思想和方法。
《软件工程导论》在回答为什么要研究软件工程问题之后,从而达到最高效地利用人才和时间,分配人员和规划进程和框架,那么需要管理学的知识,因为做一个大中型的软件是需要很多人协助的,那么怎么协调...
软件工程如何学好?
本人乃软件工程专业毕业生! 不要着急,要自信一点,都是这么过来的,大学里面主要学的就是理论,实际操作都是要靠自己在课外的时间多自学.一般大一都是学C,大二学习java和C++,不过你自己要弄清楚,你到底想精通哪一门,千万不要每一门都去深究(暂时你没有那么多的时间)。
大学课堂上学的东西真的好重要,千万别听别人说什么“大学什么都学不到”,我学的是java,下面是我学习的部分路线(直接从以前的回答中复制过来的),希望对你有用。
首先找一本简单的教材,先对java有个基本的认识(大概看那么半个月就差不多了,随便下载一本入门的书就行了) 然后推荐你看>,分为上下两卷,已经是第八版了,大概有一千六七百页;当 你看完后,基本的java知识已经掌握了(记住,一定要多练习啊)(我那时候一个暑假看完第一遍,每天看将近十个小时加练习,但是要弄懂,呵呵,至少看个三四遍吧,这两本书只要能搞懂70%就很不错了) 这个时候你可以看看>中文名"java编程思想",这本书写的比较难,如果你看不懂,那么你要多做练习,慢慢看,如果看完了,而且懂了,那么证明你的java水平到达了一个更高的层次;(去参加面试的时候问的那些java知识完全可以应付过来了)(或者你可以先看下面的书,边看thinking in java这本书,这样也是可以的,而且学习的效率应该会高些) 然后java就会分方向,j2me(手机编程)不建议你去学这个(要学就学android手机编程),已经过时了;j2ee方向(Web编程),先学html,javaScript,css(这些书多得数不清,呵呵),然后就学servlet和jsp,《jsp应用开发详解》(入门) 《Servlet与JSP核心编程》(核心)这两本书还不错,然后就可以学SSH(三大框架,这个书一大堆),学习struts的时候建议你从struts1开始学起《精通Struts基于MVC的Java Web设计与开发》,然后就可以学习struts2《Struts2权威指南》,接下来学习Hibernate《精通Hibernate:Java对象持久化技术详解》,最后学习Spring《spring2.0技术手册》(提示:只要你java基础学得好,这些东西都会学得很快) 这个时候你就要把注意力放在设计模式,数据结构和计算机算法上面来了, 设计模式可以先看> 然后再看>, 数据结构建议你看清华大学严慰敏老师写的那本教材; 计算机算法要了解基本的排序,如果你不做底层,只做应用的话,没有必要去看那个这本书太难了。
(设计模式,数据结构和算法才是真正的精髓,要有很多年的编程经验才能够使用得游刃有余,光看懂还不行的,一定要多练习,到了这个境界才是真正的java高手)(我学java有三年了,这是我的体会) 等你掌握前面的这些知识之后,推荐你看>,这本书是目前java领域公认的高级书籍。
在项目中你肯定会遇到一些前端的知识,那么你得精通javascript,>(入门), >(进阶),这两本书弄懂了,那么学习jquery和extjs都会很快的。
还有要提醒你一下,对于初学者,不要使用eclipse编程工具,建议你先用记事本写程序,当你比较熟练了之后就可以使用eclipse这些工具了。
不要心急,不要图快,所有的书要一本本的慢慢看,多看几遍(一本书看上个四五遍,你就可以成高手,呵呵)。
java基础(j2se)的重点有:继承、多态、流、线程、网络编程、反射、集合、数据库连接、泛型、JNI技术、分布式技术还有解析xml也是很重要的,如果你想学android手机编程,那么SWING和AWT要熟悉一下。
如果你不想学Web编程(j2ee),那么我建议你可以学android手机编程《Google+Android开发入门与实战》(入门) 《Google Android SDK开发范例大全》(深入)(建议把android当作业余爱好,把web编程当作主攻方向,因为j2ee包含了大量框架知识),书很多,可以自己去搜。
多想 多看 多练才是王道,不要相信什么培训机构,这些都没啥用,真正学好只能靠你自己。
面向对象思想+java基础(j2se)+数据结构+设计模式+计算机算法 为核心,学好了这几个8000元/月轻而易举,什么都可以不学好,唯独这几科一定要学好,切记切记! 当然,随着你的技术水平的提高,你还会要学习其他的语言,不过这都是后话,等你把上面的东西掌握了,我再告诉你怎么学(高并发等内容),哈哈!
学习《软件工程》心得和体会
软件工程学习心得在本学期的软件工程课程的学习中,我们学习了十一章的内容。
第一章软件与软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。
第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。
还引出了工具UML。
第三章软件需求获取与结构化分析方法,本章详细介绍了需求获取与需求分析阶段的任务以及结构化分析方法,画分层的数据流图、E-R图以及状态图式本节的重点。
第四章结构化分析方法,这一章重点讲解了使用变换型映射方法和事务型映射方法生成初始的模块结构以及模块结构的改进。
第五章编码,这一章重点讲解了编码的风格及规范,还告诉我们编码规范说带来的好处,并告诫我们将来一点要形成好的编码风格。
第六章软件测试方法,本章讲解了软件测试相关的概念及重要性,软件测试与开发各个阶段的关系;还介绍了白盒测试技术以及黑河测试技术。
第七章统一建模语言UML概述,本章详细介绍了UML的基本模式、事物、关系及建模时用到的各种图进行了介绍。
第八章面向对象分析,这一章主要讲解了面向对象分析的3种模型,包括功能模型、静态模型和动态模型。
第九章软件体系结构与设计模式,本章对软件体系结构的基本概念、典型风格等进行了讲解。
第十章面向对象设计,本章的重点是对面向对象分析时建立的对象模型进行调整和细化。
第十一章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。
要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则: 软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。
软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
我们学习了详细设计的方法,其原则是过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。
包括程序流程图、N-S图、PAD图、HIPO图程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。
它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。
在流程图中只能使用下述的五种基本控制结构:顺序型;选择型;while型循环;until型循环;多情况型选择。
N-S图:一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图。
在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。
顺序型;选择型;WHILE重复型;UNTIL重复型;多分支选择型。
PAD图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。
PAD也设置了五种基本控制结构的图示,并允许递归使用。
HIPO图:HIPO图是由一组IPO图加一张HC图组成。
它是美国IBM公司在软件设计中使用的主要表达工具。
HC图既是层次图,用于表示软件的分层结构。
HC图中的每一个模块,均可用一张IPO图来描述。
IPO 图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入—处理—输出三者之间的联系。
还有测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。
测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。
静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。
动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。
还学习了其他很多工具、语言、方法等,虽然不是都学得很透彻,但我相信在今后的学习中一定会慢慢...
软件工程实例 报告 文档 程序 都有
1 引言。
1编写目的: 可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解 经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。
明确开发风险及其所带来的经济效益。
本报告经审核后,交软件经理审查。
1.2 项目背景: 开发软件名称:超市进销存系统。
项目任务提出者:老师。
项目开发者:shu408157847。
用户:超市。
实现软件单位:学校 项目与其他软件,系统的关系: 本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C++为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用Oracle 8的为开发软件的数据库服务程序。
1.3 定义: [专门术语]: [缩写词]: 1.4 参考资料: 《软件工程导论》,张海藩,清华大学出版社。
《实用软件工程》,郑人杰等,清华大学出版社。
2.可行性研究的前提 2.1要求 主要功能: 性能要求: 对服务器上的数据必须进行及时正确的刷新。
输出要求:数据完整,详实。
输出要求:简捷,快速,实时。
安全与保密要求:权限不同 完成期限:预计六个月,即截止2007年12月8日。
2.2目标: 系统实现后,大大提高旅游局的机票预定服务效率超市的管理水平。
降低误差,减少开销 2.3条件,假定和限制 建议软件寿命:5年。
经费来源:。
硬件条件:服务器sun工作站,终端为pc机。
运行环境:Linux 数据库:Oracle8 投入运行最迟时间:2000/04/04 2.4可行性研究方法 2.5决定可行性的主要因素 1 经济可行性 成本/效益分析结果,短期-长期利益分析。
技术可行,现有技术可完全承担开发任务。
操作可行,软件能被原有工作人员快速接受。
3.技术可行性分析 3.1系统简要描述 3.2处理流程和数据流程 3.3环境可行性 3.4 人员可行性:操作宜学 3.5 效益分析 投资回收周期 2.3年 4.5敏感性分析 设计系统周期为五年, 估计最长可达10年 处理速度:一般查询速度<4秒 关键数据查询速度: <2秒 5。
法律因素 6。
其他可供选择的方案 7.结论意见 由于投资效益比远大于100%, 技术、经济、操作都有可行性,可以进行开发. 以上为包含步骤,供你参考!!
百感一梦