软件工程第一次作业1) 软件工程适用范围
答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科
它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面
在现代社会中,软件应用于多个方面
典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、 操作系统、 编译器、 数据库、 游戏等
同时, 各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等
这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量
2) 软件工程如何控制系统开发的复杂性的
答:可理解性(understandability)
系统具有清晰的结构,能直接反映问题的需求
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用
3) 以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的
答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误, 会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复, 修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序
4) 假设某软件公司, 能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能
请问如果你是项目负责人,你会选择为客户开发那个层次的软件
答:我会选择仅仅满足用户需求的软件
因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作
而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用