第一次作业

第一章

第一章精概:

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

软件架构(software architecture)
软件设计与实现(software design implementation and debug)
源代码管理(source code control)
配置管理(software configuration management)
质量保证(quality assurance)
软件测试(test)
需求分析(requirement analysis)
程序理解(program comprehension)
软件维护(software maintenance)
服务运营(service operation)
软件的生命周期(software lift cycle slc)
软件项目的管理(project management)
用户体验(user experience)
国际化和本地化(globalization & localization)

 

软件开发的不同阶段:


1.玩具阶段
2.业余爱好阶段
3.探索阶段
4.成熟的产业阶段

 

软件的分类方法:


1.系统软件
2.应用软件
3.恶意软件

 

软件的特殊性:


1.复杂性(complexity)
2.不可见性(invisiblity)
3.易变性(changeablity)
4.服从性(conformity)
5.非连续性(discontinuity)

 

计算机科学偏理论领域:


• 计算机理论(theoretical computing)
• 信息和编码理论(information and coding theory)
• 算法和数据结构(algorithm and data structure)
• 形式化方法(formal methods)
• 程序设计语言(programming language)

 

计算机科学偏实践理论:


• 计算机体系结构
• 并行计算机和分布式系统
• 实时系统和嵌入式系统
• 操作系统
• 计算机网络
• 科学计算
• 安全和密码学
• 人工智能
• 计算机图形学
• 计算机视觉
• 多媒体
• 数据库和大规模数据处理
• 万维网
• 自然语言处理和语音
• 人机交互
• 软件工程

 

好软件的目标:(不断消灭bug)


1.用户满意度
用户在使用时发现了软件的很多问题,影响了     用户使用软件的效率
2.可靠性
某个软件经常会崩溃,某个操作系统会时不时死机,某个网站会时不时登不上
3.软件流程的质量
软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件
4.可维护性
软件太难维护,修复一个问题,另一个又出来了,如果没有足够的资金和时间来维护软件,甚至建议推倒重写

 

练习与讨论


提出问题:


1.现实的开发过程中往往会比理论中多出很多问题,比如需要如何能够将需求细化到任务,然后在细化到设计,最终使得能够在规定的时间内有条不紊的完成目标?
2.既有用又完美的软件不可能存在,那么在开发过程中这个“足够好到可以发布”的程度应该怎么判断呢?
3.在两人合作一起写代码,俩人写代码能力不同,行为习惯不同,思维方式不同,出现分歧时应该怎么处理呢?
4.在第三章软件工程师成长的内容中,谈到了软件工程师与普通程序员的对比,如何才能成为一名合格的软件工程师?
5.若用户需求和优化后的软件起冲突时,要按照用户的需求做还是优化的软件?

 

软件分类:


社交软件:qq ,微信(与人沟通交流,方便获取信息)
学习软件:不背单词,网易有道词典,有道口语,一点英语,百度网盘(主要用来学习英语,练习口语,增长自己的知识)
消费软件:淘宝,京东,唯品会,支付宝,网易考拉,12306,美团,小红书(方便自己购买商品)
娱乐软件:爱奇艺,腾讯视频,快手,抖音,知乎,微博,网易云音乐(主要用来休闲时间放松自己,了解更多课外的知识,拓宽自己的眼界)
办公软件:wps(方便编辑文档)
音频软件:Pics art ,剪映(修剪视频图片)
运动软件:运动世界校园(锻炼身体)
出行软件:高德地图(方便出行)

posted @ 2019-09-10 21:51  初十i  阅读(121)  评论(3编辑  收藏  举报