软工课程读书笔记

   这个学期的软工课程相对而言是很特殊的,没有期末考试,取代的三个由简到难的项目,也由一人变成多人团队开发,还有每周一篇的博客来记录自己的学习情况。这就要求我们平时注重知识的积累,多看书才能很好的完成任务。

  软件开发过程基础:需求分析。姑且将我们的6人小组称为软件团队吧。我们是为用户服务的,用户的需求是千奇百怪的,甚至大部分时候用户也说不明白他期待的软件是什么样子的,如果这个时候我们不做详细的用户需求分析,就想当然的进入软件开发的流程,即便付出了很多的人力物力,用户也是很难满意的,这个软件就是失败的。

  邹老师书中就把软件需求的获取分为三步,获取和引导需求,分析和定义需求,验证需求。但是现实中,我们还没有体会到需求分析的缺失会对我们造成多大的影响,我们算是偷工减料了,对我们软件团队来说,开发者是我们,用户也是我们虚拟的,以自己为角度的,大家伙凑一起,想想做个网络游戏不错吖,嗯,大家都同意吧,好的,我没意见,嗯嗯,我同意。就这样三言两语定下了项目开发方向。

  图形建模。杨老师也花了很多的学时来教UML图,课下在这方面下的功夫也是最多的。一张图,能代替很多的文字。在开发文档的编写和检查中,有耐心看大段大段文字的人可并不多,这时候,规范的图形就能很好的表达软件的架构。总结需求分析绘制用例图,再到整个软件的概要设计,相当于搭建了一个基本框架,到了详细设计,添加类图,就是为了框架添加血肉。流程图,顺序图,层次图,等等。。。整个开发过程是个自顶向下的过程。首先是个笼统的抽象的描述,越到下层越具体。整个开发周期是一个不短的过程,图形化的描述,更加方便团队讨论。

  团队合作的几个阶段:

  1,萌芽阶段。

    最初组队的时候,大家都很陌生,我们的6人小组中,我只是紧紧黏着我的小伙伴,还不敢和其他人接触呢,这个时候,开会都很尴尬,组长询问意见,大家都摇头,潜台词都是组长决定就好,

    我照做。也是仗着时间还很长,效率及其低下。

  2, 磨合阶段和规范阶段。

      老师开始布置任务了,大家也该着急了,不得不认真面对问题,开展讨论了,但是团队里万幸没有出现什么不和谐的因素,组长提出方案,大家发表自己的观点,然后根据个人能力分配任务,在明确了

    大方向后,大家都有事情做了,任务也在加紧完成。

  3,整合阶段。

    学期末,每个人分配的任务都完成了,开始要频繁的聚在一起整合所有的代码,完成开发文档的梳理和完善。大家也熟悉了,氛围很好。

  

转载于:https://www.cnblogs.com/13062225wmx/p/5596246.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue中富文本编辑器的使用

基于 Vue 的富文本编辑器有很多,例如官方就收录推荐了一些: https://github.com/vuejs/awesome-vue#rich-text-editing 。 这里我们以 element-tiptap 为例。 GitHub 仓库:https://github.com/Leecason/element-tiptap 在线示例&#xff1a…

python中continue格式_python自学(3)--for 、 while、 break、continue、字符格式化输出...

一、循环语句 1.for 语句 有限循环 ,次数限制 格式: for i in range (3): 例子: _username "zhichengfang" _password "fzc2551352" for i in range(3) : username input("use…

Vue项目中使用Echarts(一)

Echarts官方文档 1. 安装Echarts 在cmd命令行输入: npm install echarts --save 2. 代码中使用 注意:import 引入echarts 包时,不要使用 import echarts from ‘echarts’ 而要使用import * as echarts from echarts 否则会报错如下: 3. 页…

Google Guava缓存实现接口的限流

一.项目背景 最近项目中需要进行接口保护,防止高并发的情况把系统搞崩,因此需要对一个查询接口进行限流,主要的目的就是限制单位时间内请求此查询的次数,例如1000次,来保护接口。 参考了 开涛的博客聊聊高并发系统限流…

javaweb 常用jar包_使用javaweb写一个登录案例

下载地址:https://gitee.com/dl_shrimp/java_web_login_case.githttps://www.zhihu.com/video/1241780888599699456讲一下如何使用javaweb写一个登录案例Dao就是用来操作数据库的一些类的统称(1)DAO是Data Access Object数据访问接口。数据访…

Vue项目中使用图片裁切器 cropperjs (头像裁切)

cropperjs官方文档 cropperjs结合element-ui 组件后的显示效果: 1. npm 安装 cropperjs cmd命令行输入:npm install cropperjs --save 2. 导入相关js和css文件 import cropperjs/dist/cropper.css import Cropper from cropperjs3. 用块元素(容器&…

mysql常见问题记录

1.常见命令:查看mysql表结构的方法有三种:1、desc tablename;2、show create table tablename;3、use information_schema;select * from columns where table_nametablename例如:要查看jos_modules表结构的命令:use information_…

跳一跳python源码下载_python 微信跳一跳和源码解读

刚好周末,想研究一下前阵子很火的微信跳一跳 下面进入正文。 本文适用对象为WIN10系统,安卓用户。目的在于让丝毫没有接触过Python的小伙伴都能成功运行,如果你恰好是这样的对象,那么跟着我开始操作。我会把我自己的每一步都写下来…

HTML文件上传对象file

window.URL.createObjectURL(fileObj)

python自动化接口测试excel用例串行之行_python 读取 Excel 自动化执行测试用例

python 读取 Excel 自动化执行测试用例 Excel 测试用例的读取 安装 python 操作Excel 的库 pip install xlrd/xlwt/xlutils (安装三个操作库) 接口请求代码构建 import requests from random import randint import xlrd import json class My_request(object): # 对返回值进行…

Vue项目中使用Echarts(二)

1. 安装&#xff1a; 通过 npm 获取 echarts&#xff0c;npm install echarts --save 2. 最终页面展示效果如下&#xff1a; 三、代码实现 map-demo.vue: <template><!-- 1. 为 ECharts 准备一个具备大小&#xff08;宽高&#xff09;的 DOM --><div ref&quo…

python批量处理excel文本改为数字_Python批量修改Excel中的文件内容

import os import xlrd from xlutils.copy import copy def base_dir(filenameNone): return os.path.join(os.path.dirname(__file__),filename) """对excel进行操作""" work xlrd.open_workbook(base_dir("excel.xls")) # 索引到第…

正则表达式替换排除特定情况

1.只替换第一次出现的字符串“红豆”&#xff1b; $s"iam carl 小红豆杉苗 <a hrefabc>dfsaf<a href\"fdsafdsaf\">大红豆杉</a></a> carl fds<b>af红豆dsa</b>few"; $r preg_replace(/红豆/i, 绿豆,$s,1); var_dump…

Vue项目中使用百度地图API

百度地图官方文档 1. 申请百度账号和ak 申请 2. 引用百度地图API文件 <script type"text/javascript" src"https://api.map.baidu.com/api?v1.0&&typewebgl&ak您的密钥">3. 设置容器样式 设置容器样式大小 4. 创建地图容器元素 …

python3.6.8安装失败_centos7编译安装Python 3.6.8 后用pip3出现SSL未配置问题(import ssl失败)解决方法...

下载源码编译安装openssl https://www.openssl.org/source/openssl-1.0.2j.tar.gz ./config --prefix/usr/local/openssl ./config -t ./make && make install 下载源码编译安装python3.6.8 https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz 修改python3.…

8.0/9.0 Email 设置

Email 设置一直都是Odoo的一个坑&#xff0c;巨坑。 先讲结论&#xff0c;发邮件可以用&#xff0c;收还是算了吧 1. 发邮件设置 发的设置相对简单&#xff0c;如果企业邮箱支持catcll all功能&#xff0c;基本不用改动可以直接用&#xff0c;否则需要安装第三方模块&#xff0…

Vue v-model 指令详解以及sync修饰符的使用场景(结合父子组件通信案例)

参考Vue官方文档 一、需求如下&#xff1a; 二、代码如下 三、分步解析&#xff1a; 父组件给子组件传值&#xff1a; 子组件给父组件传值&#xff1a; 四、sync修饰符的使用 vue.js官方文档 如果已经使用了v-model双向绑定了一个数据&#xff0c;但是还想要实现另一个数…

stm32F1使用SD卡实现IAP

最近在做一个项目&#xff0c;想使用uSD卡来实现在应用编程&#xff0c;首先需要一些知识 我所使用的单片机是STM32F103ZE&#xff0c;内部flash&#xff0c;超始地址为0x8000000&#xff0c;大小为0x80000&#xff08;0x80000/1024也就是512kByte&#xff09;要实现IAP&#x…

父组件访问子组件中的数据(父子组件通信案例:父组件访问子组件$refs[‘子组件‘],子组件传递数据给父组件(父组件中使用v-model))

一、需求 二、在父组件upload-cover中&#xff1a; 通过$refs[子组件的ref属性值]就能拿到子组件对象 三、在子组件imgae-list&#xff08;相对于父组件upload-cover来说&#xff0c;image-list组件是子组件&#xff09;中 通过在data中定义一个selected&#xff0c;来保存…

[设计模式]6. C++与职责链模式(chain of rsponsibility pattern)

默默地EEer&#xff0c;原文地址&#xff1a; http://www.cnblogs.com/hebaichuanyeah/p/5625233.html 职责链模式指使多个对象多有机会处理请求&#xff0c;避免请求发送者和接受者的耦合关系。 将这些接受处理的对象连成一条链&#xff0c;并沿着该链处理请求。 一个传说中的…