• 软件工程第一次作业


    第一章 概论

    (1)Excel、c/c++、VB、Unix Shell、Emacs、Powershell/VBScript、JavaScript、Perl、Python

    (2)程序,用户,需求,软件,要求,工程,应用软件,软件服务,源程序,数据,代码,静态数据,可执行代码,软件架构,软件设计与实现,依赖关系,编译参数,链接参数,软件构建,32/64位版本,源代码管理,配置管理,程序的正确性,软件的质量保证,软件测试,需求分析,程序理解,软件维护,服务运营,软件的生命周期,软件项目的管理,用户体验,软件的国际化和本地化

    (3)软件=程序+软件工程

      软件企业=软件+商业模式

    (4)软件开发的不同阶段:

      玩具阶段-->业余爱好阶段--.>探索阶段-->成熟的产业阶段

    (5)软件工程是什么:

      软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护的过程。

    (6)软件工程包括:软件需求分析,软件设计,软件构建,软件测试和软件维护

    (7)软件工程的相关学科:计算机科学,计算机工程,管理学,数学 ,项目管理学,质量管理学,软件人体工学,系统工程,工业设计和用户体验设计

    (8)软件的特殊性

      复杂性,不可见性,易变性,服从性,非连续性

    (9)软件的其他性质:

      有许多不同的程序设计语言、软件工具和软件开发平台

      存在许多不同的软件开发流程

      软件团队中存在许多不同的角色

      软件既可以存储在磁带上,也可以存储在CD/DVD上

    (10)软件工程与计算机科学的关系

       中国大陆的高校中大致有下面三种讲计算机软件的机构

        计算机科学与技术系或学院,软件学院,软件工程系软件工程学院

    (11)计算机科学这一学术领域可以分为下面这些偏理论的领域

       计算机理论信息和编码理论,算数和数据结构形式化方法,程序设计语言

     以及下面偏实践的领域

      计算机体系结构并行计算机和分布系统,实时系统和嵌入式系统,操作系统,计算机网络,科学计算,安全和密码学,人工智能,计算机图形学,计算机视觉,多媒体

    数据库和大规模数据处理,万维网,自然语言处理和语音,人机交互,软件工程

    (12)计算机科学和软件工程的不同侧重点

        计算机科学                软件工程

        发现和研究长期的、客观的真理       短期的实际结果(具体的软件会过时)

        理想化的                 对各种因素的折衷

        确定性,完美,通用性           对不确定性和风险的管理,足够好,具体的应用

        各个学科独立深入研究,做出成果      关注和应用各个相关的学科的知识,解决问题

        理论的统一                百花齐放的实践方法

        强调原创性                最好的、成熟的实践方法

        形式化,追求简明的公式          在实践中建立起来的灵感和直觉

        正确性                  可塑性

    (13)软件工程的知识领域

      生命周期:软件需求,软件设计,软件构建,软件测试,软件维护

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

      理论基础:计算基础,数学基础,工程基础

    (14)软件工程的目标——创造“足够好”的软件

      用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。

      可靠性:某个软件经常会崩溃,某个操作系统会时不时死机,某个网站往往在最需要的时候登不上去。

      软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件。这也可以说式软件团队的bug

      可维护性:某个软件太难维护了,按下葫芦起了瓢,修复了一个问题,另一个问题又出来了。也没有足够的文档,维护人员需要更多的资金和时间来维护这个软件,甚

           至建议推倒重写。

    1.3练习与讨论 (P18)

    P18-2

    (1)单元测试真的很重要么,根据我的实践,我认为单元测试还是很重要,如果单元测试做不好,很有可能导致一个小问题影响整个工程的进度,但是单元测试会浪费很多时间,很麻烦,所以我就很困惑,到底应不应该做这个测试,怎么做这个测试。

    (2)学习软件工程的话,编程能力需要达到什么样的水平才能成为一个好的软件工程师?是不是除了能看懂程序外是不是还得学习管理,交流和其他技术

    (3)代码格式编写是严格按照代码规定编写还是看起来让人舒服就好,根据我的实践,我都是根据规范大概写出来调整成让人舒服的格式,但是我觉的我这个方式不太正确,所以有些困惑,到底应该怎么写。

    (4)团队到底有多重要,根据之前的实践,每学期的实训都要分小组完成,第一次团队合作大家都会觉得的彼此是累赘,但是后来发现团队是要进行人员分工的,要把每个人的长处体现出来,这一点是很好,但是每个人都有自己的想法,很难把大家整合在一起,就很难。

    (5)是不是每一个Bug都要进行修复,工程很大的话,不修复一些无伤大雅的Bug行不行。

    P18-3

    我的手机软件分成以下六类:

    常用设备:QQ、微信、浏览器,电话,相机

    系统设备:计算器、日历、闹钟、手电筒、文件管理

    支付软件:美团App、邮政银行App、中国建设银行App、招商银行App、12306App、手机营业厅App,支付宝

    购物软件:京东App、淘宝App

    办公软件:wps、高德地图、百度网盘、学习强国、e支部、有道

    娱乐软件:消消乐、腾讯/搜狐视频、2048

    选择消消乐进行分析:

    下载原因:解压,让自己放松

    是否时常更新:是

    盈利模式:购买精力、购买通关道具、购买皮肤等装饰品

  • 相关阅读:
    初识函数
    文件操作
    set集合,深浅拷⻉以及部分知识点补充
    is和==的区别以及编码、解码
    python数据类型三(字典)
    python数据类型二(列表和元组)
    python数据类型一(重点是字符串的各种操作)
    python基础二
    python基础一
    【1】 肿瘤医学研究前言进展
  • 原文地址:https://www.cnblogs.com/jingxueyan/p/11482895.html
Copyright © 2020-2023  润新知