美文网首页
软件工程

软件工程

作者: 拼搏男孩 | 来源:发表于2020-03-24 23:09 被阅读0次

一、软件工程的各个阶段

1、可行性分析

可行性分析主要包括技术可行性与经济可行性,前者是论证当前的技术能否实现这个软件的功能,后者是论证收益与成本之间的相对关系,成本不仅包括时间成本,还包括设备、场地与人力成本。可行性分析的输出是可行性分析报告,如果可行性分析报告中认为当前项目不可行,那么应当立即停止。

2、需求分析

我们作为软件的开发方要不断和客户确认需求,并保留相应的证据,避免客户想造一座长江大桥,我们造了一座独木桥。这个阶段的产物是需求分析报告。

3、需求设计

需求设计包括概要设计与详细设计。产物是设计文档。

4、编码过程

编码过程就是编写软件代码。

5、软件测试

软件测试需要交给专门的软件测试人员来进行,不能由开发人员进行。软件测试包括黑盒测试与白盒测试。产物是测试文档。有的公司的开发过程是测试驱动开发(test-driven development),也有的是敏捷开发。

6、系统交付

系统交付指的是将软件系统交付给客户

7、系统维护

二、数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。一个典型的数据字典如下图所示:

此处应当有图

数据字典的设计是一个非常重要的环节,这个环节中有一张表设计有问题将导致以后的各个环节都会出现问题。为了提高容错率,可以在进行设计的时候添加3-5个备用字段。另外,删除不要使用delete操作,要使用update操作,所以可以单独设置一个字段表示数据是否被删除。

三、推荐算法

啤酒与尿布的关系是一个典型的利用关联度进行推荐的例子,我们也可以在自己的项目中加入类似的功能。可以复习数据仓库与数据挖掘。

四、用户、角色与权限之间的关系

在后台管理系统中,一位用户对应多个角色,比如一个人可以同时兼任总经理与董事长,同时一个角色也可能对应多个用户,比如普通员工这个角色就对应多个用户,所以用户与角色之间的关系是多对多的关系,在使用数据库表进行表示的时候就只能引入第三张表。角色与权限之间的关系也是这样,一个角色可能由多个权限,一个权限可能对应多个角色。

rbac:基于角色的访问控制Role-Based Access Control

五、创建用户、给用户授权、刷新权限

在连接数据库进行操作的过程中不要使用root用户进行操作,root用户是最高权限,对数据库具有完全的访问控制,使用root用户进行操作对数据库本身具有严重的安全漏洞,所以我们可以使用root用户创建一个用户,然后赋予相应的权限,最后刷新,这名用户就只能在赋予的权限内对数据库进行操作了。

create user 'nz1903'@'localhost' identified by "123456"

grant all on . to 'nz1903'@'localhost'

all指的是insert delete update select等操作,.指的是所有数据库的所有表

flush privileges

刷新权限

相关文章

  • 怎样学好软件工程

    软件工程知识架构 在《软件工程——实践者的研究方法》这本经典软件工程教材中,作者 Roger S.Pressma...

  • 软件工程(C语言实践篇)

    学号:SA16225018 姓名:曾龙飞 一、什么是软件工程与高级软件工程课程设置 1.1软件工程 首先,我先谈谈...

  • Android P 开发者预览版支持 DNS over TLS

    作者:Erik Kline (Android 软件工程师) &Ben Schwartza (Jigsaw 软件工程...

  • 一种创新方法 —— 加法

    近日阅读《Head First 设计模式》,觉得“有意思”。从学习软件工程,到以软件工程为业,我看过不少软件工程类...

  • [转]软件工程 SE

    From MBAlib 软件工程(Software Engineering,SE) 目录 1 什么是软件工程2 软...

  • 软件测试工程师所需要具备的软件技能是什么?

    软件工程技能可以分成三大块:理解软件工程的规则,了解计算机编程和操作系统知识。 理解软件工程“规则”。...

  • 2018-03-08

    基础入门——对软件工程的了解 1、什么是软件工程 软件工程 ·是把系统的、有序的、可量化的方法应用到软件的开发、运...

  • 20171007 周六 今日计划+反思

    一、今日计划 学习任务:软件工程 - Group Meet 学习任务:软件工程 - 学习MEAN stack 二、...

  • 第 1 章 软件工程概述

    软件工程的研究领域包括软件的开发方法、软件周期以及软件工程的实践等。 软件危机与软件工程的起源 1. 计算机系统的...

  • 20171026 周四 今日计划+回顾

    一、今日计划 生活任务:CAPS咨询 学习任务:软件工程 - Assignment 4 学习任务:软件工程 - G...

网友评论

      本文标题:软件工程

      本文链接:https://www.haomeiwen.com/subject/cgrzyhtx.html