美文网首页
软件工程

软件工程

作者: 追梦若苦希望暖之 | 来源:发表于2020-12-15 09:34 被阅读0次

一、工程知识点

image.png

设计模式

image.png

Model: 数据的CURD
View: 页面
Controler:业务逻辑

MVC是后端角度
MVVM是前端的角度


image.png

二、理论知识点

1.软件具有哪些本质的特性?

复杂(业务功能、算法复杂)。
一致(架构、原理一致)。
可变(需求)。
不可见(逻辑抽象)。

2.软件开发面临哪些主要问题?

客户需求。
风险、成本。
项目管控。
团体效率与协作。

3.如何理解软件工程的基本概念和内涵?

 过程 
    问题定位
    需求开发(用户界面原型化)解决需求难以确定的问题
    软件设计(软件建模)
    软件构造
    软件测试
      抽象层次   1.面向过程(函数) 2.面向对象(类) 3.面向构件(泛型) 4.面向服务(server,架构)
 方法
 工具

4.软件开发工程化原则?

  合理的分析、设计
  遵循设计原则和规范编写代码
  代码静态检查工具
  代码性能分析工具

软件的定义:

程序:代码。
数据:数据结构、序列化、结构化数据。
文档:架构文档,使用手册。

软件开发历史:

1956-1967: 小作坊式开发。
1968-1982: 瀑布流过程。
1983-1995: OOP。
1995~now: 敏捷迭代。

工程的定义:

理论与知识应用于实践的科学。

软件项目的管理

1.明确项目目标,制定计划,确定资源
2.组建开发团队,明确成员分工和职责
3.检查、评价项目的总体进展。
4.监控项目进展与变更。

软件配置管理

版本控制。

团队组织与管理

1.民主式结构:团队成员完全平等,协商决策。适合规模小,能力强,沟通学习能力优秀的团队。有利于激发创造力。

2.主程序员式结构:主程序员是项目管理者也是技术负责人。

3.矩阵式结构:将技术与管理分离。将技术与管理分权。需明确规范职责。

团队沟通与管理

1.沟通的目的是取得对方的理解和支持。
  沟通是你被理解了什么而不是说了什么。

面向对象设计 Object-Oriented Design (OOD)

核心理念:
1.区分接口与实现
     接口标准化
2.从具体到抽象
     最小用户负担原则(只暴露用户业务需求上的接口。) 
3.最小接口原则

设计模式

1.单一职责
    一个类只负责一项职责。
2.里氏替换
3.依赖倒置
4.接口隔离
5.迪米特法则
    一个对象应该对其他对象保持最少的了解。
6.开闭原则
    扩展性开放、更改性封闭。

UML

Visibility:
- private
+ public
# protected
~ package/default

Relationships:
1.inheritance   继承  is a
2.Association  关联  
3.aggregation  聚合  has a  整体与部分的关系,但部分能脱离整体而独立存在。
4.Composition  组合  是整体与部分的关系,但部分不能脱离整体而独立存在。

multiplicity:
0..1 zero to one(optional)
n     specific number
0..*  zero to many
1..*  one to many

视觉交互

https://www.bilibili.com/video/BV1Q741157ve?p=75

相关文章

  • 怎样学好软件工程

    软件工程知识架构 在《软件工程——实践者的研究方法》这本经典软件工程教材中,作者 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/kegmpktx.html