SE-第一章-整理-CCUT-ZY

《现代软件工程——构建之法》

(作业一计算机相关专业术语整理)

第一章 概论  

1.1软件 = 程序+软件工程

     程序=数据结构+算法、软件企业=软件+商业模式                    

    二叉树遍历、指针、应用软件、软件服务、源程序、API                     

    构建:cc和link命令,依赖关系,编译参数,链接参数

    软件架构(Software Architecture)                              

    软件设计与实现(Software Design,Implementation and Debug)

    源代码管理(Source Code Contral)=配置管理(Software Configuration Management)

    质量保障(Quality Assurance)                                 

    软件测试(Test)                                                

    需求分析(Requirement Analysis)                              

    程序理解(Program Comprehension)                               

    软件维护(Software Maintenance)=服务运营(Service Operation)

    软件生命周期(Software Life Cycle,SLC)                         

    软件项目管理(Project Management)                            

    用户体验(User Experience)                                    

    用户界面设计(User Interface Design)                           

    国际化和本地化(Globalization&Localization)  

计算机科学子领域偏理论:

       计算理论(Theoretical Computing)

       信息和编码理论(Information and Coding Theory)

       算法和数据结构(Algorithm and Data Structure)

       形式化方法(Formal Methods)

       程序设计语言(Programming Language)

计算机科学子领域偏实践:

      计算机体系结构(Computer Architecture)

      并行计算和分布式系统(Cincurrent,Parallel and Distributed System)

      实时系统和嵌入式系统(Real Time and Embedded System)

      操作系统(Operating System)

      科学计算(Scientific Computing)

      安全和密码学(Security and Cryptography)

      人工智能(Artificial Intelligence):如模式识别(Pattern Recognition)、机器人学习(Machine Learning)、数据挖掘(Data MIning)、信息提取(Information Retrival)

      计算机图形学(Computer Graphics)、计算机视觉(Computer Vision)、多媒体(Multimadia)

      数据库和大规模数据处理(Database and Large Scale Data Processing)

      万维网 (World Wide Web)

      自然语言处理和语音(Natural Language Processing and Speech)

      人机交互(Human Computer Interation)

      软件工程(Software Engineering)

                 

1.2软件工程是什么

    1.软件工程师把系统的有序的,可量化的方法应用到软件的开发、运营和维护上的过程

    2.软件工程包括下列领域:软件需求分析、软件设计、软件构件、软件测试、软件维护        

    3.软件开发过程的难题:复杂性、不可见性、易变性、服从性、非连续性

    4.软件开发流程、软件工具系统、系统软件、应用软件、恶意软件  

    5.计算机科学与软件工程不同侧重点

 计算机科学 软件工程
发现和研究长期的客观的真理 短期的实际结果(具体的软件会过时)
理想化的 对各种因素的折中
确定性、完美、通用性 对不确定性和风险的管理,足够好,具体的应用
各个学科独立深入研究,做出成果 关注和应用各个相关学科的知识,解决问题
理论的统一 百花齐放的实践方法
强调原创性 最好的、成熟的实践方法
形式化,追求简明的公式 在实践中建立起来的灵感和直觉
正确性 可靠性

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      6.软件工程的知识领域和理论基础:

           1)生命周期:软件需求、软件设计、软件构件、软件测试、软件维护

           2)专门领域:软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量

           3)理论基础:计算基础、数学基础、工程基础

      7.软件工程的目标——创造“足够好”的软件

           “Bug”——缺陷,bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性、可维护性、软件流程质量,但是是否是bug取决于用户、开发者的不同角度。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

(作业二:书P18.2)

1.书中:“软件企业的商业模式也会影响软件的需求,如果有人需要开发社交网络软件,同时提供丰富的API让别人能二次开发,那么,对API的支持会成为这个软件的一个重要需求。”何为API?经查资料,API应用程序接口(英语:Application Programmingi nterface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。但是我还是有些不理解,这个API是如何运行整合的?

2.软件工程入门学习的方法,需要有哪些知识储备基础呢?书中提到了对通用软件设计思想和软件工程思想的理解,但是怎么才算是好的软件设计思想?好的软件工程思想?是有具体的评判法则还是其他?

3.书中:“软件工程师的工作就是写代码,相关专业练习也是以阅读代码,写代码为主,那么代码量和工程师的水平是线性的关系吗?当代码是在2,000行以下,程序员可以用 “写了再改” 的蛮干方法,并且靠记忆力搞定一个程序,但是, 如果你的代码规模达到20,000行,你要用结构化编程(类,模块,API,细节隐藏,面向对象的其它方法,等)来保证程序不变成一团乱麻。  如果代码规模再大一个数量级, 20万,200万呢?”在我看来,在前半部分的区间,代码量跟工程师的水平是呈现线性关系,但是总会有一个瓶颈期,或许是这个20,000行,那这个书中提到的结构化编程如何表现?如何起作用的?

4.书中:“如果我们做的项目是真实的,有具体而多变的需求,有工期、质量和资源的矛盾,团队各自的水平目标也不一致,那么团队内部不可能没有矛盾,但是矛盾不是一开始就爆发的,他有自己的生命周期,有不同的发展阶段。”以后如果从事相关工作,肯定也会遇到这种情况,那么我们应该如何处理与小组其他成员的矛盾关系,如何高效结对编程?

5.书中“职业发展——考级之路”现在的我们参与哪些相关考试认证对将来考研或者找工作比较有帮助?如何去寻找这些路径?

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

(作业二:书P18.3)

 1.手机软件分类:

 1)影音视听:爱奇艺、腾讯、哔哩哔哩、酷狗音乐、小米音乐

 2)购物消费:淘宝、手机天猫、一淘、拼多多、菜鸟裹裹、饿了吗、美团、肯德基、叨叨记账

 3)聊天社交:QQ,微信

 4)旅行交通:飞猪、12306、高德地图

 5)实用工具:WiFi万能钥匙、净网大师、安全中心、联通掌上营业厅

 6)学习教育:网易有道词典、百词斩、C语言编译器、畅言普通话、考研帮、世界运动校园

 2.软件特点

      Bilibili(哔哩哔哩,又称:B站)是2009年6月推出的一个ACG相关的弹幕视频分享网站,其前身为视频分享网站Mikufans,于2018年3月,在纳斯达克上市。

      其特色是悬浮于视频上方的实时评论功能,爱好者称其为“弹幕”,是一家极具互动分享和二次创造的文化社区。

      2013年前后注册了账号,高一,通过好友了解。Bilibili可以进行大会员充值,可以送虚拟礼物支持喜欢的UP主。

      APP内有相关Bug反馈,出现问题可以即时发送反馈或者联系相关客服在线解答,随后的版本就会反馈的Bug进行修复并且更新版本,在用户下一次点开软件时会有弹框提示更新。

      Bilibili移动端Adnroid 版本于2012年02月正式上线, IOS 版本于2012年9月5日正式上线,Android版本现已经更新到5.47.0版本,IOS版本现已经更新到5.31.1版本(截止2019年9月1日)。

     相比其他视频软件,Bilibili更专注于二次元文化,视频审核速度快,视频无广告,且拥有良好的弹幕生态环境与用户生态环境等优势。

      Bilibili目前拥有动画、 番剧、国创 、音乐、舞蹈、游戏、科技、生活、娱乐、 鬼畜、时尚等分区,并开设直播、游戏中心、周边等业务板块。

 

                        

     

      

                                                                                                                                                                       我太难了o(╥﹏╥)o

猜你喜欢

转载自www.cnblogs.com/delephine/p/11482752.html