软工学习记1

这学期,我们分了方向,专业方向。也许向老师说的那样学习好的选了计科,我大概属于学习差的吧。高中的紧绷让我到了大学不知道该干嘛了,荒废了整个大一,到现在还不知道自己读了大学学会了干什么。现在我要追赶了,毕竟差的不是一点半点。分了方向,有了任务,也大概自导自己该干嘛了。开始感觉还是挺无从下手的,不过信心还是有的。也算亡羊补牢吧。

这俩星期自己抽空看了看这本构建之法。粗略明白了点要想开发一个堪称完美的软件是十分困难的。需要大量人力时间。软件等于程序加软件工程,软件开发的阶段不同,我们所需要的标准花费的功夫都大大不同。而我们的软件工程是把系统的有序的可量化的方法都应用到软件的开发、运营和维护的过程上。软件工程包括下面这些领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。我们的目标便是创造出足够好的软件来适应用户的各种需求。没有缺陷即没有bug,何为bug,软件的行为和用户的期望值不一样就叫bug。要想开发好的软件,必须要了解用户的期望功能,需求分析。而且软件还是很特殊的,和以往的传统工程还是有云泥之差的。它很复杂、不可见、易变、服从、非连续性。种种性质决定了软件工程与传统工程的大大不同。

开发出一个完备的软件是十分依赖一个分工明确,团结合作紧密的team。团队的模式有很多种。蜂窝模式、主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐模式、爵士乐模式、功能团队模式、官僚模式等等。这么多的团队模式,各自有个自适应的地方。每个都有长短,适合自己的才是最好的。同样,开发流程也有模式的应用。如改了再写模式和瀑布模式。根据瀑布模式延伸出了回溯的方法,业提出了文档的重要性。一步步完善瀑布模型。而更高级的的统一 流程。rup把软件开发的各个阶段整合在一个统一的框架里。要完成一个发咋的软件项目,团队的各个成员就要在不同的阶段完成不同的事情,这些在rup中叫做规程或者工作流。如下:业务建模、需求、分析和设计、实现、测试、部署、配置和变更管理、项目管理、环境。rup还有四个阶段:初始阶段、细化阶段、构造阶段、交付阶段。这四个阶段从软件系统的大概构成,软件可行分析到编程测试。都一步一步走过。而在中国的一些企业中,不少开发流程是由行政领导主导,公司老板驱动的。这种模式也不是没道理。他更加了解市场需求,软件的功能由他们确定。当然这个模式也有缺点。现在在1996年由steve提出的渐进交付的流程,MVP和MBP。大抵是在开发、发布、听取反馈做改进不断的循环了。MVP为最小可行产品,又称最小功能集。是把产品最核心的功能用最小的成本实现出来,然后快速征求用户意见。MVP的指导思想和渐进交付相似,他更早的强调获得用户反馈,也强调产品的核心价值。和它相对应的是MBP最强最美产品。如果对用户的需求了然于心,或者产品团队比用户更了解用户的需求,就要把产品最全面、最美的形态展现出来。

但是一个团队的完美配合毕竟太难,每个人都有每个人的特点风格,俗话说江山易改本性难移嘛。每个人的长处也不同,所以我们应该对症下药充分利用不同的长处和谐发展。对于团队的管理也十分重要。这里就要说到绩效管理了。其实在软件工程中的绩效管理很麻烦,众说纷纭。研究来研究去还是看团队的贡献度吧。评判标准还是整个团队中分析。团队合作实属不易。我们也分为几个阶段,萌芽阶段、磨合阶段、规范阶段、创造阶段。一个团队从对个人的定位模糊,做事不严谨慢慢转变相互配合相得益彰。最终爆发很强的凝聚力、创造力。这才是一个成熟的团队。人人各司其职,有条不紊。而我们团队的效能曲线也是一个先减后增的曲线随着团队效率的提高继而团队的影响力也会增加。我们最终都会成长,至于那些软件工程师,没个人都该明白自己的定位,清楚地把自己的职业道德谨记在心。

时间: 2024-09-29 17:29:30

软工学习记1的相关文章

软工学习记4

随着学习的进程越走越远,我们的团队也更加确定.在人员分工.开发项目方面都做出了明确的规划.有了个目标,我们便不是那么迷茫,困惑着去学习,学习了这么久到底能干什么?这个问题很关键.我和我的队友们也达成了共识,决定尝试着去做一下一个基ASP动态网页开发技术的二手书贩卖系统.我们的分工也十分明确. 牟得力主要负责总体的规划,也就是我们的小领导.钱政捷主要负责数据库的建立和对接,杨子琪版式设计后期处理美化,我呢,就是开发ASP网页主题的构建咯. 对于一群对编程并不太擅长的学渣来说,一个有着太复杂功能的系

软工学习记5

关于二手书系统的需求分析以及策略. 我们组已经分好了工作,开始各司其职的进行,虽然困难重重,但总要一步一步解决.我们只能尽力而为,即使做不出来,但是学了总归要是学点东西.起码要计划好吧! 当前在国家大力支持环保项目的号召下,以及未来对环保重视程度的不断加深,二手市场是个有着广阔前景的市场,在等待我们来开发.因此以“资源再利用”为主题,在大学校园里进行闲置物品的回收.翻新再利用和售卖,并开展一定程度的寄卖.这为在校大学生提供了便利服务的同时,也避免了资源浪费和环境的破坏,提高教科书等物品的使用率,

软工学习记2

我们要开发的软件,大都是为了满足客户的需求.但是一些客户的需求却是模糊的,没有一个完好的定义.而且人们的需求五花八门,这就需要我们的需求分析了. 1.获取和引导需求.软件团队需要找到软件利益相关者,了解和挖掘他们对软件的需求,引导他们表达出对软件的需求.2.分析和定义需求.即是从各个方面获取的需求进行规整,定义需求的内涵,从各个角度将需求量化.3.验证需求.软件团队要跟利益相关者沟通,通过分析报告.技术原型.用户调查或演示等形式向他们验证软件团队对于这些需求的认知.4.在软件产品的生命周期中管理

软工学习笔记——代码规范

上大学以来写了这几年的代码,却一直没怎么关注过代码规范相关的问题,直到软工课上讲了之后,才开始有所顾及.上课的时候回头看看自己写过的那些代码,真是丑死了,几个月前自己写的代码现在就已经读不懂了. 看了书上的相关章节,对于我来说,我觉得我的代码主要注意这几点: 1. 少写冗余代码,已经用不到的代码段就应该删去.(我今天刚刚发现我的昆特牌Online项目中竟然还存在有两个没用的类) 2. 多利用空行来将代码小规模地分段. 3. 大段的无用代码不要一直注释着,该删就删.(我的项目里经常会有一大堆没用的

《构建之法》——软工学习进度(3)

合作与审核 首先是代码的规范问题.关于这个代码规范,我并没有花很多时间去阅读,可能是自己的习惯,代码风格一向都是简约而规范.就比如在写一些if语句的嵌套时,很多人都习惯了不加括号,即使加括号可能是多此一举但我还是习惯加括号,不为别的,就为自己甚至别人看上去能更加清楚,这并不是画蛇添足,我觉得更像是画龙点睛.不过这一节对变量的命名我倒是深有感触,我们习惯了教科书上的一些命名,所以有时候看到问题不假思索的就为变量命了书上常出现的名字.但是当我们之后再去复核时,我们往往不懂这些变量在这个问题中的意义,

《构建之法》——软工学习进度(2)

如何衡量一个软件工程师 如何衡量一个软件工程师?这是<构建之法>第三章的核心问题.第一章讲述了团队的流程,第三章则是对第一章的具体描述,从笼统的团队具体到个人.软件开发流程不光指团队的流程,还包括了个人开发流程,因为软件团队是由个人组成的,简而言之,个人在团队中也有独立的流程.那么问题来了,如果我们去面试,该如何定义我们自身呢?又或者说,看到一个同行的软件工程师,该如何形容他的技术? 第三章通过对足球的比喻,向我们形象的阐述了这个问题的关键.足球中有传接.盘带.射门等具体技术,映射到软件工程上

《构建之法》——软工学习进度(7)

软件设计与实现 图形建模和分析方法:①表达实体和实体之间的关系: 思维导图:思维导图没有严格的语法定义,一般来说是从图形的正中开始写下一个概念,然后按照绘图者所关心的属性拓展.几乎每个人都能马上开始画图.思维导图形式灵活,适用于很多鼓励探索.发散思维的场合,但是它的图形元素缺乏严格的语法和语义. 实体关系图:着重于表现现实世界中的实体和它们之间的关系.在我们分析实体之间的关系时,这就是一个理解和抽象的过程.当我们要表示实体之间的静态关系时,ERD时一个合适的工具. UCD:用例图的元素简单,绘图

《构建之法》——软工学习进度(5)

敏捷流程 1.定义: 敏捷流程是一系列价值观和方法论的集合.流行做法的价值在得到肯定的同时,我们也发现敏捷的做法更能带来价值. 2. 敏捷开发的原则: ①.尽早并持续地交付有价值的软件以满足顾客的需求. ②.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势. ③.经常发布可用的软件,发布间隔可用从几周到几个月,能短则短. ④.业务人员和开发人员在项目开发过程中应该每天共同工作. ⑤.以有进取心的人为项目核心,充分支持信任他们. ⑥.无论团队内外,面对面的交流始终是最有效的沟通方式. ⑦

[软工]学习计划

项目目标 一个和Github有联动的博客平台. 技术分工 前端 js+es6 vue nodejs 后端 js+es6 nodejs Express/koajs/eggjs 链接 朋友的js教程 阮一峰的js教程 阮一峰的es教程 vue教程 Express教程 原文地址:https://www.cnblogs.com/jhy16193335/p/11474587.html