软件工程实验一
Posted meihe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程实验一相关的知识,希望对你有一定的参考价值。
项目 | 内容 |
---|---|
班级课程博客链接 | 20级卓越班 |
此次作业链接 | 实验一软件工程准备 |
我的课程学习目标 | (1)学习博客园软件开发者学习社区使用技巧和经验 (2)了解Github的基本操作 |
本次作业在哪些方面帮我实现学习目标 | (1)了解与掌握博客园的使用 (2)熟练Github的基本操作 (3)学会使用markdown编辑器的基本操作 |
实验内容
任务1:填写课程调查问卷(https://www.wjx.cn/vm/e4jdhAf.aspx#)
- 已填写并提交调查问卷
任务2:在博客园平台注册个人博客账号和加入班级博客
- 已完成博客账号注册并加入班级博客
任务3:注册Github账号
- 已完成Github账号注册
任务4:点击链接填写博客园账号与github账号的链接
- 按要求填写了博客园和Github账号信息
任务5:构建之法与博客首秀
阅读《现代软件工程—构建之法》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题
问题1:什么是软件工程?
- 软将工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护的过程。它包括软件需求分析、软件设计、软件构建、软件测试和软件维护
问题2:软件的概念是什么?它有什么特性?
- 软件=程序+软件工程:正是因为对软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)相关的内容的完成,才能完成把整个程序转化成为一个可用的软件的过程。
- 软件的特性:
- 有许多不同的程序设计语言、软件工具和软件开发平台
- 存在许多不同的软件开发流程
- 软件团队中存在许多不同的角色
- 软件的特殊性:
- 复杂性、不可见性、易变性、服从性、非连续性(由软件的本质所决定的)
- 软件通常既可以存储在磁带上,也可以存储在CD/DVD上
问题3:什么是敏捷开发?它有什么特点?如何分类?
- 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用的版本。然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。
- 敏捷软件开发特点:
- 首要任务是尽早地、持续地交付可评价的软件,以使客户满意。
- 乐于接受需求变更,即使在开发后期也是如此。敏捷软件开发能够驾驭需求的变化,从 而为客户赢得竞争优势。
- 频繁交付可使用的软件,交付的间隔越短越好,可以从几个月缩减到几个星期。
- 在整个项目开发期间,业务人员和开发人员必须朝夕工作在一起。
- 围绕那些有推动力的人们来构建项目,给予他们所需的环境和支持,并且相信他们能够把工作做好。
- 开发团队及在开发团队内部进行最快速、有效的传递信息的方法是面对面交谈。
- 可使用的软件是进度的主要衡量指标。
- 提倡可持续发展。出资人、开发人员及使用者应该共同维持稳定的开发速度。
- 为了增强敏捷能力,应持续关注技术上的杰出成果和良好的设计。
- 简洁,最小化那些没有必要投入的工作量是至关重要的。
- 最好的架构、需求和设计都源于自我组织的团队。
- 团队定期反思如何变得更有战斗力,然后相应地转变井调整其行为。
- 敏捷开发模式的分类
敏捷开发的实现主要包括 SCRUM、XP(极限编程)、Crystal Methods、FDD(特性驱动开发)等等。其中 SCRUM 与 XP 最为流行。同样是敏捷开发,XP 极限编程 更侧重于实践,并力求把实践做到极限。这一实践可以是测试先行,也可以是结对编程等,关键要看具体的应用场景。
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、具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考。
以上是关于软件工程实验一的主要内容,如果未能解决你的问题,请参考以下文章