软件设计

C++绪论

纵然是瞬间 提交于 2019-11-29 16:33:50
(服务器也不用来干什么,就维持着个博客,感觉浪费,所以迁移过来了) 知识点部分 软件 包括了使计算机运行所需的各种 程序 和相关的 文档资料 。 程序是指令的集和,而指令就是计算机可以识别的命令。 指令系统:一台计算机所能识别的所有指令的集合。 机器语言:计算机硬件系统可以识别的二进制指令组成的语言。 汇编语言:机器指令映射为一些可以被人读懂的助记符(ADD,SUB)。 汇编程序将汇编语言转换为机器语言。 高级语言:屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定含义得到数据命名和容易理解的执行语句。 面向对象:将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征)形成类。 优点:(1)代码重用(2)缩短软件开发周期(3)使得软件风格统一 结构化程序设计与面向对象的方法对比 结构化:自顶向下,逐步求精,其程序结构是按功能划分为若干个基本模块,模块直接形成树状结构,模块之间的关系尽可能简单,功能上独立,每个模块内部均是由顺序,选择,循环三种结构组成的,模块化的实现方法就是使用子程序。缺点:数据和数据处理过程分割为相互独立的实体,数据结构发生改变时,相关处理过程也要发生改变。 面向对象的方法:将数据和对数据的操作方法放在一起,作为一个相互依存,不可分割的整体—对象。对同类型对象抽象出其共性,形成类,类中的大多数数据

软件设计模式

我的未来我决定 提交于 2019-11-29 14:30:59
解释器模式:   解释器模式属于类的行为模式,描述了如何为语言定义一个文件,如何在该语言中表示一个句子,以及如何解释这些句子,这里的"语言"是使用规定格式和语法的代码。 策略模式:   策略模式一种对象的行为型模式。定义一系列算法,并将每个算法封装起来,并将让他们可以互相替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的策略类。 中介模式:    中介模式(代理)是一种对象的行为模式,通过一个中介对象来封装一系列的对象交互。中介者变得使各对象不需要显示的互相引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。中介者对象的存在保证了对象结构上的稳定,也就系统的结构不会因为新对象的引入带来达利阿穆罕的修改工作。 迭代器模式:   是一种对象的行为模式,提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象   来源: https://www.cnblogs.com/yangpengli/p/11519640.html

软件设计项目进展22 2019/9/9

亡梦爱人 提交于 2019-11-29 08:28:46
1今天完成的工作 今天开始进行实验报告正文部分的框架构思和书写 2明日计划 明天的计划是继续写实验报告的正文部分。 3今日小结 今天在写实验报告正文部分的时候将整个小程序的开发过程中的过程和框架进行了回复,对自己来说,这将近一个月的时间,在一个软件的开发上学习到了很多,多了很多经验。 来源: https://www.cnblogs.com/dydy9999/p/11494162.html

软件设计随笔

淺唱寂寞╮ 提交于 2019-11-29 04:12:58
关于接口:建议接口不包含成员编量,只包括接口。这样功能单一,利于接口聚集,重用。 尤其是基础类库要注意这点。当然带来多写代码。 例如在项目中用类 class A{ interface0(); interface1(); interface2(); interface3(); int kkk; int uuu; }; 如果只要利用A的接口时 ,必须带着kkk,uuu编量。易产生混淆。建议为 lass A{ interface0(); interface1(); interface2(); interface3(); } 来源: https://www.cnblogs.com/keleman/p/11451849.html

23种软件设计模式

断了今生、忘了曾经 提交于 2019-11-28 23:05:42
软件设计模式,是一套被反复使用、众所周知的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。   1. 建造模式(Builder):将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。   2. 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。   3. 适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。   4. 桥梁模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。   5. 责任链模式(Chain of Responsibility):为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。   6. 命令模式(Command):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。   7. 合成模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。   8. 备忘录模式(Memento)

软件设计项目进展10 2019/8/28

ε祈祈猫儿з 提交于 2019-11-28 20:27:01
1今天完成的工作 今天在管理地址那些信息的时候用新的一种方法来表示,就是用form表单来表示,表单有提交和重置的功能,可以把数据提交到后台。然后今天借了基本书,关于小程序的入门,还有javascript的相关书进行学习。下载了数据库。 2明日计划 明天的计划是好好看借的书耐心学习,尤其是js相关的内容。然后练习数据库的连接。 3今日小结 今天在用到表单的时候,涉及到提交在js部分函数的处理,刚开始有一些弄不明白,但在查了一些资料之后弄明白了。小程序有不少组件,需要对他达到越来越熟练才能够高效完成。 来源: https://www.cnblogs.com/dydy9999/p/11426452.html

软件设计与体系结构主要考点

北战南征 提交于 2019-11-28 17:43:24
一、项目两个基本属性:临时性;独特性(唯一性) 二、项目的生命周期:项目启动、项目规划、项目执行、项目监控和项目收尾 任何项目的目标都是力求:时间最短、费用最少、质量最高 三、项目立项一般需要经过如下5个步骤:1)识别发起项目 2)论证项目 3)申请项目 4)审核项目5)确定项目/立项 四、可行性分析一般从一下8个方面进行展开:1)战略评估 2)操作性评估 3)计划评估 4)技术评估 5)社会评估 6)市场评估7)经济评估8)风险评估 五、5种经济性评估指标:1)净利润 2)净现值 3)内部收益率 4)投资回收率 5)投资回报率 六、招投标过程:招标、投标、开标、评标、中标 七、软件合同管理流程分为4个阶段: 1)合同前准备 2)签署合同 3)合同履行 4)合同收尾 五、范围管理的5个主要过程:1)收集需求 2)定义范围 3)创建工作分解结构 4)核实范围5)控制范围 六、收集需求的方法一般有8种访谈、焦点小组会议、引导式研讨会、群体创新技术、群体决策技术、问卷调查、观察、原型法 七、软件需求分为功能性需求和非功能需求两大类;细分又可以分为三个层次; 1)业务需求 2)用户需求 3)功能需求 4)系统需求 5)业务规则 6)质量属性 7)性能需求 8)对外接口 9)约束条件 八、成功需求的标准:明确性;完整性;一致性;可测试性 九、三种基本的项目组织结构:职能式项目组织结构

软件设计项目进展07 2019/8/25

▼魔方 西西 提交于 2019-11-28 13:34:22
1 今天完成的工作 今天把个人中心的页面写出来了,排版也基本按照设计的形式做出来了。然后也在学习了页面跳转之后把页面跳转做出来了。今天就是在一边学习新的内容一边做,插入图片的操作,页面跳转路径的操作,在wxss中用边界,颜色,宽窄等去控制样式等。做出的页面如下图 在这个上面的样式颜色的搭配还有很多不足,但是计划还是先做出基本框架和逻辑之后再统一修改。 然后今天主要是做了地址管理这个功能的页面跳转,如下图点进去之后进入下图的界面。 新增地址功能的跳转也做了,但是那个界面刚刚开始。 2 明日计划 明天的计划是首先做出新增地址跳转到的界面,要做的这个界面有一些没有出现过的样式需要明天仔细学习。然后进行到这里,发现页面很多交互的功能,比如新增地址的这些操作都是很重要的问题,自己对这些不擅长,所以明天要开始着手相关的学习,试着写出来,像个人中心的查看订单功能等都需要更高的技术支持,明天争取把这个写出来。 3 今日小结 今天在做到样式的时候,遇到的问题是图片的排列是列列分开的,想要做成的是在同一行展示,所以查了一下,学习到了伸缩盒子的功能,解决了这个又发现图片之间的间距不符合预期,这个又学到了padding的设置。还有如何用fixed,bottom固定到底端。昨天的计划基本完成了,把个人中心写出来了,页面跳转也写出来了。目前为止进度还是有点慢,但是比昨天快了一些,继续还要加快自己的效率

软件设计项目进展06 2019/8/24

谁说胖子不能爱 提交于 2019-11-28 11:06:27
1 当天完成的工作: 今天在视频网站上学习了一些基础内容。学习到的内容为:全局配置和页面配置的区别。能在wxml,wxss,json文件中进行一些简单的代码实例。在app.json的window标签中把最顶部标题栏写出,设置为红色背景,白色字体,然后在tabBar标签中把页面最底部导航栏写出来了,导航栏在顶部也可但是在底部更适合,第一步首先只写了首页和个人中心这两个放在list里面,因为我是写个人中心部分的,就首先写了这两个,程序的整体基调都定位了红色。也学习了view标签,text标签,image标签的使用,然后在wxss文件中控制格式,在这个过程中一直对照微信小程序的官方文档。根据这些在个人中心确定了最简单基本的第一个分块,背景颜色,图片文字的插入等。 如下图是一些成果(因为是第一天开始写,所以比较少也比较简陋,还在熟悉中,见谅) 2第二天的计划: 明天计划把个人中心的界面的框架写出来,关于页面跳转的今天也还没有涉及到,明天也要练习这个,因为个人中心的页面要跳转到好几个功能区,这个方面要开始着手,今天涉及到的都是很基础的知识,一些复杂的写入之类的还要继续学习,要对官方文档中的一些复杂组件好好学习,然后就是要增加页面的美观性。 3今日小结: 今天可以说是真正意义上的第一天实操代码,在视频网站上学习的时候发现其实基础知识不是很难,但是东西不少

软件设计项目进展03 2019/8/21

烈酒焚心 提交于 2019-11-28 03:56:03
1当天完成的工作 1)继续用墨刀原型设计工具设计小程序页面,昨天有了初步框架,今天开始实现具体的,修改细节。今日设计的页面如下图。 2)在进行对微信小程序开发的学习和了解,下载了微信小程序开发工具。 2第二天的计划: 1)墨刀原型设计还要继续完善,细节有待斟酌,界面有待优化。 2)继续深入了解微信小程序开发所需要用到的语言和工具等,自己进行查找学习。 3每日小结: 今天在进行原型设计的时候发现团队的力量很强大,一个人在做的时候在细节上比较容易有疏漏,但是有队友一起互相检查就会快速发现问题解决问题,避免了思维盲区,比如落下某个功能块自己没有发现,队友查看的时候一下就看见了。还有一个小程序完善的设计是很不容易的,怎么去为功能设计还要简洁易懂等都是必须要考虑的内容。 来源: https://www.cnblogs.com/dydy9999/p/11390671.html