202031607330-杨雯丽 实验一 软件工程准备—认识软件工程
Posted ponytails
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了202031607330-杨雯丽 实验一 软件工程准备—认识软件工程相关的知识,希望对你有一定的参考价值。
实验一:软件工程准备
项目 | 内容 |
---|---|
班级课程博客链接 | 20级卓越班 |
此次作业链接 | 实验一软件工程准备 |
我的课程学习目标 | (1)学习博客园软件开发者学习社区使用技巧和经验。 (2)了解Github的基本操作。 |
本次作业在哪些方面帮我实现学习目标 | (1)了解与掌握了博客园的基本使用 (2)熟练了Github的基本操作 (3)阅读了现代软件工程构建之法,为软件工程的学习做准备 |
任务1:填写调查问卷
- 填写并提交了调查问卷
任务2:在博客园平台注册个人博客账号和加入班级博客
任务3:注册Github账号
- 已注册Github账号
- 开源和Github的相关概念:
- 开源项目托管平台:用于免费存放开源项目源代码的网站
- Github是全球最大的开源项目托管平台,因为只支持 Git 作为唯一的版本控制工具,故名 GitHub。
任务4:点击链接填写博客园账号与github账号的链接
- 已填写账号
任务5:构建之法与博客首秀
1.软件工程是什么? |
- 相关概念:
- 把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程。
- 软件工程包括下列领域:软件需求分析,软件设计,软件构建,软件测试和软件维护。
- 软件工程和下列学科相关:计算机科学,计算机工程,管理学,数学,项目管理学,质量管理学,软件人体工学,系统工程,工业设计和用户体验设计。
- 软件开发流程:人们在开发,运营,维护软件过程中有很多技术,做法,习惯和思想体系。软件工程把这些相关的技术和过程同一到一个体系中,叫“软件开发流程”。软件开发流程的目的是为了提高软件开发,运营,维护的效率,并提高软件的质量,用户满意度,可靠性和软件可维护性。
2.什么是软件及软件的特殊性? |
- 软件:
- 软件可以是运行在计算机及电子设备中的指令和数据的有序集合。软件有各种分类方法,以下是其中一中:
系统软件:操作系统,设备驱动程序,工具软件等
应用软件:用户使用它们来完成工作
恶意软件:软件病毒等
- 软件可以是运行在计算机及电子设备中的指令和数据的有序集合。软件有各种分类方法,以下是其中一中:
- 软件的特殊性:
- 复杂性(Complexity):软件可以说是人类创造的最复杂的系统类型,软件的各个模块之间有各种显性或隐性的依赖关系,随着系统的成长和模块的增多,这些关系的数量往往以几何级数的速度增长.
- 不可见性(Invisibility):工程师是“看”不到自己的源代码如何具体地在用户的机器上被执行的
- 易变性(Changeability):人们自然地期待软件能在下面两种情况下“改变”: a) 让软件做新的事情;b) 让软件适应新的硬件
- 服从性(Conformity):软件不能独立存在,它总是要运行在硬件上面,它要服从系统中其他组成部分的要求,它还要服从用户的要求、行业系统的要求
- 非连续性(Conformity):输入上很小的变化,会引起输出上极大的变化
3.软件工程的目标是什么? |
- 软件的Bug多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性。例如:
- 用户满意度:用户使用时发现了很多Bug,影响了用户使用软件的效率
- 可靠性:某个软件经常会崩溃,某个操作系统会时不时死机
- 软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件。
- 可维护性:某个软件很难维护,修复了一个问题,另一个问题又出来了。也没有足够的文档,需要更多的资金和时间来维护这个软件
- 什么是Bug呢?
- 简单来说,软件的行为和用户的期望值不一样,就叫Bug。
- 目标具体是付出什么?
- 付出较低开发成本,达到要求的功能,取得较好的性能;开发的软件易于移植,只需较低的维护费用,能按时完成开发任务,及时交付使用;开发的软件可靠性高等。
130242014050-池国雄-实验一
实验报告
课程软件体系结构 实验名称 实验一、软件设计的网络支持环境
专业____软件工程_班级___2班______学号__130242014050 姓名池国雄
实验日期:2017年9月14日报告退发(订正、重做)
一、实验目的
(1)复习软件工程的重要概念,熟悉软件体系结构与软件设计技术的基本概念与内容。
(2)通过因特网搜索与浏览,了解网络环境中主流的软件体系结构与设计技术网站,掌握通过专业网站不断丰富软件体系结构和软件设计技术最新知识的学习方法,尝试通过专业网站的辅助和支持开展软件体系结构和设计技术应用实践。
二、工具/准备工作
开始本实验之前,请认真阅读课程的相关内容。
需要准备一台带有浏览器,能够访问因特网的计算机。
三、使用内容与步骤
1.概念理解
1.1
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。由于软件系统具有的一些共通特性,这种模型可以在多个系统之间传递,特别是可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用。
1.2
软件开发知识半衰期:
一个在某一领域很有学问或有丰富专业知识的人,如果不再学习,在一定时间后进入知识半衰期,即基础知识仍可用,其他的一半新知识已经落伍。当前,知识半衰期正在日益缩短,由最早的100年逐渐缩短至当前的3年。
知识裂变速度“一日千里”,今天的知识即使刚印到书本上就可能被淘汰,知识的质更趋向于活化的能形成智慧的那部分知识,死的知识的记忆在很大程度上交由电脑完成。一个人如果不学习或停止学习的时间太久,则与社会基本脱节。
1.3
计算机与软件专业技术人员的职业前景:
人才结构呈两头小中间大的橄榄型结构,即软件高端人才,包括系统分析师、项目技术主管等,和低端人才,如软件编码程序员等从事基础性软件开发的人员都严重短缺,而中级(端)人才过剩。
到现在IT行业依然是官方TOP10热门专业之一。国家大力推行信息产业建设、企业的信息化程度要求越来越高、电子商务越来越普及。就中国来说,IT产业在过去几年经历了年28%的增长速度,是同期国家GDP增长速度的三倍,对GDP增长的拉动作用已进一步增强,对我国国民经济增长的贡献率不断提高。IT行业得到了极大的发展。IT行业还是有很大的人才缺口,IT行业有发展,就有人才就填充。
计算机应用技术主要从事企、事业单位的计算机辅助管理、辅助设计、计算机维修、网络维护、企业网站的建设与维护等。此外还能胜任机关、学校、公安、部队、银行、IT行业、广告行业、印刷行业,电信与通讯等领域的信息综合性技术应用工作。
1.4
系统设计师:
系统设计师(SD)是负责设计与开发应用软件系统.使其正确的反应出有效的信息,协助企业经营者管理、营运公司的运作者。系统分析师是抽象模型的建立者,他们需要专业的conceptionmodel(概念模型)知识和基础编程技巧。杰出的系统分析师会利用编程技巧来辅助建立conceptionmodule。
当软件规模比较小时,系统分析师所完成的工作是把真正的业务需求(这个需求不是指客户简单所说的哪一个功能,而是需要去挖掘的,可能是潜在的但又是系统必需的,条例清楚、逻辑清晰的业务功能,而且需求不仅仅只是来自业务上的,系统所依赖的运行环境也会产生一些需求)转换成计算机可理解、可实现、可计算的模型。但由于现在的系统规模越来越大,复杂程度越来越高,而且应用领域也越来越广,所以很难由一个工种的人来全面完成这项艰巨的任务。
系统分析员:
系统分析员(system analyst)是 对大型、复杂的信息系统建设任务中,承担分析、设计和领导实施的领军人物。 要做好与客户之间的关系,同时对客户的需求要正确的理解,要选择合适的开发技术,同时做好与客户间沟通交流,学会说服对方。
软件架构师:
软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。在技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,软件架构师能迅速抓住问题要害,并做出合理的关键决定的能力 l、具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考。
以上是关于202031607330-杨雯丽 实验一 软件工程准备—认识软件工程的主要内容,如果未能解决你的问题,请参考以下文章