软件设计

软件设计01丨软件设计到底是什么? 今天,我们学习了软件设计到底是什么,它应该包括“模型”和“规范”两部分:模型,是一个软件的骨架,是一个软件之所以是这个软件的核心。模型的粒度可大可小。我们所说的“高内聚、低耦合”指的就是对模型的要求,一个好的模型可以有效地隐藏细节,让开发者易于理解。模型是分层的,可以不断地叠加,基于一个基础的模型去构建上一层的模型,计算机世界就是这样一点点构建出来的。规范,就是限定了什么样的需求应该以怎样的方式去完成。它对于维系软件长期演化至关重要。关于规范,常见的两种问题是:一个项目缺乏显式的、统一的规范; 阅读详情


 
1.系统设计:


需求分析|可行性分析(人员 时间 周期 投入产出比)


系统分析--系统目标 功能结构图 业务流程图  系统预览 开发环境 文件夹组织结构


数据库设计--概念设计 逻辑设计


模块设计--公共模块 非公共模块


2.模块划分:


分类:


按照用户进行分类,分为普通用户和管理员,管理员涵盖了普通用户的全部功能


按照前台和后台分类,前台可进行搜索浏览和申告,后台能进行统计删改等操作


用户:


—普通用户可修改个人信息包括密码等


—管理员可进行增删改和冻结操作,并可升降普通用户权限,双方都可进行登录和注册


—注册和登录:填写 - 验证 -保存 -登录 - 验证 - 操作 -退出-密码找回


功能:


信息发布—发布 评论=信息管理
新闻发布—用户管理 文章分类
留言—发布留言 留言回复 | 一个主题有多个留言,一个留言有多个回复
日记—包含多个事件,如闹钟和日记


论坛—普通用户浏览、发帖和回帖,管理员用户进行用户管理和帖子管理
博客—用户可进行好友留言个人文章相册和小纸条管理,基本都是增删改查,管理员除可对用户进行冻结、权限升降和对文章推荐、审核和删改等操作外,还可查看系统日志和进行数据备份等


会议—会议发起人 参会人=会议流程
普通用户可添加查询浏览和打印,管理员还能进行修改和删除


投票—投票发起人 投票人=投票流程
投票主题和投票选项,一个主题有多个选项


物流—客户 管理员 司机=发货流程
管理员对客户、车辆分配和路线追踪,以及最终目标进行确认,用户提交订单,管理员填写发货单,司机填写回执单,最终用户确认,这几种单据和用户信息的增删改查


考试—考生 考题  =在线考试流程    共三个模块
提交->阅卷->成绩


播客 or 音乐—传视频(视频审核) 看视频(站内订阅)=在线播放(热播排行)| 视频增删和分类
常用功能有 上传 下载 播放 同步字幕和歌词   收藏 订阅 和 循环或连续播放  播放列表展现


电商购物—产品(直接订购 查看信息)-购物车(更新 清空  更改数量 删除商品 结算)-订单(打印 预览 支付 取消)
商品分类  用户操作  购物车-商品的增删改(状态:已添加  已添加过了 没添加 没登录  添加出现错误)  最后填写个人信息生成订单
供求信息—免费 付费 |   填写信息->表单验证->信息审核=信息发布 | 审核状态 付费状态  是否推荐
通过信息分类建表(curd),人的分类决定了流程也就是各表的数据交互,信息交互通过中间表来实现,中间表内各自状态的变化就是交互的结果


图书借阅—读者 图书=借阅|续借|归还     & 系统功能=借阅查询 到期提醒 管理员权限设置
借阅流程: 读者 进行 借阅 续借 归还 申请,管理员查看读者借阅信息,完成响应操作后写入图书借阅或归还档案
权限分类:读者管理 图书管理 借还管理  系统设置
状态分类:是否归还0 续借1  中间表:读者 — 借阅 — 图书

蜗牛慢递
用户流:发件人 收件人
数据流:是否收到【linux轮询】 是否查看【慢递单 收件 | 蜗牛壳 发件】 是否删除【类似邮件 标志位】
业务流:发慢递【形式多样】 删慢递【后悔药|删除】 修改慢递【草稿|后悔药】  查慢递【进度条|详情】

约吧:
用户流:创建者 参与者 评论者
数据流:是否约定【开始|结束】 是否参与【参加|退出】  是否绑定【手机|平台】 是否好友【添加|删除】
业务流:创建约定 修改约定内容和期限  查看约定详情 删除--数据流可逆,约定自动过期


办公系统—人员 部门 权限
系统管理:
人员:成员--角色--分组--部门
显示:系统--菜单
跟踪:操作--登录
业务:公司部门 项目分类 开发流程 技术选型
考勤(上下班 加班 病事假,判断是否迟到和早退) 部门(添加 查看后可修改和删除)  权限(用户组)


问题跟踪管理系统:
前台:问题新建->审核-->指派给-->解决-->关闭/重开
后端:指派小组是否存在,是否需要审核,并指定指派组或审核人,


邮件对象:
邮件:新建-->发送给审核组或审核人,
通过,发送给指派组和新建者,拒绝,发送给新建者,
指派者更改进度,进行中或完成,发给新建者
新建者满意,关闭,不满意,重开
邮件—发送方(收件人 抄送 暗抄 标题 邮件格式  邮件附件 执行发送) 接收方(标题 发件人 收件人 发送时间 内容 统计邮件数量 )=邮件传递


新综合后台:
svn:
仓库 svnadmin mkdir    svn info svn list  mv |
单个用户管理:htpasswd -m -b /-D / |
成员管理authz:  继承关系,是否有读写权限
[888:/777/666]#ceshi
@ligj = rw
去注释、去括号 去:/ 
去掉@,去掉读写

成员组 同上




药物对接仿真软件:HADDOCK_(16).实践项目:抗体-抗原对接案例 定义分子结构文件。 阅读详情

相关推荐

CAN开发笔记(TI开发者推荐笔记)

查阅了很多资料没有查阅到关于5728芯片CAN模块寄存器的介绍,希望通过本文能给做CAN驱动的后来者有一点参考意义,我也是刚接触CAN模块有些不足请各位多多指正。 由下图所示是CAN模块初始化流程图 首先要开始初始化,设置CAN位时间,然后配置message objects, 完成初始化。 1.开始初始化 首先要控制DCAN_CTL 寄存器,该寄存器是CAN模块的总控制器,很多配置通过...

weixin_44316996的博客 3562

设计模式——类与对象设计的六大基本原则

本文介绍了设计模式中的六大基本原则:单一职责原则、开放封闭原则、子类替换父类原则、接口调用原则、类对象交互原则和接口隔离原则。通过具体代码示例,阐述了每个原则的核心思想和应用场景,旨在提高代码的可维护性和灵活性。

庄小焱 6191

跨厂商网络设备的RADIUS认证:Windows NPS的兼容性与最佳实践

本文详细探讨了Windows NPS在多厂商网络环境中的RADIUS认证实践,特别针对华为、华三、思科等主流设备的兼容性问题提供解决方案。从基础配置到高级优化,涵盖VSA属性映射、认证协议选择及安全加固措施,帮助企业实现统一身份认证并提升网络安全性。

weixin_29213827的博客 421

软件设计概述

软件设计对于软件的质量和性能有着非常重要的影响。好的软件设计能够保证软件的稳定性、可维护性和可扩展性,并提高软件开发的效率和质量。在软件设计中,需求分析、软件架构设计、模块设计、接口设计和数据库设计都是关键步骤。软件设计需要结合实际情况,并采用合理的方法和工具来实现。

qq_57662137的博客 702

网络虚拟化介绍(OVS、DVS)

网络虚拟化概念网络虚拟化就是把网络层的一些功能从硬件中剥离出来,建立新的网络虚拟层;该虚拟层可以接管网络服务和配置,实现网络服务与物理层的解耦,打破物理资源限制;通过网络虚拟层能够在一个物理网络上模拟出多个逻辑网络,并且多用户在逻辑网络上相互隔离,保证网络安全网络虚拟化的特点隔离性:不同租户的流量相互之间不能互访;但是IP/MAC地址都可以独立规划可移动性:虚拟机可以跨二层/三层迁移,甚至可以跨广域网迁移(迁移前后虚拟机Vlan和IP地址都不会发生变化)可扩展性:逻辑网络的规模和数量可扩展。

m0_49864110的博客 1万+

Unity游戏Mono注入实战:从反编译到功能扩展

本文详细介绍了Unity游戏Mono注入的完整实战流程,从使用dnSpy反编译游戏核心逻辑,到编写自定义C#功能DLL,再到利用SharpMonoInjector进行动态注入。文章深入讲解了如何通过Harmony库拦截修改游戏方法,并介绍了使用MelonLoader框架和UnityExplorer进行高级模组开发与调试,最终通过一个游戏对象透视(ESP)案例演示了功能扩展的实现。

weixin_29018335的博客 458

软件设计模式

是用于解决软件开发中反复出现的设计问题的经过验证的解决方案。设计模式并不是具体的代码,而是可重用的架构设计方法或模板,帮助开发人员构建灵活且易维护的系统。

温故而知新,可以为师矣。 968

畅游Diffusion数字人(20):FLAME代码解读与实现

​ 之前的博客《畅游Diffusion数字人(17):更强大的人脸和表情表达方法 FLAME:Learning a model of facial shape and expression》讲解了FLAME的原理,这篇博客主要讲解一下FLAME的代码实现。

沉迷单车的追风少年 1131

软件工程学系统设计

软件设计阶段用比较抽象概括的方式确定目标系统如何完成预定的任务,即确定系统的物理模型。回答系统 “做什么”。软件设计是将需求转化为最终产品的唯一途径,是后续开发和维护工作的基础。

逸仙lotus的博客 3866

〔重庆理工大学〕大学物理实验--变温霍耳效应及其参数测定

每个老师要求不同,实验报告内容和数据仅供参考。

Pretty Boy Fox的博客 3044

从零开始学习PX4源码20(遥控器模式切换如何执行)

本节主要学习PX4的手动遥控器切换模式,具体是如何实现的,具体改变了哪些变量,和模式管理有什么联系。

陌城烟雨 316

3、UML统一建模语言是什么?

UML(Unified Modeling Language,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。 1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 应用场景 UML 能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简明,进...

Gorden的博客 1083

【ArcGIS微课1000例】0118:一文讲清楚tif(geotiff)栅格数据格式

TIFF(Tagged Image File Format)是一种常见的图像文件格式,它被广泛用于存储和传输各种类型的图像数据。图像存储:TIFF格式可以存储多通道的位图图像,包括灰度图、彩色图和透明度图等。它支持不同的像素深度,可以是8位、16位、24位或32位等。因此,TIFF格式非常适合存储高质量的图像数据,包括照片、卫星图像、医学影像等。无损压缩:TIFF格式支持无损压缩,这意味着图像可以被压缩而无需损失任何像素信息。这种压缩方式可以减小文件大小,而不会降低图像的质量。

智慧空间实验室 2820

【软件设计】软件设计基础方法(含软件设计步骤流程)

一直以来写程序(软件)都是随心所欲,没有章法。这里系统探究一下软件设计的方法。

the Blog of 等不到天亮丶等时光 8436

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【软件设计】软件设计概述

件设计是一个过程,通过这个过程,创建一个软件工件的规范,目的是实现目标,使用一组原始组件并受到约束。[1]软件设计可以指“所有涉及概念化、框架化、实现、调试的活动,最终修改复杂系统“或”遵循需求规范和编程之前的活动,如一个程式化的软件工程过程.软件设计通常涉及解决问题和规划软件解决方...

全网:架构师研究会 1997

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

如何备考软件设计师

最近有人经常在群里问“大佬们,如何备考软件设计师?”,既然有这样的问题,首先肯定要先了解自己都哪些“症状”,才能对症下药。 1.对软件设计师考试的大纲不了解,要考哪些课程也不清楚(最好的方法是在网上查找某一年的真题看看到底考什么,自己是会一点,还是一窍不通;到网上找到软件设计师的考试大纲,了解该考试要考到哪些课程,涉及到哪些知识点,自己对哪些知识点和课程比较陌生,做到心中有数。)。 2.对软件设计...

Sherry 3724

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

软件设计综述

软件设计综述 1. 软件设计的任务与目标 什么是软件设计? 软件设计是针对需求分析阶段提出的系统需求,给出具体的软件设计方案,解决如何做的问题。即软件需求是解决“做什么”,软件设计是解决“如何做”。 软件设计简述: 任务和目标:以软件需求规格设计说明书为依据,根据其提出的系统目标,进行数据设计(数据结构),系统结构设计(软件系统的体系结构),过程设计(吧结构转换为软件的过程性描述),并且形成软件的...

weixin_44831536的博客 1805

什么是软件设计?

什么是软件设计?©Jack W.Reeves, 1992    面向对象技术,特别是C++,似乎给软件界带来了不小的震动。出现了大量的论文和书籍去描述如何应用这项新技术。总的来说,那些关于面向对象技术是否只是一个骗局的问题已经被那些关于如何付出最小的努力即可获得收益的问题所替代。面向对象技术出现已经有一段时间了,但是这种爆炸式的流行却似乎有点不寻常。人们为何会突然关注它呢?对于这个问题,人们给

不会游泳的鱼 1481

软件设计的哲学

01 前言 80多年来,人们一直在为计算机编写程序,但令人惊讶的是,关于如何设计这些程序或什么是好程序的讨论却少之又少。关于软件开发过程(如敏捷开发)和开发工具(如调试器、版本控制系统和测试覆盖工具),已经有了相当多的讨论。还广泛分析了编程技术,如面向对象编程和函数式编程,以及设计模式和算法。所有这些讨论都是有价值的,但是软件设计的核心问题在很大程度上仍然没有触及。David Parnas的经典...

王二的博客 657

软件设计师考试都考什么内容

软件设计师是软考中级热门的科目之一,想要了解更多的软考中级软件设计师看这篇就够了,看完别忘记给我点个赞嘞!软设其实不难考,但是得花点时间去备考,理清所有的考点,教材虽厚并不是都是重点。因为已经考过了,一次通过。知识点考的范围挺多的但是中级软件设计师考的点没有很深入。(1)计算机与软件工程知识,考试时间为150分钟,笔试,选择题;(2)软件设计,考试时间为150分钟,笔试,问答题。上午综合知识选择题和下午软件设计题满分都是75分, 45分合格。软件设计师考试上午的综合知识选择题,覆盖的知识范围非常广,基本上涵

zzjjia的博客 6317

软件工程:软件设计

本博客系统介绍软件设计的核心知识体系,分为五个关键模块:1)软件设计概念与原则,强调可靠性、可修改性等基本原则;2)模块化设计的"高内聚低耦合"核心思想;3)软件体系结构的构件、连接件等要素及设计模式;4)详细设计中的算法实现与文档规范;5)人机界面设计的用户中心原则。内容采用关卡式学习,每个模块包含理论讲解、实例分析和题目测试,帮助读者从基础概念到实践应用全面掌握软件设计方法。特别注重设计思维的培养,如模块化分解、架构模式选择和界面用户体验优化,为开发高质量软件系统提供系统化指导。

m0_74311877的博客 1801

笔记 | 软件工程06-1:软件设计-软件设计基础

何为软件系统的解决方案?软件设计关注与软件需求的实现问题软件设计是需求分析和软件实现间的桥梁。

Tancilon的博客 765

软件设计的一般过程

1.软件设计 软件设置针对需求分析得到的软件需求规格说明,综合考虑各种制约因素,探求切实可行的软件解决方案并最终给出方案的逻辑表示,包括文档、模型等。 设计元素:指出现在设计模型中的模块,包括子系统、构件、类、过程等。 设计模型:软件问题的解决方案的逻辑表示 体系结构设计——宏观的说明目标软件系统的整体结构 界面设计 用例设计——设计元素如何协同工作以实现各项软件需求 模块设计 数据模型设计——持久数据的设计方案 抽象与逐步求精(自顶向下逐步求精) 模块化(模块内高内聚、模块间低耦合) 信息隐藏(模块只

qq_21773503的博客 7709

软考之软件设计师

软件设计师作用 首先我们一起来看一下我们为什么要考软件设计师,软件设计师有什么用? 答:软件设计师其中重点是软件设计和软件工程,这要求我们要有全局观,从长远来考虑。 开发过程 软件开发是一个系统的过程,需要经过市场需求分析挖掘、软件代码编写、软件测试、软件维护等。 软件工程在整个过程中扮演着非常重要的角色,主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开

只有不断学习、思考、积累,才能站在你想要的高度 1万+

软件设计的总体思路

参考博客原址: https://www.cnblogs.com/trendline/articles/how-to-create-design-doc.html 软件设计的本质就是针对软件的需求,建立模型,通过将模型映射为软件,来解决实际问题。因此软件设计需要解决的核心问题是建立合适的模型,使得能够开发出满足用户需求的软件产品,并具有以下特性: 灵活性(Flexibility) 有效性(E...

thver的博客 2万+
上一篇: mongo
下一篇: 软件重构
telnet166
博客等级 码龄14年 14粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值