软件工程第一次作业

  • 一、花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。

我的地址:https://coding.net/u/lf086/p/mytest_/git/blob/master/2.c

  • 二、在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。

 

1.我看了:“MVP的指导思想和渐进交付相似,但是它更强调更早获得用户反馈,为此可以在产品完成之前就发布”有这个问题:产品没完成怎么发布?我查了资料,有这些说法:MVP的架构方法:BS架构,架构→业务层→表现层对于 MVP的观点:MVP没有对错,但要问正确的问题。人们会每天回来使用吗?  人们会成为热心的推广者吗?  人们会为你的产品付费吗?如果不是说明这款产品不够刚需,人们不是特别喜欢。MVP要完成核心循环(Core loop)MVP与功能无关,与价值体验有关:让用户看到你的价值以及核心的体验功能点。让用户完整的体验你的价值,而不是功能与细节:别让用户纠结于按钮颜色之类的细节方面。最好让用户有点门槛:让用户有思考,让他会考虑这狂产品有无价值。但是我还是不懂:MVP与敏捷流程有什么联系吗?

2.我看了:“WBS分割的结果是一棵树,所有子节点都最终有一个根节点,每个节点描述的是要交付的产品或文档”我有这个问题:为什么WBS分割的结果是一棵树?我查了资料,有这些说法: 但是我还是不懂:怎么样才能保证节点不要相互覆盖。

3.我看了:图形建模和分析方法,有这个问题:表达控制流,我查了资料,有这些说法:控制流分析的目的是根据程序中的跳转语句构造一个表达程序结构的控制流图。数据流分析可以在控制流图的基础上通过迭代分析得到感兴趣的数据流结果,比如variable liveness, reaching definition等等。但是我还是不懂:控制流和基本流程图一样吗?

4.我看了:MSF的九条原则,有这个问题:怎么样选定推动信息功享与沟通的涉及的角色?我查了资料,有这些说法:用大白话来说,就是所有信息都保留,并公开,讨论要包括所有涉及的角色,决定要公开,并告知所有人。当然,对牵涉到技术机密、安全性等信息要采取必要的保护措施。我还是不懂:怎么样对信息安全性采取报护措施?

5.我看了:敏捷不是万能的,和任何武功、战术一样,敏捷有它最适用的范围。我有这个问题:敏捷的适用范围是什么?我查了资料,有这些说法:
敏捷过程的适用范围 软件需求经常变化或者需求变化比较大; 项目团队与用户之间进行沟通比较容易; 项目的开发风险比较高; 规模比较小,一般项目组成员在50 人之内; 项目团队的成员能力比较强,而且具有责任感; 项目的可测试性比较好。但是我还是不懂:项目规模过大时,项目组成员会不会乱?

三、软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。

1.操作系统:操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统所处位置作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,提供了各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口。

2.工具软件:占用空间小,一般只有几兆字节到几十兆字节,安装后占用磁盘空间较小。功能单一,每个工具软件都是为了满足电脑用户某类特定需求设计的,因此其功能单一。可免费使用,大部分工具软件用户可以从网上直接下载到本地电脑上使。使用方便,更新较快。

3.企业软件:和专业软件公司开发过程一样,企业内部软件开发也涉及对过程、工具、质量、人员等各个层面的管理问题,所以目前成熟的或者正在探讨中的各种软件开发模式都可以被企业内部软件开发借鉴和参照。但是,在服务、非赢利的前提下,企业内部软件开发的各方面都有有别于专业软件公司的特点。目前关于企业内部软件开发模式和管理的探讨比较少,很多人,甚至企业内部开发团队的成员本身,都没有明确企业内部软件开发和专业的软件公司开发工作的不同,在项目管理、文档控制等方面经常教条的模仿专业软件公司的开发模式。这种认识上的模糊性削弱了企业内部软件开发团队在软件的生命周期中本来具有的优势。

posted on 2018-03-21 12:51  刘芳(小猪佩奇队)  阅读(183)  评论(1编辑  收藏  举报

导航