软件工程复习参考资料

软件工程题型复习资料

简答题

代码风格规范

  • 总原则 (简明、易懂、无歧义)
    • 缩进:4个字符
    • 行宽:100个字符
    • 括号:恰当运用( )
    • 断行与空白的{ }行
    • 分行:一行一条语句
    • 命名:有义、适当
    • 下划线
    • 大小写
    • 注释
  • Pascal(大驼峰命名法):所有单词的第一个字母都大写
  • Camel(小驼峰命名法):第一个单词全部小写,随后单词随Pascal形式
  • 通用做法
    • 所有的类型/类/函数名都用Pascal形式
    • 所有的变量都用Camel形式
    • 类/类型/变量用名词或组合名词
    • 所有函数用动词或动宾组合词
  • 关于注释
    • 注释是为了解释程序做什么(What),为什么这样做(Why)
    • 不要解释程序是怎么工作的(How)
    • 注释优先原则
      • 编写源代码之前先写好注释
    • 内容要全面
      • 对管理代码有用的注释
      • 对理解代码有用的注释
    • 采用ASCII字符集
      • 不使用中文,提高可移植性
    • 注释的位置
      • 函数头部的注释
      • 函数体内部的注释
    • 注释的更新
      • 一个误导的注释比没有注释更糟糕
    • 注释格式的统一

软件设计

  • 模块的概念
    • 构成程序的基本单元
    • 具体形式:类、函数、构件、服务
    • 由边界元素限定的相邻的程序元素的序列
  • 什么是模块化
    • 把程序划分成模块(独立命名且可独立访问)
    • 划分的程度:基于目标、应对复杂、考虑变化、折衷权衡
  • 耦合(模块之间的复杂程度的度量)
    • 数据耦合
      • 两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据
    • 控制耦合
      • 如果两个模块彼此间传递的信息中有控制信息
    • 特征耦合
      • 当把整个数据结构作为参数传递而被调用的模块只需要使用其中一部分数据元素
    • 公共环境耦合
      • 当两个或多个模块通过一个公共数据环境相互作用
    • 内容耦合
      • 两个模块的程序元素共用
  • 内聚
    • 模块内部的复杂程度的度量
  • 信息隐藏
    • 变量的局部化
    • 类的封装
  • 分层
    • 设计策略的分离
    • 界面与实现的分离

软件工程

  • 软件工程定义
    • 把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程
  • 软件工程的规律
    • 时间估计
      • 实际时间总是比预期要长
    • 增加人手
      • 向进度落后的项目中增加人员,会让项目更加落后
  • 软件工程基本原理
    • 用分阶段的生命周期计划进行严格管理
    • 坚持进行阶段评审
    • 实行现代程序设计技术
    • 结果应能清楚的审查
    • 开发小组的人员应该少而精
    • 承认不断改进软件工程实践的必要性
  • 软件生命周期和开发流程
    • 传统划分
      • 三个时期
        • 软件定义
        • 软件开发
        • 运行维护
      • 八个阶段
        • 问题定义
        • 可行性研究
        • 需求分析
        • 概要设计
        • 详细设计
        • 编码和单元测试
        • 综合测试
        • 软件维护

团队

  • 团队(Team)
    • 针对一项目工作,团队成员彼此依赖
  • 团队的特点
    • 团队有一致的集体目标,要一起完成这目标
    • 一个团队的成员不一定要同时工作
    • 团队成员有各自的分工,互相依赖合作,共同完成任务
  • 团队的形成
    • 谨记:成熟的团队不是一天就形成的
    • 形成初期:一窝蜂模式(Chaos Team)
  • 软件团队的模式
    • 主治医师模式
    • 明星模式
    • 社区模式
    • 业余剧团模式
    • 交响乐团模式
    • 爵士乐模式
    • 功能团队模式
    • 官僚模式
    • 秘密团队模式
    • 特工团队模式
  • 为什么要选择团队模式
    • 一个合适的团队结构,能更大地改进交流的效率,让团队更能把注意力集中在最主要的目标——解决用户需求
  • 如何选择团队模式
    • 独裁
    • 顾问
    • 民主
    • 一致

开发流程

  • 写了再改模式
  • 瀑布模型
  • 生鱼片模型
  • 子瀑布模型
  • 快速原型模型
  • 螺旋模型
  • 老板驱动的流程
  • 渐进交付的流程

结对编程

  • 结对编程 (Pair Programming)
    • 结对编程就是一种卓有成效的开发方法,每时每刻都处在代码复审的状态
  • 如何结对编程 (驾驶员/领航员,两人共享一个键盘,电脑,屏幕)
    • 驾驶员:写设计文档,进行编码和单元测试等
    • 领航员:审阅驾驶员的文档;监督驾驶员对编码等开发流程的执行等
    • 驾驶员和领航员不断轮换角色,不要连续工作超过一小时,每工作一小时休息15分钟
    • 主动参与:任何一个任务都是两个人的责任
    • 设置好结对编程的环境:座位、显示器、桌面等
  • 结对编程的好处
    • 提高设计质量
    • 降低成本
    • 提高解决问题的信心
    • 提高士气
    • 减轻风险
    • 提高效率
  • 结对编程不合适的场景
    • 需要深入研究的项目
    • 验证测试需要运行很长时间
    • 团队的人员要在多个项目中工作
  • 结对编程中不好的习惯
    • 不拘小节
    • 发号施令
    • 拼写纠错
    • 深藏不露
    • 跳跃很大

需求分析

  • 获取和引导需求
    • 需求来自用户
    • 需求来自管理机构
    • 需求来自企业内部
    • 需求来自技术团队
    • 需求来自要“更好地了解用户的行为和需求”
  • 需求的分类
    • 对产品功能的需求
    • 服务质量需求
    • 对产品开发过程的需求
  • 软件需求
    • 获取和引导需求
    • 分析和定义需求
    • 验证需求
    • 管理需求
  • 获取需求方法
    • 用户调研
      • 焦点小组
      • 卡片分类
      • 用户调查问卷

应用分析题

  • 流程图或活动图


    image
  • 类图


    image

构建模型题

  • 典型用户的模板

    • 名字(越自然越好)
    • 年龄和收入(不同年龄和收入的用户有不同的需求)
    • 代表的用户在市场上的比例和重要性
    • 使用这个软件的典型场景
    • 使用本产品的环境(在办公室/ 家里/ 沙发/ 床上/ 公共汽车/ 地铁……)
    • 生活/工作情况
    • 知识层次和能力(教育程度,对电脑、互联网的熟悉程度)
    • 用户的动机、目的和困难(困难 = 需要解决的问题)
    • 用户的偏好
  • 示例


    image

    image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容