这周的学习内容:每周都在写博客,都在发表自己的感想,每周在课堂上都是认认真真的学习三个小时,在课下努力复习2个小时,争取让自己在编代码的这个方向上更加的好,在之前的每次学习中,为总是遇到在代码着方面的困难,直到现在也是,所以我每周都会学习编代码。在这周的课堂上刘砚老师让我们做一个抽签的小程序,这个程序的要求是:1.用户可以输入待抽签的号码集合;2.可以选择是否允许重复抽签;3.用户可以现在生成分组,如:35个人,每组4-5人,可以随机生成分组;4.显示号码滚动效果;5.界面易操作,设计美观,友好。首先,我在课堂想我以前做的程序,有没有关于这方面的程序,然后我构思了这个程序,该怎么做,界面该怎么设计,代码应该怎么实现......等等这些问题。当为把界面设计完了以后,我发现了很多问题,我做的这个程序怎么运行,这个程序的代码怎么编,真的太复杂了。为翻阅了以前的C#书,找了找我之前的程序,也看了会代码,解决了两个问题,就是滚动效果的实现和生成分组。别的功能实现还在努力中,应该两个星期的课堂时间可以完成吧。我发现我最主要的问题就是编代码,根本没有能力自己编,想实现一个功能必须在网上查资料,翻阅以前的书,看看之前的程序,看各种书,我必须得在编代码这方面努力,不然真的是什么也不会。

      这周的阅读内容:软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。

目标
正如同软件本身有其要达到的目标一样,架构设计要达到的目标是什么呢?一般而言,软件架构设计要达到如下的目标:
·可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。
·安全性(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。
·可伸缩性(SCAlable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。
·可定制化(CuSTomizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。
·可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。
·可维护性(MAIntainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。
·客户体验(Customer Experience)。软件系统必须易于使用。
·市场时机(Time to Market)。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。

历史

编辑

早在1960年代,诸如E·W·戴克斯特拉就已经涉及软件架构这个概念了。自1990年代以来,部分由于在 Rational Software Corporation 和Microsoft内部的相关活动,软件架构这个概念开始越来越流行起来。
卡内基梅隆大学和加州大学埃尔文分校在这个领域作了很多研究。卡内基·梅隆大学的Mary Shaw和David Garlan于1996年写了一本叫做 Software Architecture perspective on an emerging DIscipline的书,提出了软件架构中的很多概念,例如软件组件、连接器、风格等等。加州大学埃尔文分校的软件研究院所做的工作则主要集中于架构风格、架构描述语言以及动态架构。
计算机软件的历史开始于五十年代,历史非常短暂,而相比之下建筑工程则从石器时代就开始了,人类在几千年的建筑设计实践中积累了大量的经验和教训。建筑设计基本上包含两点,一是建筑风格,二是建筑模式。独特的建筑风格和恰当选择的建筑模式,可以使得一个建筑独一无二。
软件与人类的关系是架构师必须面对的核心问题,也是自从软件进入历史舞台之后就出现的问题。与此类似地,自从有了建筑以来,建筑与人类的关系就一直是建筑设计师必须面对的核心问题。英国首相丘吉尔说,我们构造建筑物,然后建筑物构造我们(We shape our buildings, and afterwaRDS our buildings shape us)。英国下议院的会议厅较狭窄,无法使所有的下议院议员面向同一个方向入座,而必须分成两侧入座。丘吉尔认为,议员们入座的时候自然会选择与自己政见相同的人同时入座,而这就是英国政党制的起源。Party这个词的原意就是"方"、"面"。政党起源的关键就是建筑物对人的影响。
在软件设计界曾经有很多人认为功能是最为重要的,形式必须服从功能。与此类似地,在建筑学界,现代主义建筑流派的开创人之一Louis Sullivan也认为形式应当服从于功能(FORMs follows function)。

转载于:https://www.cnblogs.com/ll121214/p/5334790.html

这周开发工作时间及内容、思考和阅读的内容相关推荐

  1. 列出这周开发工作时间及内容,可以发表各种感想和这周阅读内容。

    这周利用了三小时的时间对上周的加减乘除四则运算程序进行了改善,用户可以通过操作选择继续或退出. 感想:作为一个计算机专业的学生应该努力的学习这门课程. 阅读内容:软件工程包括了开发,运营, 维护软件的 ...

  2. 用thinkphp进行微信开发的整体设计思考

    用thinkphp进行微信开发的整体设计思考 http://www.2cto.com/weixin/201504/388423.html 2015-04-09      0个评论       作者:明 ...

  3. 离线数仓和bi开发的实践和思考

    离线数仓和bi开发的实践和思考 背景 什么是数据仓库 分层设计 维度建模 低代码平台做什么? 理想vs现实,数仓实践中踩坑以及思考 背景 笔者在来唯品会之前主要的工作内容主要是依托于公司自研的bi低代 ...

  4. 【Vue+SpringBoot】超详细!一周开发一个SpringBoot + Vue+MybatisPlus+Shiro+JWT+Redis前后端分离个人博客项目!!!【项目完结】

    项目目录 资源准备 前后端分离项目 技术栈 Java后端接口开发 1.前言 2.新建Springboot项目 3.整合mybatis plus 3.统一结果封装 4.整合shiro+jwt,并会话共享 ...

  5. 阿里JAVA开发手册零度的思考理解(二)

    转载请注明原创出处,谢谢! 说在前面 人生的大道上默默地走,就必须要有一盏灯亮着为你引导方向!而这盏灯抑或只是一句话,一句鼓励,一个赞美,一次承认,一次认可,一次相识一次交流-- 上篇文章:阿里JAV ...

  6. 一周要回审9000万条视频,内容审核师能被AI拯救吗?

    信息超载时代,海量信息的处理对各大互联网内容平台来说是挑战更是机遇. 美国标普公司的报告显示,全球互联网内容产业的直接总产值预计到 2025 年底将达到 3438 亿美元.从用户规模看,我国网民使用率 ...

  7. 怎么汇报一周开发工作情况_如何在没有经验的情况下获得第一份开发人员工作

    怎么汇报一周开发工作情况 Whether you've done a coding bootcamp or taught yourself, getting your first developer ...

  8. C# 淘宝商品微信返利助手开发-(四)返利助手开发(2)淘宝分享的内容如何只取淘口令

    系列教程一目录:返利助手原理 系列教程二目录:返利助手开放文档以及帐号申请地址 系列教程三目录:返利助手开发(1)API介绍 系列教程四目录:返利助手开发(2)淘宝分享的内容如何只取淘口令 系列教程五 ...

  9. iOS开发中对NSArray或者NSMutableArray中的内容排序

    原文引用至               http://blog.unieagle.net/2012/05/10/ios开发中对nsarray或者nsmutablearray中的内容排序/ NSMuta ...

最新文章

  1. 自动化所研究员:有的研究生在导师手底下过的不如狗,读研到底为了什么?...
  2. 目标检测 - YOLO9000 : Better, Faster, Stronger
  3. IBM用量子计算机成功模拟分子,登上《自然》封面
  4. LeetCode Third Maximum Number
  5. 【C++】Visual Studio教程(六) -更新Visual Studio
  6. bzoj4950(二分图最大匹配)
  7. 深信服务发布SSL站点
  8. 给程序员的几条建议,精彩配图
  9. Talking Data副总裁高铎:我们如何赋予大数据生命力
  10. 【Hoxton.SR1版本】Spring Cloud Config服务配置中心
  11. 教你不要光驱一样重装系统
  12. nCode:DesignLife案例教程六
  13. Authorization loop detected on Conduit with realm “WSMAN“
  14. 自动登录北科大USTB校园网
  15. 阻抗匹配50欧姆的原因
  16. 互斥量、临界区、信号量、事件标志组和消息邮箱(转)
  17. python:实现RGB和HSV相互转换算法(附完整源码)
  18. Eclipse faceted project metadata file could not be read
  19. 也谈“为什么中国的程序员总被称为码农?”
  20. 元宇宙也“炒房”?多个二手交易网站屏蔽元宇宙关键词

热门文章

  1. 箭头函数可被打印却不能调用_5种应该避免使用箭头函数的情况
  2. python两个不同变量相加_Python:是否可以链接属于两个不同类的两个变量?
  3. 运维不懂这些面试题拿不到高薪
  4. 互动赠书 | 云上云下K8s多集群如何实现集群管理和安全治理的一致体验?
  5. 为什么下一个十年的主战场在 Serverless?
  6. springmvc怎么解析post_秋招跳槽,面试是拦路虎?【spring、springMVC】- 常见面试题汇总...
  7. 不同系统下的shell的不同_不同论文检测系统有哪些区别?
  8. c4d fbx大小_【第77期】双节来临,全球顶级C4D商用模型助你一臂之力!
  9. mysql数据类型查询命令_Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用...
  10. 【人脸表情识别】不得不读的重要论文推荐(2019-2020篇)