初步实现的感悟

到了软件初步实现阶段,我和同伴们进行了简单设计。首先理解问题,过滤非核心信息,抽象出关键信息和他们之间的关系。要给事物构建出一个模型,描述事物、事物的属性、事物之间的关系以及各个事物之间的信息传递。表达实体与实体之间的关系可以用思维导图、实体关系图、用例图。表达数据流动用DFD工具。由此人们建立了统一的表达方式,从结构化数据的角度看ERD,强调静态,强调动态交互有DFD,UCD,ACTIVITY DIAGRAM,从面向对象分为class diagram和sequence diagram,从控制角度看动态的是FSM,flow chart, UML state machine.其他设计方法有形式化的方法,比如vienna development method.和文化学编程。从spec到实现需要把修改集集成到代码库中,开发人员则要根据功能需求复审spc,进行设计,详细设计,实现设计或是编写代码,Dev自测,同伴复审,源代码进行同步、合并、构建,在此过程中不断的发现Bug,分析bug,并进行修改,提交签入关联work item.,自动测试,功能全面测试,从而功能完成。实现完毕后,进行实际测试依然存在问题,进行面对面商讨修改,并查找资料解决问题。

用vsts写单元测试,未经验证的单元测试,如:

///<summary>

///A test for Users(string)

///</summary>

[TestMethod()]

public void ConstructorTest()

{

string userEmail=null;//TODO:initialize to an appropriate

//value

User target=new User(userEmail);

//TODO:implement code to verify target

Assert.Inconlusive("TODO:Implement code to verify target");

}

做了修改:

[TestMethod()]

[ExpectedException(typeof (ArgumentNullException))]

public void ConstructorTestNull()

{

User target=new User(null);

}

[TestMethod()]

[ExpectedException(typeof (ArgumentException))]

public void ConstructorTestEmpty()

{

User target=new User(" ");

}

[TestMethod()]

[ExpectedException(typeof (ArgumentNullException))]

public void ConstructorTestBlank()

{

User target=new User("     ");

}

好的单元测试标准应该在最基本的功能、参数上验证程序的正确性。,单元测试由最熟悉代码的人来写,过后机器状态保持不变,要快,可产生可重复、一致的结果,不依赖与别的测试,可以认为构造数据,覆盖所有代码路径,单元测试应该集成到自动测试的框架中,必须和产品一起保存和维护。进行回归测试和效能分析,有两种分析方法:抽样和代码注入。

软件工程包括了开发、运营、维护软件的过程中很多技术、做法、思想,把这些相关技术和过程统一到一个体系中,叫做“软件开发流程”软件开发的工作量和质量由四个因素衡量:项目的大小、花费的时间、交付的缺陷、是否按时交付。自我评估需要一些核心技能和扩展知识。

两人合作需要我们代码规范,风格规范、设计规范、风格规范如缩进、行宽、括号、断行与空白的{}行、分行、命名、下划线、大小写、注释。设计规范包括函数、goto、错误处理、如何处理C++中的类。最后进行代码复审,目的在于找出错误、发现代码错误、逻辑错误、算法错误、潜在和回归性错误、需要改进的地方等。复审后将错误整理出来,做一个核查表。结对编程来说更能提供更好的设计质量和代码质量。两人合作阶段分为萌芽阶段、磨合阶段、规范阶段、创造阶段、解体阶段。从各个层次给出反馈,最外层是行为和后果、中间层是习惯和动机、最内层是本质和固有属性。希望在这些阶段中我们能合作配合得很好。

时间: 2024-10-25 04:15:09

初步实现的感悟的相关文章

9.8对编译原理的初步认识

编译原理的第一节课,老师为我们分享了几个网站(网站详情本文最底下),是有关于网友们对编译原理这门学问的看法.在别人的眼中,让我们初步领略<编译原理>的气息. 刚开始老师带领我们进入编译原理的世界,为我们介绍了编译原理的三大圣书——龙书.虎书和鲸书,可见在编译原理是一门多大的学问. 编译原理就是什么? 所谓编译,我们能够通俗的想到“翻译”这个词.一个编译程序就是一个语言翻译程序,语言翻译程序把一种语言(源程序)书写的程序翻译成另一种语言(目的语言)的等价程序. 就是程序员编写的高级语言翻译成计二

聘搜索引擎优化任务顺利后的一些集体感悟

比来小编辞去了事先的seo使命,想找一度好点的公司,此外乎正在深圳某个偌年夜年夜的中心初步寻觅适宜本人的公司.关于本人来说,也只要一年多的履历,全副是靠本人试探和进修所得经历.自己将分享一些正在这一度月功夫里找SEO搜索引擎优化义务的一些感悟. 一:定位好公司摩纳哥文娱城 正常来说,你要想好你所进入的事业,公司的规模之类.假如是一度小公司,那样他们确定是没有会让你可是搜索引擎优化优化,还需求兼美工.经营呵护上网站之类任务.关于那样的公司,假如你是小白,是个很好的练习,年夜前提是有人率领.取舍一度

首次自愿者组织练习的感悟

本人自愿参加<敏捷实战>的志愿者活动,通过昨晚(2017年6月26日)的首次自组织志愿者活动,感悟良多为了让自己进行后面的敏捷课程,故此做一次输出.       1.关于人员:首先参加志愿者的人数有限,时间宝贵(大家都是有工作,或者在加班,大家的时间宝贵): 2.关于原则:因是自组织没有事先说明的原则,所以更多的是靠大家的自觉(换句话来讲就是自我导向是否要自我约束,进行自我迭代的学习):这个为日后再做类似的自组织的时候,提供了一个需要思考的点. 3.关于工具:为什么没有用微信语音或会议,之前测

[转]一个“技术文化人”的片段感悟

作者简介 孟岩,曾任CSDN和<程序员>杂志技术总编.(本文来自<程序员>杂志2010年11期) 2003年我加入CSDN,6年之后离开.在2003年之后,我的技术身份就很难界定了.曾经有个朋友称我为“技术文化人”——不以软件开发为生,但整天都在拿软件开发来说事,与这个行业的整体关系可能比任何一个具体的程序员或者架构师都更密切.听上去像是一种恭维,又好像是暗讽,似乎我是站在戏台下面带头起哄的票友.其实在我看来,我与一线技术人的根本区别,在于关注的问题不同:他们关心的如何做好软件,我

初步了解CPU

了解CPU By JackKing_defier 首先说明一下,本文内容主要是简单说明CPU的大致原理,所需要的前提知识我会提出,但是由于篇幅我不会再详细讲解需要的其他基础知识.默认学过工科基础课. 一.总述 先从计算机的结构说起,在现代计算机中,CPU是核心,常常被比喻为人的大脑.现在的计算机都为“冯·诺依曼机”,“冯诺依曼机”的一个显著的特点就是由运算器.存储器.控制器.输入设备和输出设备组成.CPU是运算器和控制器合起来的统称,因为运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大

30年职场生涯的感悟[转]

一个人最终成功与否,在多大程度上成功,也并不是最关键的,关键的是做正确的事情,并且把事情做好的能力. 职业生涯就像一场马拉松比赛 正常人大概要工作35年,这好比是一场马拉松比赛,和真正的马拉松比赛不同的是,这场比赛没有职业选手,每个人都只有一次机会.要知道,有很多人甚至坚持不到终点,只有少数人是跑过终点的,因此在刚开始的时候,去抢领先的位置并没有太大的意义. 职业生涯就像一场体育比赛,有初赛.复赛.决赛.初赛的时候大家都刚刚进社会,大多数都是实力一般的人,这时候努力一点认真一点很快就能让人脱颖而

zerglurker的C语言教程004——指针初步讲解

在上次的教程里面,我提到了指针. 针对指针,这次我将简单的讲讲,后面我还会讲到--那个时候你应该有了相当的基础. 首先,先讲讲指针类型. 任何类型关键字后面加一个*符号,就会变成指针类型. 比如: char → char* 字符指针 int → int* 整数指针 double→double* 双精度指针 甚至还可以这样: char*→char** 字符指针的指针类型 →char*** 字符指针的指针的指针类型- 指针本质上是一个内存地址值,该内存地址上存放的是相关类型的数值.但是void*指针

关于学习的一点感悟

首先声明一下:这里的学习并不特指软件学习,是我工作学习中得到的一些感悟. 人不可能理解他没接触过的事物 学习的时候,如果只是枯燥的文字,复杂的公式的话,一些很好的书籍或者只是便成为了催眠良药.知识如果只是一些天外来客一样的存在,直接空降下来,我们如何去理解他呢?我们只能用现有的只是和经验去类比的学习这些知识,或者在日久天长的接触过程中去渐渐学习知识.很显然,前者比后者来的快的多. 如果一样东西,我无从类比,也不能接触.那么穷我有生之年我也不会理解它. 理论知识如何学习? 理论知识通常都是无数先辈

初步学习 W F 工作流

工作流 根据 WfMC 的定义,工作流(WorkFlow)就是自动运作的业务过程部分或整体,表现为参与者对文件.信息或任务按照规程采取行动,并令其在参与者之间传递.官方的总是很抽象,抽象是为了能够体现各种情况,更加严谨可客观.可以这样理解这个工作流,在现实工作中办公室审批文档的流程. 传统方式:李四申报项目,找王二麻子经理审批完成,接着赵六副总签字,又跑到顶层张三董事画押. 而工作流的操作就是将这样一个流程完全的自动化.电子化,省去了李四到处跑这样一个流程. 简单地说,工作流就是一系列相互衔接.