高级软件工程--平时作业汇总

csdn @ hgxiaojiujiu 注:请合理复制与转载,如需要请表明出处。

第一次作业

1、简述研究生阶段如何提高自己的学习能力

1.保持自己在研究生期间对于计算机、对于自己研究方向的热情和兴趣,使自己热爱这方面自然就会主动的了解和学习。
2.培养自己的自主学习能力,通过自主学习和不断的实践来提高自己的学习能力。
3.制定一个可实现的短期目标和长期目标,通过目标来不断的激励自己。
4.善于总结。

2、简述造成软件危机的主要原因与应对策略

1.原因:由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。
a.软件的规模越来越大,结构越来越复杂。
b.软件开发管理困难而复杂。
c.软件开发费用不断增加。
d.软件开发技术落后。
e.开发工具落后,生产率提高缓慢。
2.应对策略:应用软件工程来消除软件危机,
a.对计算机有一个充分的认识(软件≠程序)
b.推广使用在实践中总结出来的开发软件的成功技术和方法
c.开发和使用更好的软件工具

3、简述软件工程课程研究的主要内容

软件工程研究的主要内容有 软件开发技术 和 软件开发管理
1.软件开发技术:
-方法学:传统方法学、面向对象方法学。
-工具:开发的方法和工具。
-环境:软件开发各阶段工具及运行平台的结合。
2.软件开发管理:
-管理学:各项资源分配、过程管理等。
-度量学:工作量、工作进度的度量。
-经济学:分析软件的经理效益。

第二次作业

4、介绍目前主流的软件开发过程模型及其各自的特点

1.瀑布模型:阶段间具有顺序性和依赖性,前一阶段完成后,才能开始后一阶段,每个阶段必须交付出合格的文档,但是需要把需求做到最全,惧怕需求变更。
2.螺旋模型:适合于大规模软件开发,设计灵活可以在项目的各个阶段进行变更,以小的分段来构建大型系统,使成本计算变得简单容易,但建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
3.快速原型模型:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,所选用的开发技术和工具不一定符合主流的发展,快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
4.增量模型:短时间内向用户提供可完成部分工作的产品,逐步增加产品功能可以使用户有时间了解和适应新产品,开放结构的软件拥有的维护性明显好于封闭结构的软件。每个新的构件集成到现有的软件结构中必须破坏原来以开发的产品,所以必须提前预留好接口。
5.喷泉模型:喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发,可以以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程,但由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。
6.演化模型:主要针对事先不能完整定义需求的软件开发.用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。

5、简述RUP软件过程模型的特点

统一软件开发过程Rational Unified Process(简称RUP)是一套软件工程方法是面向对象开发技术发展的产物,这种方法旨在将面向对象技术应用于软件开发的所有过程,包括需求分析、系统分析、系统设计、系统实现和系统升级维护等所有过程,使软件系统开发的所有过程全面结合,最大限度适应用户不断变化的需求,有效地降低风险,更好地适应需求变化。RUP主要的四个阶段为初始阶段、细化阶段、构造阶段和交付阶段。
RUP的应用优势在于:
a.增量迭代:采用迭代和增量式的开发模式,便于相关人员从迭代中学习;
b.协同工作:它能使项目组的每个成员协调一致的工作。
c.易于控制、易于管理、工具丰富。
但是RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,对于各种类型的软件项目,RUP并未给出具体的自身裁减及实施策略,降低了在开发组织内大范围实现重用的可能性。因此,RUP适用于规模比较大的软件项目和大型的软件开发组织或团队。

6、简述可行性研究报告的任务、过程,介绍可能使用到的工具和方法

可行性研究就是用最小的代价在尽可能短的时间内确定问题是否能够解决,一般从经济可行性、技术可行性、运行可行性、法律可行性和开发方案可行性等方面进行研究。
可行性研究的过程:
1.复查并确定系统规模和目标
2.研究目前正在使用的系统
3.建立新系统的高层逻辑模型
4.导出和评价各种方案
5.推荐可行性方案
6.草拟初步开发计划
7.编写可行性研究报告并提交复查
可行性分析的描述手段:系统流程图、数据流图等。
在这里插入图片描述

第六次作业

13、简述《国家信息化发展战略纲要》

《国家信息化发展战略纲要》是为了以信息化驱动现代化,建设网络强国而制定的法规。
1.国家信息化发展的基本形势
当今世界,信息技术创新日新月异,以数字化、网络化、智能化为特征的信息化浪潮蓬勃兴起。全球信息化进入全面渗透、跨界融合、加速创新、引领发展的新阶段。谁在信息化上占据制高点,谁就能够掌握先机、赢得优势、赢得安全、赢得未来。
2.指导思想
要围绕“五位一体”总体布局和“四个全面”战略布局,牢固树立创新、协调、绿色、开放、共享的发展理念,贯彻以人民为中心的发展思想,以信息化驱动现代化为主线,以建设网络强国为目标,着力增强国家信息化发展能力,着力提高信息化应用水平,着力优化信息化发展环境,让信息化造福社会、造福人民,为实现中华民族伟大复兴的中国梦奠定坚实基础。
到2020年,核心关键技术部分领域达到国际先进水平,信息产业国际竞争力大幅提升,信息化成为驱动现代化建设的先导力量;到2025年,建成国际领先的移动通信网络,根本改变核心关键技术受制于人的局面,实现技术先进、产业发达、应用领先、网络安全坚不可摧的战略目标,涌现一批具有强大国际竞争力的大型跨国网信企业;到本世纪中叶,信息化全面支撑富强民主文明和谐的社会主义现代化国家建设,网络强国地位日益巩固,在引领全球信息化发展方面有更大作为。
《纲要》强调,必须坚持中央网络安全和信息化领导小组对国家信息化发展的集中统一领导,信息化领域重大政策和事项须经领导小组审定。要求各地区各部门强化组织领导、健全工作机制、完善配套政策、加强督促落实,将各项战略任务落到实处,确保战略目标如期实现。

14、简述软件工程、软件开发方法、软件开发工具相关概念及之间的关系

软件工程:是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科
软件开发方法:
1.结构化开发方法:它的特点是按照功能分解的原则;自顶向下,逐步求精。
2.面向对象的软件开发方法:以用例驱动的、以体系结构为中心的、迭代的和渐增式的开发过程,主要包括需求分析、系统分析、系统设计和系统实现四个阶段。
3. 问题分析法、可视化开发方法等等。
软件开发工具
用于辅助软件生命周期过程的基于计算机的工具。通常可以设计并实现工具来支持特定的软件工程方法,减少手工方式管理的负担。与软件工程方法一样,他们试图让软件工程更加系统化。
关系:软件开发工具用来支持实现软件开发方法,而软件开发方法来软件工程来解决软件危机。

第七次作业

15、简述企业信息化的主要工作内容

企业信息化的内容包括
1.产品设计信息化:产品设计信息化指产品设计,工艺设计方面的信息化。信息技术的应用使企业新产品设计能力明显增强,开发和生产周期显著缩短。
2.企业生产过程信息化
企业生产过程的信息化是自动化技术在生产过程中的应用,即通过应用现代电子信息技术(如CAD、CAM等)解决加工过程中的复杂问题.提高生产的质量.精度和规模制造水平。
3.企业管理信息化
企业管理信息化是指通过信息管理系统把企业的设计,采购、生产.制造、财务.营销.经营、管理等各个环节集成起来,共享信息和资源,同时利用现代的技术手段来寻找自己的潜在客户。
4.市场经营信息化
市场经营信息化主要指企业通过实施电子商务.大大节约经营成本.提高产品的市场竞争能力,提高经济效益。
5.企业决策科学化、透明化、理性化
企业信息化给企业决策带来的影响是显而易见的。以往企业决策主要靠少数人的经验累积和思维能力,主观性强.透明度弱,而现在企业决策运用互联网和应用软件.增强了决策的科学性和对全局的控制力。

16、简述企业信息系统建设(开发)方法
  1. 生命周期法。
    该方法的主要思想就是:将系统的开发过程分为六个正式的阶段, 这六个阶段必须按顺序的完成, 所以使用者与信息系统开发人员之间要有明确的分工。
  2. 原型法。
    原型法的主要思想就是: 首先很快地、低成本地开 发出一 个试验性的系统, 让最终使用者通过使用这个实验性的系统以弄清该系统还有哪些方面不能满足用户的需要,然后对这 个系统有针对地进行改进; 然后再让使用者使用, 再改进, 如此反复,直到完全满足使用者的需求为止。
  3. 应用软件包法。
    使用应用软件包建设企业的信息系统的确是一种省时且见效快的方法。
  4. 最终使用者开发方法
    最终使用者开发方法指的是由企业中信息系统的使用人员,在完全独立或在 信息技术人员的帮助下,根据自己工作的需要, 使用第四代计算机软件工具为企业开发各种应用型的信息系统。
  5. 外包法
    将企业计算机中心的运行、通讯网络的建设及应用程序的开发等工作完全包 给开发商去完成。
17、简述企业信息系统的集成方面的主流技术
  1. 基于SOA架构的集成技术
    基于SOA的实现主要是在全局统一的服务接口规划后,充分利用服务接口设计原则,在SOA的理论架构的辅导下实现服务接口的开发工作。OA通过应用组件和传输协议的松散耦合,服务的即时绑定,从而实现业务组件的虚拟化,造就一个虚拟的集成架构或者集成平台服务总线,这样使得服务集成不受任何限制.最终达到敏捷的、不受限制的服务集成目标,从而使IT能够随着业务需求的变化而自由调整。
  2. 基于中间件的集成技术
    中间件是基础软件的一大类,属于可复用软件的范畴。中间件处在操作系统、网络和数据库之上,应用软件的下层,也有人认为它应该属于操作系统中的一部分。过在中间层提供一个统一的数据逻辑视图来隐藏底层 的数据细节,使得用户可以把集成数据源看为一个统一的整体。这种模型下的关键问题是如何构造这个逻辑视图并使得不同数据源之间能映射到这个中间层。
18、简述企业信息系统持续开发与持续集成相关主流技术(DI/CI)

1、CI:持续集成是指不断整合项目更改并进行相应的测试,通常每天至少进行一次,是在源代码变更后自动检测、拉取、构建和进行单元测试的过程。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
2、DI:持续部署是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。目标是,代码在任何时刻都是可部署的,可以进入生产阶段。其前提是能自动化完成测试、构建、部署等步骤。

第八次作业

19、简述Webservice API、RESTful API 的概念,它们之间的优缺点及应用场景
  1. Web Service是构建互联网分布式系统的基本部件,它是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,别人能够用编程的方法通过Web来调用这个应用程序。它通过标准通信协议,在互联网上以服务的方式发布有用的程序模块,目前大部分是用SOAP作为通信协议。它提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫WSDL(Web服务描述语言,Web Service Description Language)。
    优点:a.可操作的的分布式应用程序,可以实现不同应用程序和在不同系统平台上开发出来的应用程序之间通信。
    b.普遍性、使用HTTP和XML进行通信,任何支持HTTP和XML 技术的设备都可以拥有和访问Web Service,不同平台不同开发语言照样可以调用我们发布的Web Service。
    c.Web Service 甚至可以穿越防火墙,真正的自由通信。
    缺点:
    第一,单机应用程序,目前,企业和个人还使用着很多桌面应用程序。其中一些只需要与本机上的其它程序通信。在这种情况下,最好就不要用WebService ,只要用本地的 API 就可以了。
    第二,局域网的同构应用程序在许多应用中,所有的程序都是用VB 或VC 开发的,都在Windows 平台下使用COM ,都运行在同一个局域网上。例如,有两个服务器应用程序需要相互通信,或者有一个Win32 或WinForm 的客户程序要连接局域网上另一个服务器的程序。在这些程序里,使用DCOM 会比SOAP/HTTP 有效得多。
    应用场景:天气预报:可以通过实现webservice客户端调用远程天气服务实现的。
    2.RESTful API就是REST风格的API,即rest是一种架构风格,跟编程语言无关,跟平台无关,采用HTTP做传输协议。RESTful是一种软件架构,风格是面向资源,解决的问题是降低开发的复杂性、提高系统的可伸缩性;
    优点:结构清晰、符合标准、易于理解、扩展方便,可以给自己开发的应用,也可以给第三方用,RESTful由于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时也最大限度的利用了HTTP最初的应用协议设计概念。
    缺点:
    1.对后端开发人员要求高,业务逻辑有时难以被抽象为资源的增删改查。
    2.对前端开发人员不友好,难以查询符合特殊要求的数据,同样的业务要比普通的API需要更多次HTTP请求。
    应用场景:服务之间的系统调用,前后端分离系统
20、简述你计划使用的应用开发框架,及该框架的特点

我计划使用的开发框架是:Spring Boot,一个javaweb的开发框架
这个开发框架简单的来说,就是默认配置了很多框架的使用方式,就像maven使用导入依赖来整合jar包一样,Spring Boot整合了框架。
主要特点:
1.为所有Spring开发者更快的入门
2.开箱即用,提供各种默认配置类简化项目配置
3.内嵌式容器简化Web项目
4.没有冗余代码生成和XML配置的要求

第十四次作业

32、简述(DSSA)领域分析与设计过程。

特定领域软件架构(Domain Specific Software Architecture,DSSA)是一种有效实现特定领域软件重用的手段。DSSA就是一个特定的问题领域中由领域模型、参考需求、参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。
DSSA的基本活动包括领域分析、领域设计和领域实现。
领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求,即领域需求,领域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的解决方案,领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息。
在这里插入图片描述

注:共13次作业,后续内容请下载word文件
https://download.csdn.net/download/hgxiaojiujiu/66953446

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值