软件工程高效学实战案例:编写浏览器开发可行性研究报告系统网页内容

软件工程是计算机领域的一门专业基础课,它对于培养学生的软件素质、提高学生的软件开发能力与软件项目管理能力具有重要意义。本篇介绍实战案例——编写浏览器开发可行性研究报告。

01

实战案例——编写浏览器开发可行性研究报告

【例2-1】浏览器开发可行性研究报告。

本实例要求实现的浏览器是全功能的通用型网络浏览器,其功能主要包括以下4个方面。

浏览:最基本的功能,保证浏览的正确性。

缓存:缓存结构保持网站存储结构的原貌。

离线浏览:能定义下载的层数、下载的文件类型及是否跨网站下载。

假设某公司将要投资开发此浏览器系统,你作为一家软件开发企业,准备接手此项目的开发。但是首先要对此项目做可行性分析,并形成报告,这份报告既要能打动投资者投入资金,又要能让自己在项目开发中有所收益。

全功能的通用型网络浏览器可行性研究报告

1.引言

(1)编写目的。

本报告经审核后,交由项目经理审查。

(2)项目背景。

开发软件名称:全功能的通用型网络浏览器

项目任务提出者:X公司

项目开发者:X软件开发企业

用户:有需求的客户

项目与其他软件、系统的关系:在主流浏览器中,缓存并未保持网站存储原貌,使得希望观察网站组织结构的用户无法如愿。针对目前网速较慢、网费较高的情况,离线浏览的功能是有一定的需求用户群的。因此,决定开发这个软件。

(3)参考资料。

国家标准文档(详见本章附件)。

2.对现有系统的分析

(1)处理流程和数据流程。

通过对目前市场上浏览器系统的分析,将现有浏览器系统分为以下5个子系统。

①用户界面子系统:输入控制。

②控制子系统:系统控制,以及消息传递。

③网页显示子系统:网页显示。

④网页获取子系统:从远端Web服务器获取文件,以及文件信息。

⑤数据管理子系统:包括数据库、数据库管理。

浏览器的系统结构图如图2-18所示。

■图2-18系统结构图

子系统间对于数据处理的协作关系如图2-19所示。

■图2-19子系统间数据处理协作图

(2)用户体验分析。

当用户想要缓存某些网站的网页时,通常缓存下来的网页在脱机浏览时会出现图片缺失、网页效果无法正常展示,这是由于缓存网页时仅缓存了当前网页的内容,而没有存储整个网站的体系结构和依赖资源。

(3)局限性。

现有系统的局限性如下。

①脱机访问时,缓存网页原有结构、内容丢失。

②缺少离线浏览功能。

③冗余带宽浪费较多。

④用户搜索信息耗时较多,且效果不佳。

3.系统建议

(1)对所建议系统的说明。

本系统是一个全功能的通用型网络浏览器,其主要功能有以下5个方面。

①浏览:最基本的功能,保证浏览的正确性。

②缓存:缓存结构,保持网站存储结构的原貌。

③提供一个系统化的解决方案,提供轻量级网页编辑、收发E-mail等功能。

④离线浏览:能定义下载的层数,能定义下载的文件类型,能定义是否跨网站下载。

(2)处理流程和数据流程。

本系统的处理流程和数据流程如下。

①HTTP客户端发起请求,创建端口。

②HTTP服务器在端口监听客户端请求。

③HTTP服务器向客户端返回状态和内容。

④浏览器搜索自身的DNS缓存。

⑤搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)。

⑥读取本地的HOST文件。

⑦浏览器发起一个DNS的系统调用。

⑧浏览器获得域名对应的IP地址后,发起HTTP“三次握手”。

⑨TCP/IP连接建立起来后,浏览器向服务器发送HTTP请求。

⑩服务器端接收到了这个请求,根据路径参数,经过后端的处理,把处理后的结果数据返回给浏览器。如果是某网站的页面,就会把完整的HTML页面代码返回给浏览器。

浏览器拿到了某网站完整的HTML页面代码,在解析和渲染这个页面的时候,对里面的JS、CSS、图片资源,都需要进行上面主要的几个步骤的处理。

浏览器根据拿到的资源对页面进行渲染,最终呈现给用户一个完整的页面。

(3)改进之处。

本系统的改进之处如下。

①脱机访问时,缓存结构保持网站原有存储结构的原貌。

②有离线浏览功能,能定义下载的层数,能定义下载的文件类型,能定义是否跨网站下载。

③针对使用高速光纤网的用户,通过浏览网页时的冗余带宽自动获取对用户可能有帮助的信息。

(4)影响。

以下将说明在建立所建议系统时,预期将带来的影响。

①对设备的影响。

该浏览器完全兼容原有设备,不需要对设备进行更换或改造。

②对软件的影响。

③对用户单位机构的影响。

该浏览器简单易用,不需要用户单位机构设置专业人员进行管理和维护。

④对系统运行过程的影响。

用户操作规程与原系统基本一致。

运行中心与用户通过该浏览器实现联系。

系统发生意外崩溃时及时修复,从备份恢复数据。

⑤对开发的影响。

需要雇佣一些开发人员进行产品开发。

需要租借开发人员办公场所。

需要一定数量的计算机进行开发。

需要建设浏览器官网,并建立数据库以提供技术支持。

⑥对地点和设施的影响。

该浏览器无须额外使用场所,无须改造现有设施。

⑦对经费开支的影响。

该浏览器开发难度适中,开支项主要有开发人员的工资及相应社会保障开支,开发场所房租费用,使用计算机的购买或租赁费用,网站及数据库建设和维护费用。

(5)局限性。

由于该浏览器刚刚进入市场,支持该浏览器的扩展性插件可能比较少,不容易实现丰富的扩展性功能。随着浏览器使用人数的增加,其支持插件会逐渐增多,该问题会逐渐改善。

4.技术可行性分析

(1)主框架技术基础。

截至2021年,浏览器的全球市场占有率从高到低分别为Chrome、AppleSafari、Firefox、MicrosoftEdge、Opera等。目前,常用的浏览器都可分为多个标签同时浏览多个网页,并方便地在网页间进行切换。

浏览器的用户界面有很多彼此相同的元素,其中包括:用来输入URI的地址栏、“前进”和“后退”按钮、书签设置选项、用于刷新和停止加载当前文档的“刷新”和“停止”按钮、用于返回主页的“主页”按钮。

因此,可以基于现有的浏览器框架进行主框架设计。

(2)缓存技术基础。

浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示用户选择的网络资源。这里所说的资源一般是指HTML文档,也可以是PDF、图片或其他的类型。资源的位置由用户使用URI(统一资源标示符)指定。其中,浏览器解释并显示HTML文件的方式是在HTML和CSS规范中指定的。

浏览器缓存是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户。浏览器端缓存的机制种类较多,如果要缓存网站的完整结构,可以通过缓存HTML+CSS+Java文件,从而在脱机情况下完成整个网站的正常浏览。

(3)带宽利用技术基础。

可以利用预加载技术对多余的带宽进行利用,以提高包含用户预期信息的页面的访问速度。

因此,预期浏览器可以利用现有的技术进行开发。

(4)人员基础。

综上所述,技术可行。

5.投资及效益分析

(1)支出。

运行本浏览器系统所引起的费用开支有人力、设备、空间、支持性服务、材料等。

①基本建设投资。

建立本系统所需的房屋以及周边设施。

建立本系统所需数字通信设备的使用费用。

保障本系统运行与信息安全设备的使用费用。

建立本系统所需数据库管理软件的使用费用。

②其他一次性支出。

本系统建立时所需研究者的经费。

本系统建立浏览器官网时所需数据库的费用。

本系统的日常维护开销。

本系统开发时计算机购买或租赁费用。

③非一次性支出。

本浏览器系统开发人员的工资与奖金。

本浏览器系统开发时所需房屋的租赁费用。

(2)收益。

这里所说的收益,表现为开支费用的减少或避免、差错的减少、灵活性的增加、动作速度的提高和管理计划方面的改进等。

①一次性收益。

开支的缩减:本浏览器系统除必要的功能之外,应尽可能减少不必要的功能,以减少浏览器系统的能源损耗,提高运行效率,改进数据的进入、存储和恢复技术。

价值的提升:本浏览器系统出错率减少,并提高运行与处理效率。当发生意外崩溃时,该系统可及时进行备份,并且可从备份中恢复。

②非一次性收益。

本浏览器系统开发的收益来自开支的缩减和自身价值的提升。

③不可定量的收益。

本浏览器系统开发给用户的效率提升所带来的额外收益。

6.社会因素方面的可行性

(1)法律方面的可行性。

(2)使用方面的可行性。

作为一家专业的软件开发企业,公司应拥有足够的技术人员,技术力量和开发能力已经在之前的软件开发过程中有所体现,所以,开发的技术能力是毋庸置疑的。对于管理层面,现有的管理技术足够满足此浏览器系统的开发需求。就硬件条件而言,各种外围设备、计算机设备的性能能够满足系统的开发,并充分发挥其效应。对软件条件来说,公司的技术人员精通浏览器开发所需的各种软件。因此,公司具备开发全功能的通用型网络浏览器所需的必要条件。

7.结论

通过对此软件系统进行的各方面的可行性分析,可以得出以下结论。

(1)针对目前网速较慢、网费较高的情况,离线浏览的功能是有用户群的。

(2)由于宽带网正在普及,对那些使用宽带网的用户来说,通过浏览网页时的冗余宽带自动获取对用户可能有帮助的信息,对于希望获取某一方面内容网站的网页的用户是有帮助的。

(3)全功能的通用型网络浏览器所能获取的效益是可观的。

(4)此浏览器系统开发具有较强的可行性。

综上所述,全功能的通用型网络浏览器是一款能够提高用户浏览体验的软件系统,可以立即进行此软件系统的开发

实例讲解

软件工程导论与项目案例教程

(微课视频版)

精彩回顾

软件工程

1.软件的内涵与危机

2.软件工程基础

3.软件项目的生存周期

4.软件项目的开发模型

可行性分析

5.实践工具:KittenMicrosoftOfficeVisio

6.实践工具:Kitten

下期预告

软件设计

8.实战案例:在线选修课程管理系统设计

UI设计

9.实战案例:利用Kitten设计交互案例

软件实现

软件测试

11.实战案例:Selenium单元测试实战

12.自动化网页资料单选实战

项目管理

13.实战案例:Excel绘制甘特图

14.实战案例:TAPD进行需求管理

15.实战案例:禅道进行Bug管理

02

参考书籍

《软件工程导论与项目案例教程(微课视频版)》

作者:吴彦文

定价:59.90元

扫码优惠购书

内容简介

本书共分为11章,设计体系遵循教育部“新工科”工程技术人才“实基础、精专业、强实践、重创新、懂管理”的育人理念。全书涵盖软件工程基础知识、软件分析与设计、软件实现、软件测试、软件项目管理、软件开发实践和应用工具拓展等方面的内容。

第1章绪论,涵盖了软件工程概述、软件工程学习者阶段性知识与能力框架和全书实践任务预览。

第2章可行性分析,介绍了可行性研究,包括项目立项、可行性研究的方法与工具。以Visio软件为例,详解了流程图的绘制过程。

第3章需求分析,描述了需求分析的步骤和结构化分析方法。以机票预订系统需求分析报告为例,从数据、功能、性能三个维度展示了需求文档的书写流程与规范。

第4章软件设计,介绍了软件设计的步骤、面向对象的软件设计方法——UML和UML的主要建模工具RationalRose。借助在线选修课程管理系统设计案例,展现了用例模型和UML图的构建方法。

第5章UI设计,总结了界面的设计原则和交互设计的操作技巧。采用基于Axure的高保真Web原型图设计案例和基于Kitten的交互设计案例进行讲解,带领读者快速入门交互设计。

第6章软件数据库设计,介绍了数据库系统、关系数据库管理系统、MySQL和结构化查询语言SQL。此外,介绍了数据库管理工具NavicatforMySQL的基本操作。

第8章软件测试,归纳了软件测试常用的方法和工具,重点介绍了自动化测试工具Selenium。基于此,设计了单元测试实战和自动化网页资料单选实战,帮助读者快速熟练使用测试工具。

第10章软件工程实践,引导读者以案例贯穿软件工程开发全流程的方式,实践了“湖北省青少年运动员竞赛注册管理信息系统”项目和“疫情地图小程序”项目,从而驱动读者自主探索软件开发的工具和过程。

THE END
1.软件工程毕设课题帮助软件工程毕设课题帮助 1 前言 Hi,大家好呀,大四的同学马上要开始毕业设计啦,大家做好准备了没呢! 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设缺少创新和亮点,往往达不到毕业答辩的要求。 为了大家能够以最少的精力顺利通过毕业设计,学长推荐20个优秀的毕设项目给大家,同时https://blog.csdn.net/mdjiuhs/article/details/144436440
2.计算机专业就业方向从目前的情况看,企业的IT技术管理岗位一般设置为企业信息主管、总监等; 工程技术岗位设置为网络工程师、 软件工程师和数据库工程师等;运行维护岗位设置为数据库管理员、 系统管理员、 网络管理员、 设备管理员等; 操作岗位则设置为办公文员、CAD设计员、网页制作员、多媒体制作员等。 与软件技术人员相比,网络技术人https://www.yjbys.com/qiuzhizhinan/show-595810.html
3.资深网页设计和资深软件工程师有什么区别说明:资深网页设计和资深软件工程师哪个就业前景好?资深网页设计2023年招聘职位量 44,较2022年下降了 30%。资深软件工程师2023年招聘职位量 562,较2022年增长了 6%。统计依赖于各大平台发布的公开数据,系统稳定性会影响客观性,仅供参考。 学历要求区别 https://www.jobui.com/gangwei/pk/zishenwangyesheji-zishenruanjiangongchengshi/
4.我是学软件工程专业的,可以学网页设计课程么?。当然可以,只要您热爱网页设计都可以,因为我们招生是没有专业门槛的,会从最基础的课程开始学习。如果您不会绘画,没关系,我们有素描课程,色彩课程帮助您培养视觉美感。如果您不会软件没关系,我们会从最基本的软件学起,ps、CorelDRAW、flash等。当然您本专业也是有优势的,比如计算机程序语言我们也是会开设的,所以只要https://www.xuemanfen.cn/school/su/1120/issue_7753.html
5.最好的十个软件工程专业就业方向软件工程毕业后可以从事什么工作摘要:麦可斯大学生就业报告显示,“软件工程”是众多本科专业里的绿牌专业,就业率和薪资相对较高,失业量相对较小。其中薪资水平位居各专业前十。那么具体到个人而言,软件工程专业好就业吗?软件工程可以做什么工作?下面买购小编就和大家一起看看软件测试、服务器维护管理、软件开发、嵌入式开发、网页设计等就业怎么样。https://www.maigoo.com/top/422002.html
6.《软件工程综合实训1》课程实训指导书实训指导1)配套教材:《软件工程综合实训1》实训指导书,作者,2016年11月 参考资料:jsp程序设计(项目式) 2)实训场地及条件: 实训场地:实训大楼综合机房 实训设备或平台:myeclpse,mysql,TomCat 4、课程考核方法 参考实训课程教学大纲编写。 二、实训项目 实训一:动态网页设计基础 1、实训目的与要求 掌握HTML的常用标签 掌握HThttps://xxgc.hntbc.edu.cn/2020_05/10_00/content-8020.html
7.加拿大10大紧缺职业,工作移民两不误要以软件工程师的身份在加拿大生活和工作,最适合您的省份将是卑诗省和阿尔伯塔省,这两个省份都将其列入了省级提名计划的紧缺职业名单,而卑诗省甚至拥有自己的技术试点计划,通过该计划申请移民,只需等待2-3个月就能获知申请结果!如果通过阿尔伯塔省省提名计划申请移民,您也只需等待六个月。 https://www.douban.com/note/790597569/
8.计算机科学与技术专业就业前景1、网络工程方向就业前景良好,学生毕业后可以到国内外大型电信服务商、大型通信设备制造企业进行技术开发工作,也可以到其他企事业单位从事网络工程领域的设计、维护、教育培训等工作。 2、软件工程方向就业前景十分广阔,学生毕业后可以到国内外众多软件企业、国家机关以及各个大、中型企、事业单位的信息技术部门、教育部门等https://www.yuwenmi.com/lizhi/zhichang/4521578.html
9.期末网页设计基于HTML学生信息管理系统网页项目的设计与实现? 学生管理系统网页设计 、OA管理系统、后台管理模板、智能停车系统、等网站的设计与制作。 二、网站描述 ?HTML网页设计,采用DIV+CSS布局,共有多个页面,排版整洁,内容丰富,主题鲜明,首页使用CSS排版比较丰富,色彩鲜明有活力,导航与正文字体分别设置不同字号大小。导航区域设置了背景图。子页面https://blog.51cto.com/ruan365392777/5808364
10.烟台北大青鸟职业培训学校(一)软件工程师专业: 1、Java技术目标:掌握企业项目开发流程及相关技术,能够使用SSM框架、SSH框架技术,快速高效地开发性能健壮的企业级应用2、WEB前段技术目标:掌握前端设计思想理念,能使用HTML5、CSS3、JavaScript、jQuery、Ajax、bootstrap等技术完成3、数据库技术目标:掌握数据库设计思想、使用E-R图、第三范式进行规http://www.cnsdjxw.com/school_brows.asp?id=4652
11.软件工程就业前景好不好软件工程就业方向 1 可视化编程 掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术.获取Delphi程序员系列、Java初级或VB开发能手认证. 就业方向:企业、政府、社区、各类学校等可视化编程程序员. 2 WEB应用程序设计 具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护.获取https://www.oh100.com/zhichang/723325.html
12.DIV+CSS网页设计布局应用详解视频教程html/cssWEBITnose简介:担任多个大型产品项目的需求分析和架构设计,以及应用软件的代码编写、测试、架构设计到项目管理工作,具有高级软件工程师培训经历,历任大学兼职讲师,长期从事企业级开发应用研究和高级软件工程师的培养及管理工作,为了社会提供了更多、更优秀的软件人才。讲师:林玉燕简介:担任多个大型产品项目的需求分析和架构设计,以及https://m.php.cn/faq/283465.html
13.华东教育网常年招聘,职等你来!上海/浙江/江苏学历继续教育网5、负责公司品牌文化衍生品、宣传用品等相关设计。 职位要求: 1、具有网页设计、制作及界面设计工作经验,有扎实的美术功底,有较强的网站设计能力及用户体验设计经验者优先; 2、视觉传达、艺术设计、平面设计等相关专业; 3、熟悉HTML,熟练使用Photoshop、Illustrator、flash、Dreamweaver等相关软件; http://www.huadongedu.com/370/
14.山西专业网页建设:未来之路无论是从市场需求看,还是从行业发展趋势来看,山西在专业网页建设和软件工程领域的投资与发展都是具有潜力的。企业在选择合作伙伴时,也需要充分考虑这些因素,并深入了解相关企业的实力和服务能力。只有这样,才能确保在信息化浪潮中,抓住发展机遇,实现自身持续发展。https://m.imgc.cn/wangzhanjianshe/2930.html
15.2019计算机网络技术专业人才培养方案,荆州理工职业学院知识、技能及素质要求:通过此课程的学习,使学生能独立根据客户需求完成企业中小型软件设计解决方案。了解现代IT企业软件项目管理的基本过程,培养团队协作开发的基本素质要求;接触了解真实的用户需求与最新的技术应用,提前体验真实的软件开发环境等。 (2)网页制作与网站建设 https://www.jzlg.cn/zn/zy/10837.html
16.www.tongmentm.com/mokaka54171.html从北京时间1日5时48分正式运营开始到2日5时48分止,中俄原油管道全程运行平稳,按计划完成输油4.2万吨。按照中俄双方协定,中俄原油管道今起20年内每年将向中国输油1500万吨,本月计划输油132万吨。1日11时50分,中国境内漠河-大庆线正式启动,储存在漠河首站6座储油罐中的俄罗斯原油开始沿900多公里管线向大庆林源末站http://www.tongmentm.com/mokaka54171.html
17.软件技术本专业毕业生主要面向政府部门、社区、企业、学校、金融、税务等行业,从事各类网页设计与网站运维、程序设计、软件设计与开发,软件测试,数据库系管理与运维,移动应用开发等岗位的工作。 你的深造: 软件技术专升本的对应专业:计算机科学与技术、软件工程 专业咨询:薛老师(17792523565)刘老师(15991646670)https://xgxy.ylvtc.cn/zysz/rjjs.htm
18.加入我们IOS中高级软件工程师 工作地点: 北京职位性质: 长期招聘工作年限: 三年以上外语要求: 英语 良好学历要求: 本科 【岗位职责】 (1) 负责IOS平台下功能模块的设计及开发; (2) 根据软件开发流程管理的要求,完成程序的开发文档等; (3) 遵守各项管理规定、完成上级交办的其他任务。 【技能要求】 (1) 计算机、软件工http://racene.com/About.aspx?ClassID=39