赞
踩
时间维度:使用以前的软件版本作为新版本的基础,加入新功能,适应新需求,即软件维护。
平台维度:以某平台上的软件为基础,修改和运行平台相关的部分,使其运行于新平台,即软件移植。
应用维度:将某软件(或其中构建)用于其他应用系统中,新系统具有不同功能和用途。即真正的软件复用。
软件复用的三个基本问题:
软件复用包括两个相关的过程:
实现软件复用的各种技术因素和非技术因素是互相联系的. 它们结合在一起, 共同影响软件复用的实现。
关键因素包括:
1.软件构件技术 2.软件构架 3.领域工程 4.软件再工程
5.开放系统技术 6.软件过程 7.CASE 技术 8.非技术因素
构件(Component):是指应用系统中可以明确辨识的构成成分。而可复用构件(Reusable Component)是指具有相对独立的功能和可复用价值的构件。
可复用构件应具备以下属性:
①有用性 ②可用性 ③质量 ④适应性 ⑤可移植性
软件构件技术:支持软件复用的核心技术, 是近几年来迅速发展并受到高度重视的一个学科分支.其主要研究内容。 主要包括:
(1)构件获取:有目的的构件生产和从已有系统中挖掘提取构件
(2)构件模型:研究构件的本质特征及构件间的关系
(3)构件描述语言:以构件模型为基础, 解决构件的精确描述、理解及组装问题
(4)构件分类与检索:研究构件分类策略、组织模式及检索策略, 建立构件库系统, 支持构件的有效管理
(5)构件复合组装:在构件模型的基础上研究构件组装机制, 包括源代码级的组装和基于构件对象互操作性的运行级组装
(6)标准化:构件模型的标准化和构件库系统的标准化.
软件再工程是一个工程过程,它将逆向工程,重构和正向工程组合起来,将现存系统重新构造为新的形式,再工程的基础是系统理解,包括对运行系统、源代码、设计、分析和文档等的全面理解。
C/S软件体系结构,即Client/Server(客户机/服务器)结构,是基于资源不对等,且为实现共享而提出来的,是20世纪九十年代成熟起来的技术,C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。
B/S软件体系结构,即Brower/Server(浏览器/服务器)结构,是基于Internet技术兴起,对C/S体系结构的一种变化与改进。在B/S体系结构下,用户界面通过浏览器实现,一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。
模型名称 | C/S软件体系结构 | B/S软件体系结构 |
结构 | Client/Server(客户机/服务器) | Brower/Server(浏览器/服务器) |
特点 | C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务 | 在B/S体系结构下,用户界面通过浏览器实现,一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现 |
不足 |
|
|
C/S和B/S混合软件体系结构模型
传统的C/S体系结构并非一无是处,新兴的B/S体系结构也并非十全十美,所以C/S和B/S体系结构还将长期共存,其结合方式主要有两种。
1.”内外有别”模型
企业内部用户通过局域网直接访问数据库服务器,软件系统采用C/S体系结构;企业外部用户通过Internet访问Web服务器,通过Web服务器再访问数据库服务器,软件系统采用B/S体系结构。
2.”查改有别”模型
不管用户是通过什么方式(局域网或Internet)连接到系统,凡是需执行维护和修改数据操作的,就使用C/S体系结构;如果只是执行一般的查询和浏览操作,则使用B/S体系结构。
实战项目技术简述:本节内容中的数据来多个公司的数十位一线开发技术人员,通过调研表的形式,在不涉及项目具体细节及保密技术的情况下,汇总实战项目中的技术关键点,主要包含了:
Java:常年占据热门编程语言排行榜第一,Java工程师综合就业排名第一,常应用SSM常用框架结合面向对象编程思想实现项目开发,完成Linux系统下的项目部署运行等。
方向 | java | java | java |
使用语言 | java | java | java |
前台框架+使用语言 | Html5+css3,bootstrap,jquery | node.js | Vue node.JS webpack |
后台框架+使用语言 | SSM框架,RabbitMQ 3.0.1,redis,OSS | Springboot | 微服务架构 springcloud |
数据库(分布式/托管) | 分布式 Mysql | oracle | Oracle+Redis |
优化策略 | 消息等待序列 ActiveMQ | ||
负载均衡 | 负载均衡 nginx |
前端:前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现。
方向 | 前端 | 前端 |
使用语言 | JavaScript | JavaScript |
前台框架+使用语言 | React+redux vue JavaScript | React JavaScript |
后台框架+使用语言 | SpringBoot+SpringCloud+docker java | Eggjs JavaScript |
数据库(分布式/托管) | Mysql mongdb | 分布式 Mysql |
优化策略 | 代码压缩 react diff算法 | dll提取 打包bundle包gzip |
负载均衡 |
Python:一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议,Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进,具有丰富和强大的库,常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
方向 | Python |
使用语言 | Python |
前台框架+使用语言 | JavaScript |
后台框架+使用语言 | Python+node+meteor+少量java |
数据库(分布式/托管) | 关系型和非关系型 |
优化策略 | 优化线程 |
负载均衡 | 负载以用户端为主 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。