软件工程

软件工程流程

喜夏-厌秋 提交于 2019-12-23 10:34:42
1问题定义 问题定义阶段必须回答的关键问题:“要解决的问题是什么?”如果不知道问题是什么就试图解决这个问题,显然是盲目的,只会白白浪费时间和金钱,最终得出的结果很可能是毫无意义的。尽管确切地定义问题的必要性是十分明显的,但是在实践中它却可能是最容易被忽视的一个步骤。 通过问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。通过对系统的实际用户和使用部门负责人的访问调查,分析员扼要地写出他对问题的理解,并在用户和使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不精的地方,改正理解不正确的地方,最后得出一份双方都满意的文档。 问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。 2可行性研究 这个阶段要回答的关键问题:“对于上一个阶段所确定的问题有行得通的解决办法吗?”为了回答这个问题,系统分析员需要进行一次大大压缩和简化了的系统分析和设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。 可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。 在问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究阶段应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益

软件工程期末考试知识点汇总

心已入冬 提交于 2019-12-23 01:43:38
1、软件工程学概述 软件危机 软件工程 软件生命周期 软件工程 2、可行性研究 可行性研究的任务 系统流程图 数据流图 数组字典 3、需求分析 需求分析的任务 分析建模与规格说明 4、总体设计 设计原理 高内聚,低耦合的系统有什么好处呢? 面向数据流的设计方法 5、详细设计 设计问题 过程设计的工具 程序复杂程度的定量度量 计算环形复杂度的方法 6、实现 软件测试基础 单元测试 单元测试 白盒测试技术 黑盒测试技术 调试 7、维护 软件维护的定义 软件的可维护性 8、面向对象方法学引论 面向对象方法学的优点 面向对象的概念 对象模型 用例图 9、综合其他章节 建立对象模型 软件重用 工作量估算 能力成熟度模型 10、简答题 来源: https://www.cnblogs.com/gede/p/11148120.html

1 软件工程开篇

点点圈 提交于 2019-12-22 17:06:17
一 学习软件工程四大要素 1 用器 器---->工具,使用工具可以直接看到效果。比如viso画架构图,jenkins持续化集成工具 2 学术 掌握相关的理论方法,比如使用需求分析的方法,让用户有更好的体验。在这个过程中结合工具能有更好的效果 3 悟道 道是本源,软件工程知识的核心思想和本质规律。比如敏捷开发,本身不是一种方法二十一套价值观和原则,领悟这个道,就可以成为处理相关项目问题的依据。 4 传道 如果能把自己掌握学习的东西清楚的讲解给人家,这样可以让自己对知识本身有更深入的理解。 二 书籍整理 1 构建之法 对软件工程各个知识点和技能进行了系统性的整理。 2 人月神话 40年经典老书 3 人件 作者指出知识型企业的核心是人,而不是技术 4 知行合一:实现价值驱动的敏捷和精益开发 较多真实案例,对敏捷开发和CMMI有深入描述 5 持续交付 讲述如何实现更快,更可靠,低成本的自动化软件交付。 三 总结 了解软件工程中的几大要素,用工具,理解道理,传播知识。 四 知识思维导图 后面每学习一部分就加在上面。 来源: CSDN 作者: L的存在 链接: https://blog.csdn.net/L15519543837/article/details/103653655

软件工程过程 第0章 目录

♀尐吖头ヾ 提交于 2019-12-22 16:58:29
第1章 绪论 1.1 软件制造是个复杂的过程 1.2 软件产品与软件工程过程 1.3 研究软件工程过程的意义 1.4 软件生存周期过程标准 1.4.1 基本概念 1.4.2 ISO/IEC 12207 软件生存周期过程标准 1.5 本书结构 第2章 软件开发的主要活动 2.1 需求工程 2.1.1 需求获取 2.1.2 需求分析 2.1.3 需求规格说明说 2.1.4 需求验证 2.1.5 需求跟踪管理 2.1.6 需求变更管理 2.2 设计 2.2.1 高层设计 2.2.2 详细设计 2.3 构造 2.4 测试 2.5 运行 2.6 软件项目管理 2.6.1 项目管理活动 2.6.2 软件开发计划 2.6.3 风险管理 2.7 配置管理 2.7.1 配置项和基线 2.7.2 配置库 2.7.3 配置管理流程 2.7.4 配置项标识 2.7.5 版本控制 2.7.6 配置控制 2.7.7 状态簿记 2.7.8 配置审计 2.8 验证与确认 2.8.1 V&V 的目标 2.8.2 计划 V&V 过程 2.8.3 软件 V&V 实施 2.9 软件质量保证 2.9.1 计划 SQA 过程 2.9.2 软件产品保证 2.9.3 软件工程过程考虑 2.9.4 SQA 适时考虑 2.10 联合评审 2.10.1 计划评审过程 2.10.2 项目管理评审 2.10.3 技术评审 2.11 审核

软件工程总结

元气小坏坏 提交于 2019-12-22 15:05:18
软件工程这门课程的学习已经结束了,回顾这一学期,回顾每一次的课堂测试,的确有些进步,但是也有很多知识没有记得特别牢固,建民老师非常注重实践,而且很多代码上的知识只靠死记硬背是很难记得很牢固的,在上学期我们学习了 java 语言, Java 中的很多语法知识不去一遍一遍的敲是很难记住的,所以这学期的软件工程我们不仅仅学到了软件工程的知识,每周都会有一个课堂测试,有一些课堂测试对于我来说难度很大,主要就是因为对 java 语法的不熟悉,对新学到的知识没有及时巩固,导致上学期学到的很多 java 语法都忘记了,而且我原来看到过的面试要求,没有一个不要求 java 的,可见 java 语言的重要性,所以我准备在接下来的很长一段时间里,对 java 语言进行巩固复习。 开学第一节课的考试,我的印象非常深刻,一个完整的 mis 系统,虽然老师给了 css 界面的模板,但是对于那时候的我来说,一点点也看不懂,甚至想添加个 input 标签都不知道添加到哪里,但是现在如果给我这样一套 mis 系统让我完善的话,我应该能做的不错。 石家庄地铁购票系统,是我们制作的第一个团队合作的项目,但是因为时间非常短,而且我家里突然发生了一些事需要回去处理,我们没有团队合作制作,靠另一个同学制作的,我后期又自己制作了一个 web 端的这么一个小系统,难度不算很大,因为上学期我们的审核就是做一个 web

个人作业——软件工程实践总结作业

牧云@^-^@ 提交于 2019-12-22 12:32:03
格式描述 ----------- - **这个作业属于哪个课程:**[软件工程实践](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W) - **这个作业要求在哪里:**[作业要求](https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W/homework/3316) - **学号:**221600431 - **这个作业的目标:**软件工程实践总结 一、请回望开学初的第一次作业,你对于软件工程课程的想象 -------------- **(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?**   在准备篇博客中提到,我的目标是掌握软件工程基础知识,学会与同学协作完成项目。   达到期待:学会了协作完成项目。   存在不足:专业知识不牢固,拖累了开发进度。 **(2)总结这门课程的实践总结和给你带来的提升,包括以下内容:** - 统计一下,你在这门软件工程实践中,完成了多少行的代码; 900行左右。 - 软工实践的各次作业分别花了多少时间?(做一个列表) 序号 作业 时间(h) 1 个人作业第一次—准备篇 1.5 2

软件工程复习

旧时模样 提交于 2019-12-22 02:41:37
主要知识点 结构化方法 20世纪70年代-80年代广泛使用 是从结构化的程序设计开始逐步扩展为包括结构化 分析 、结构化 设计 、结构化 程序设计 的系统方法。它用分层的 数据流图 和 控制流图 开发系统的功能模型和数据模型。结构化设计方法是按照系统功能模型,自顶向下,逐步求精,最终得到组成系统的模块(子系统)及它们之间的控制关系 形式化开发方法: ~是渗透在软件生命周期中各个环节的 数学方法 或者是具有 严格数学基础 的软件开发方法。形式化方法的基本含义是 借助数学的方法 来研究计算机科学中的有关问题。 黑盒测试: 如果已经知道软件应该具有的功能,可以通过 测试 来检验每个功能是否都能正常使用,这种测试成为黑盒测试。 软件实现: 指通过程序设计和编码的过程,把软件的详细设计映射为计算机可以“理解”并最终可以运行的代码,它设计编写代码、单元测试、集成测试、调试和确认等多项活动,是一个 迭代过程 。 它除了要求编写的代码完全符合软件设计确定的功能,还需要控制和降低程序复杂性,增强程序的 可维护性 增量过程模型的基本思想: 体系结构视图:一个完整的软件体系结构应该包含以下视图: 逻辑视图 :体系结构中各软件模块的 逻辑功能划分 (职责分派),以及基于这种划分的 协作行为 开发视图 :软件源代码的 程序分包 及目录结构,采用的类库、中间件或框架,它们与逻辑视图中各模块之间的 映射关系

第一次作业-准备篇

。_饼干妹妹 提交于 2019-12-21 12:31:24
课程链接: 软件工程实践 作业要求: 第一次作业-准备篇 课程目标:提高应用软件开发能力和团队协作能力 具体方面:对博客的学习,以及对完整项目流程的认知希望有一个阶段性的提高 (以下内容参考和转载于 北航助教 陈彦吉 的 博客 http://www.cnblogs.com/ChildishChange/p/7363123.html ) 考研?工作? http://www.cnblogs.com/skyfsm/p/6672167.html (你的选择是什么?) 科班出身: A. https://book.douban.com/subject/4006425/discussion/22803733/ (把每天把要做的事情分成ABCD四类:A-紧迫且重要;B-重要不紧迫;C-紧迫不重要;D-不重要不紧迫。你是否有类似的习惯?) B. https://book.douban.com/subject/4006425/discussion/22803961/ (你是否也觉得自己是科班,但没学懂计算机?) C. https://book.douban.com/subject/4006425/discussion/22802960/ (把每天胡思乱想的东西记在一个笔记本上,作为思维快照,并常常翻回去自省,看看过去和现在的变化。这样的习惯呢?) 以上三篇来自《IT小小鸟的故事》 https:/

实践第一次随笔作业

耗尽温柔 提交于 2019-12-20 11:32:15
1551429 阮俊 此次随笔是记录我在阅读《构建之法》是的各种心得和感想的,首先个人觉得这本书的作者应该是我们软件工程专业学生的一个很高水准的目标吧,很庆幸能接触到这样的大神的心得笔录,也希望能捕获到他的专业知识和工作经验,完善自己在开发软件上的学习发展。初读此书,感觉整本书应该是给人一种通俗易懂的感觉,序言部分大量的同行间的交流与推荐,让我认识到有一块被称为程序猿的团体,他们并不是映像中的死板刻薄,整天死气沉沉,而是一群有活力,有创造力的精英团体,作为有野心的学生党很渴望成为他们的一员。 第一章的概论部分首先给我一个总体的认知就是三个公式,1.程序=数据结构+算法;这是学习软件的基础知识,这让我们知道一般的程序需要一系列数据结构的构建和不同算法的执行与优化,然而这不是这本书的重点,因为软件工程理论的学习中,小规模的程序实现真的只是九牛一毛的存在。2.软件=程序+软件工程;一个简单的程序,扩展到一个满足各种功能的应用软件,再扩展到一个能保证服务质量的服务软件是一个耗时耗力的过程,软件团队要从需求分析开始,把适合的需求梳理出来,然后逐步展开后续工作,如设计,实现,测试,到最后的软件发布,很多好的软件都赢在用户体验这一方面,然而用户体验和数据结构和算法并没有什么直接的关系。3.软件企业=软件+商业模式;程序是基本功,但是在数据结构和算法之上,软件工程决定了软件的质量

第一次作业-准备篇

ⅰ亾dé卋堺 提交于 2019-12-20 06:49:37
第一次作业-准备篇 课程: 软件工程1916|W(福州大学) 作业要求: 第一次作业-准备篇 课程目标: 尝试学会软件开发流程,进行一次团队合作,积累经验 本次作业具体目的: 了解并熟悉使用markdown,学会使用博客作为积累编程经验的方式,认清自己的能力以及需求,并对未来做好初步规划 问题回答 (1)回想一下你初入大学时对软件工程专业的畅想 当初你是如何做出选择软件工程专业的决定的?  觉得软件工程很酷,想象中IT应该是很厉害,也很好玩,然后再看就业收入也是排名第一,我就选择了软件工程。 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么? 落差有点大,跟电影里嗒嗒嗒完全不一样,只有苦逼的攻克一个又一个题目,入门也是有点艰难。 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗? 一部分是我喜欢的领域,比如写出个有趣的东西,做gui这样;一部分不是很喜欢吧,编程常常会出现不是1就是0的结果,花了几十小时无用功,知道是常态,但还是让人心烦。 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因 是,就打算在福州工作。可以从小公司开始做起积累经验,岗位还不确定适合做什么,没想好。 (2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少? 掌握c,c++