SE- Chapter 1 - finishing -CCUT-ZY

"Modern software engineering - Construction of Law"

(A computer-related jargon job finishing)

Introduction Chapter One  

1.1 software program = + Software Engineering

     Program = algorithm + data structures, software companies = + software business model                    

    Binary tree traversal, pointer, application software, software services, source code, API                     

    Building: cc and link command, dependencies, compile parameters, parameters Link

    Software architecture (Software Architecture)                              

    Software Design and Implementation (Software Design, Implementation and Debug)

    Source Control (Source Code Contral) = Configuration Management (Software Configuration Management)

    Quality Assurance (Quality Assurance)                                 

    Software Test (Test)                                                

    Demand analysis (Requirement Analysis)                              

    Program Understanding (Program Comprehension)                               

    Software Maintenance (Software Maintenance) = Service Operation (Service Operation)

    Software Life Cycle (Software Life Cycle, SLC)                         

    Software Project Management (Project Management)                            

    User experience (User Experience)                                    

    User Interface Design (User Interface Design)                           

    Internationalization and Localization (Globalization & Localization)  

Partial sub-field of computer science theory:

       Theory of computation (Theoretical Computing)

       Information and coding theory (Information and Coding Theory)

       Algorithms and data structures (Algorithm and Data Structure)

       Formal Methods (Formal Methods)

       Programming Language (Programming Language)

Sub-field of computer science partial practice:

      Computer Architecture (Computer Architecture)

      Parallel and distributed computing systems (Cincurrent, Parallel and Distributed System)

      Real-time systems and embedded systems (Real Time and Embedded System)

      OS (Operating System)

      Scientific Computing (Scientific Computing)

      Security and Cryptography (Security and Cryptography)

      AI (Artificial Intelligence): such as pattern recognition (Pattern Recognition), robot learning (Machine Learning), data mining (Data MIning), information extraction (Information Retrival)

      Computer Graphics (Computer Graphics), computer vision (Computer Vision), multimedia (Multimadia)

      Large-scale data processing and database (Database and Large Scale Data Processing)

      WWW (World Wide Web)

      Natural language processing and speech (Natural Language Processing and Speech)

      HCI (Human Computer Interation)

      Software Engineering (Software Engineering)

                 

1.2 What is Software Engineering

    1. Software engineer the orderly, quantifiable systematic approach is applied to the process of software development, operation and maintenance

    2. Software engineering includes the following areas: software requirements analysis, software design, software component, software testing, software maintenance        

    3. The process of software development problems: complexity, invisibility, volatility, obedience, discontinuity

    4. The software development process, system software tools, system software, application software, malicious software  

    5. computer science and software engineering different emphases

 computer science Software Engineering
Discovery and study of the long-term objective truth The actual short-term results (specific software become obsolete)
Idealized Compromise of various factors
Certainty, perfection, versatility Uncertainty and risk management, good enough, the specific application
Various disciplines independent in-depth study, made achievements Knowledge and application of the various concerns related disciplines, to solve the problem
Unified theory Flourishing practices
Emphasis on originality The best, proven practices
Formal pursuit concise formula Established in practice, inspiration and intuition
Correctness reliability

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      6. fields of knowledge and theoretical basis of software engineering:

           1) Life Cycle : software requirements, software design, software component, software testing, software maintenance

           2) specialized areas : software configuration management, software project management, software engineering processes, software engineering models and methods of software quality

           3) Theoretical basis : Calculated based on mathematical foundation, foundation engineering

      7. The goal of software engineering - to create a "good enough" software

           “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

Guess you like

Origin www.cnblogs.com/delephine/p/11482752.html