A professional terminology
- Source : the code line by line, is based on the data structure of the algorithm.
- Data - Static Data : Software icon, a message, etc.
- Data - Dynamic data : random number generated by the program, the program data downloaded over a network, the user's voice input or text
- Software build process : a complex software, have a reasonable software architecture, software design and implementation, as well as various documents to describe (the dependencies between the various program files, compiling parameters, connection parameters, etc.).
- Source Control = Configuration Management
- Quality Assurance : Use high-quality tools, processes, and documentation to ensure the correctness of the quality of developed software programs.
- Software testing : verify software quality and process tools and process quality.
- Requirements Analysis : the sort proposed by the appropriate needs of the user out, then carry out follow-up work - design (software architecture), implement (write data structures and algorithms), test, release.
- Program comprehension : a new software team members to read the existing program as soon as possible to understand the design process.
- Software maintenance / service operations : repair (patching, maintenance services, etc.) for software process problems that occur.
- Software life cycle (core) : software builds - source code management (configuration management) - software design --- Software testing - Requirements Analysis - Software Maintenance (Service Operation)
- User Experience : features and similar software are not very different, but people find it very easy to use. (With data structures and algorithms are not directly related, but important)
- Internationalization and localization of software : for (different languages, different regions) for the needs of different user interface and functionality, the software can handle.
- Software engineering in the broad sense: software engineering core part (10 ) + User Experience + user interface design.
- Software = programs + Software Engineering
- Software companies = Software + business model (inference)
- Software engineering decisions affect the quality of the software, the business model affect the success or failure of a software company.
- Software Engineering : Software engineering is the systematic, orderly, quantifiable method is applied to the process of software development, operation and maintenance.
- Software engineering includes the following areas : software requirements analysis, software design, software builds, software testing, software maintenance.
- Software development process : the development, operation, maintenance and technical process of software used in the process.
- Software purpose development process : to improve software development, operation, maintenance efficiency, and improve software quality, user satisfaction, maintainability, reliability and software.
- Software : is an ordered collection of instructions and data run in the computer and electronic equipment.
- Software Category (one): system software - operating system, device drivers, and other software tools
Applications - Users with their work, communications, games, browsing the web, playing video
Malware - virus software
- Software difficult development process : complexity, invisibility, volatility, compliance, non-continuity.
- Software features (non-essential):
① There are many different programming languages, software tools, software development platform
② There are many different software development process
③ software team there are different roles
④ software can be stored on tape, CD / DVD
- Project: creative use of scientific principles, design and implementation of buildings, machinery, equipment or process; or the use of one or more of the above entities in practice; or the implementation process of these entities.
- Computer Science (Theory) : closely related to the formal mathematics, discrete mathematics, mathematical logic.
Computer Science (practice) : data and other related disciplines.
Software Engineering : with human behavior, is closely related to the needs of social reality.
- Research goals of software engineering : software development, operation and maintenance.
- Software engineering three categories of basic knowledge areas : basic computing, basic mathematics, engineering basis.
- "There is no silver bullet" : there will be no breakthrough on a single software project that enables application development productivity has been an order of magnitude ( 10 -fold) increase.
- Bug : user behavior and expectations of the software is not the same. Whether the bug , depending on the user, different angles developers.
Two, P18-2
(1) 第四章提到了,代码复审的目的是为了减少错误的发生。我的问题是,代码复审的时间是否有要求?若超出了项目预期时间,我们应简略代码复审的步骤,后期继续弥补不足,还是做到尽善尽美,最大程度减少后期可能出现的bug?
(2) P254中提到了某些软件用得越多,越发难用。我想问是因为软件数次更新,试图优化,却适得其反,还是因为用户个人问题?
(3) 如何衡量一种语言的优劣?P148中表示:没有最好的,只有最合适的。“合适”指的是适合自己的编程习惯,还是适合该项目呢?
(4) P8中提到了软件工程的概念,是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。我不理解什么是系统的、有序的、可量化的。
(5) P154提到了用户需求的获取途径,我想问在用户需求的获取中,遇到了有极大实现困难的需求,我们应该怎么处理?
三、P18-3 不同类型软件的具体分析
|
企业/校园软件 |
游戏 |
工具软件 |
例 |
运动世界校园 |
王者荣耀 |
网易有道词典 |
特点 |
在记录运动时长、速率、距离的基础上,增添了校园榜单、精选话题、热门动态等模块。 |
游戏界面、人物、BGM符合情景,娱乐性强。 |
具有文字翻译、实景翻译、语音翻译等多种翻译方式,同时包括与英语相关的新闻热点栏目。 |
下载原因 |
学校课程要求 |
放松心情,劳逸结合,消磨时间 |
解决英语学习过程中的问题 |
是否为盈利性软件 |
是 |
是 |
是 |
盈利方式 |
将商城入口设为红色,放在工具栏中央,点击后跳转至某电商平台。以发放优惠券的方式,刺激使用该APP的学生消费。 |
游戏商店中,皮肤、英雄、改名卡等虚拟物品均可通过密码或指纹支付购买。 |
导航栏中“精品课”单击后会出现各种网课,支付方式为该APP中的虚拟货币,但虚拟货币需要自行购买。同时,商城一栏中上架了手机支付即可购买的学习用品和教辅书籍。 |
如何获得该软件 |
学校要求下载 |
自行下载 |
自行下载 |
下载时间 |
今年 |
高中 |
去年 |
使用感受 |
良好,硬性指标可以督促运动。 |
好。界面经常更新,颜色搭配有美感,符合游戏主题。 |
很好。实景翻译很方便,翻译准确。
|
如何处理bug |
刚刚下载,未遇到bug |
未遇到bug |
实景翻译时,印刷字体附近有笔迹则无法翻译,该bug未处理。 |
同类软件竞争 |
市面上有很多优秀的运动软件,但该软件获得了大学师生的认可,稳固了很大一批用户。 |
前几年异常火爆,近几年新款手游虽层出不穷,但这款界面美观,易上手的游戏还是受到了各个年龄段的“垂青”。 |
网易公司出品,以“官方”、“专业”、“精准”的姿态存活在真爱粉的手机里。 |