软件工程2018-09-29笔记

复习

软件工程:工程开发过程
软件的输出物:
  1、需求分析说明书(100页+)
     1.1 需求分析
     1.2 背景分析
     1.3 功能分析
     1.4 划分模块
       1.4.1 子功能点
     1.5 附件
  2、概要设计说明书
     2.1 软件版本(运行环境版本)
     2.2 架构设计
       2.2.1 界面线框
       2.2.2 数据库表创建(有哪些数据)
       2.2.3 程序骨架
       2.2.4 流程图
     2.3 编码规范设计
     2.4 测试案例设计
     2.5 输出物设计(交付设计)
  3、详细设计说明书
     3.1 算法设计
     3.2 界面设计
     3.3 数据库表结构(数据类型,表关联性,中间表设计)
         学生表:t_student:id、name、sex、age、info
         课程表:class:name、id
         中间表:学生课程表:编号、学生id、课程id
     3.4 测试用例设计
     3.5 综合测试设计(本公司的测试设计,外包出去的测试范围)
     3.6 部署设计(部署服务器的软件版本,软件环境)
  4、数据库设计
     4.1 数据库选择
         mysql:轻量级数据库
         oracle:企业级数据库
                 伪列
     4.2  数据来源设计
     4.3 数据库表结构
  5、源码
  6、数据库脚本(xxx.sql)
  7、使用手册(一般由 实施工程师、 技术支持编写)
     7.1 软件项目的搭建(从零开始 ----> 运行)
     7.2 软件使用演示(视频、现场展示(实施,技术支持))
     7.3 当前软件的缺陷(压力缺陷,临界值问题)
     7.4 使用的文档说明

新课内容

模块化

版本控制软件:git,svn
  git:将代码保存到云端 GitHub,coding,所有人从云端获取数据。
       每个人将当天开发的代码直接传云端,自动进行代码整合(项目冲突)。
       一般每个人开发过程中,都是独立完成自己的功能模块,模块间没有藕连性。
       注意:代码保存在别人的服务器中,安全性有问题。
  svn:在服务器上架设SVN服务器,将代码直接保存在svn服务器
软件项目
  1、手机端客户端(app-功能简单)
    1.1 根据用户使用模块划分(2人左右)
    1.2 根据功能划分(基本信息操作,存取功能,借款功能,金融功能)
    1.3 根据部门划分(OA系统:市场部,项目部,总经办,咨询部)
  2、模块化的要求
    2.1 每个大模块,需要进行模块细分
      2.1.1 能直接编写代码,不考虑其他逻辑
      2.1.2 减少模块间的关联性
      2.1.3 模块间最好能独立测试
    2.2 每个模块必须分配对应负责人
    2.3 每个模块需要制定验收需求

子系统

如果项目过大,需要将项目划分为多个分支子系统
为了项目系统逻辑保密,故意将整个项目,划分为多个子系统,外包出去(银行类项目)
例如:中信银行-商贷平台 -----> 一个公司完成,这个公司的项目组成员,一定会知道整个系统的运作流程
系统保密性受影响
   1. 加密算法(密码不安全)
   2. 商贷利率算法(后门)
一般会将整个系统划分为多个子系统   

子系统划分规则

  1. 按照功能(没有关联性)划分 --- 交由多个公式或项目组开发
  2. 按照部门划分
     钉钉
     OA: 考勤,提报,文件审批,20人一下
     OA系统:公司运作情况
     例如:中小学兴趣班培训后台系统
             子系统一:咨询部
                     咨询人员:(新人员信息录入(名字,所在学校,当前年级))
                     考核人员: 入园考核
                     分配班级: 将考核成功的人员分配到对应的班级
                     班级负责老师:审批同意
                     ---------新人员入班        
      2.1 功能独立
      2.2 公共部分需要建立公共系统  
        2.2.1 考勤审核
        2.2.2 输出物(将数据导出成Excel,doc)
        2.2.3 读取文件(Excel)
        2.2.4 其他的公共功能
      2.3 每个子系统约定:减少扇出,增加扇入
      2.4 整个系统大小需要适中
          保证各个子系统的交付时间在一定的范围内
      2.5 子系统必须按照需求文档进行设计
        2.5.1 每个子系统都会规定功能,输出情况,如果私自变更会导致其他子系统衔接不上
              电商:购物车(子系统),订单(子系统),支付(子系统)订单(传入商品信息自动生成详单)
              订单(传入商品详细信息(数量(能否购买),总价,用户信息))
      2.6 设置子系统输出数据验证
      2.7 耦合,内聚
          耦合:子系统之间减少耦合(一个只系统需要尽量减少相关联的子系统)
          目的:当系统出现问题时,其他部分不会受到影响
          内聚:子系统内部,需要提高能效,(代码精炼,逻辑紧凑)

界面设计

1、视觉效果
   1.1 高级动效
   1.2 性能消耗(计算机配置跟不上,高级动效变成ppt,还会卡电脑)
       1.2.1 硬件情况(推荐配置)
       1.2.2 算法
             C语言(主策自学C语言编写),所有数据类型为String,所有动效加载是一定顺序的
       1.2.3 网络情况(数据量)
             如果数据量很庞大,设计时,尽量在用户本地进行生成
   1.3 小清新风格(所占资源小,运行速度快,网络数据获取快)
   1.4 色彩饱和度(护眼色)  长时间使用,眼睛不会干
   1.5 显示大小(屏幕适配)  保证图片不能失帧
2、线框的设计  ----  轮廓图
   2.1 简洁
     2.1.1 保证有必要的功能区
     2.1.2 每个模块数据能够显示
     2.1.3 将扩展部分的区域进行预留
   2.2 使用的工具  -- 能做成思维导图的工具,最好使用正版
   2.3 需要添加注解 
   2.4 文字描述
3、作色
   主题:主美定
   3.1 一般由主美进行设计   /  下发给各个UI设计师,由主美审核
   3.2 颜色对比度(减少用户使用时的落差感)
     3.2.1 减少对当前软件的意见
   3.3 颜色不能太艳(尽量保持小清新分格)
4、图片
   4.1 不能压缩图片 
   4.2 尽量按照原大小显示(美工)
   4.3 图片层级(图片的组合,分辨率不高)---- 由多个图片组成动效,不同图片透明度不同

数据库设计

1、需求分析
   1.1 数据类型及数据表示  员工编号:Id,Int
   1.2 数据间的关系(中间产物:中间表,外键设置)
   1.3 数据加工处理
   1.4 数据量(分析:数据优化)
   1.5 数据完整性,有效性
2、数据结构设计
   2.1 数据所对应的实体类---对象,属性,联系
   t_user:id,name,pwd,roleid
   calss User{
        private int id;
        private String name;
        private String pwd;
        private int roleId;
   } 
   t_dis:地区表 id,name,   pid
                1, 四川,   0
                2, 成都,   1
                3, 华阳,   2
                4, 锦江区, 2
                5, 青羊区, 2
                6, 德阳,   1
                7, 什邡,   6
                8, 重庆,   0
                9, 重庆市, 8

   1、四川下面直接的地区分类:select id from t_dis where pid = '1'
   2、select * from t_dis where pid IN (select id from t_dis where pid = '1')
                3, 华阳,   2
                4, 锦江区, 2
                5, 青羊区, 2
                7, 什邡,   6

   递归:写对应的存储过程----递归查询
   class Dis{
       private int id;       //地区编号
       private String name;  // 地区名称
       private int pid;       //上级地区编号
       private List<Dis> sublist;  //下级地区对象集合
  }
  注:查询当前类别下所有信息

2、数据库逻辑结构(表之间关系)
   1. 外键(限制数据的录入)
   t_user:id,     username,  pwd
          1001 , '张三',     '123456'
   t_user_info: id,    name,  age, sex, phone
                10001,'张三',  20, '男', 18200133592,1002
   t_user_info.userId <=> t_user.id
   当录入一个不存在于user表中的数据时,会报错

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,401评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,680评论 2 59
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,894评论 2 89
  • 黄堡文化研究 第235期作者:和谷编辑:秦陇华 多年前写过石磨忆,现在写石磨祭。 在这座民间博物院的后院,几片梯田...
    primates阅读 836评论 0 0
  • 在冷风中收到了你发来的一句问候,我那凌乱的头发骄傲得飞舞起来(2017.12.25) 谁都不想浪费时间,有时候都虚...
    逗猫不惹草阅读 359评论 0 3