软件工程2021:第1次作业—— 自我介绍 + “分析" 软件(热身运动)
大家好,我是王巧,现就读于南通大学,是我校信科院大数据192班的学生,我来自江苏盐城,所谓“东方湿地,鹤鹿故乡”,说的就是有着丹顶鹤和麋鹿两个国家级自然保护区的盐城。我在通大度过了两年的美好时光,在这段日子里我认真学习积极思考,有所收获也有所遗憾,对于因怠惰产生的基础理论和编程能力等实操技能上的疏漏和空缺,在接下来的学习生活中,我会着力于专业知识的夯实与扩充,以及专业技能的学习和提升,希望我们做好规划珍惜当下,不忘初心砥砺前行,莫待岁月流逝,方追悔韶光虚掷,痛自鞭策。
下面我简单阐述一下软件构建过程的必要步骤。(1)需求分析:需求过程始于项目起始阶段,并在软件的整个生命周期中持续精化,通过干系人之间的有效沟通来实现需求的捕获、发现和抽取。需求分析要运用结构化分析等方法进行概念建模,需要确定项目范围、软件用途和可交付成果的优先级,以确保客户最重要的业务需求先得到满足,还应该具有可拓展性,以便在需求迭代过程中增减新的需求。(2)软件设计:软件工程师构建各种模型,完成方案的蓝图,通过对模型的分析和评价确定能否充分支持各种需求的实现,通过检查、评价和权衡不同的候选方案,选择最合适的设计方案。软件设计包括体系结构设计和详细设计,前者描述软件如何被分解为组件,后者描述这些组件的期望行为。(3)软件构造:通过程序编写、验证、单元测试、集成测试和调试纠错,创建可工作、有意义的软件。(4)软件测试:动态验证程序针对有限的测试用例集是否可产生期望的结果,软件测试贯穿于软件开发和维护的整个生命周期。(5)软件发布和维护:软件投入运行,为使软件持续满足用户需求而进行维护,如维护和控制软件的常规功能、控制对软件的修改、优化现有的功能、识别安全威胁和安全漏洞、避免软件性能变差至不可接受的程度。
根据我使用软件的经验,我认可的软件价值要素包括功能性、易使用性、可靠性等。(1)功能性:软件所实现的功能应当能够满足用户的需求,具有特定功能的软件提供的一些资料数据信息应尽可能准确,而不是说给用户推送一些虚假不可靠不全面或者模棱两可的信息,软件产品也应有保护信息和数据的能力,应对用户名和密码有保护措施包括对密码的屏蔽功能。软件应具备互操作性即与其他软件交互的能力,这个可以在设计软件架构时明确定义需要访问的外部功能以及数据结构。(2)易使用性:软件应易理解、易学、易操作,具备对用户的友善性和吸引性,方便用户的日常使用,软件交互给用户的信息时应清晰准确易懂。现在很多软件在打开时都有一个三到五秒的开屏广告,导致软件的启动时间加长,稍微有些影响使用。我觉得软件的指引过程是非常值得肯定的,但过于细致就大可不必了,某些软件需要走完它固有的指引过程才能进行用户自身的使用,可以增添一个退出或者跳过的选项。也有部分软件具有简洁模式,摒弃了一些胡里花哨的功能,能适应不同类人群的需求,比如一个软件在它本身的基础功能之外还有一些如社区、实物商城就可能不太被部分人需要了,简洁模式或者什么模式就可以删繁就简。(3)可靠性:软件应具备成熟性、容错性,在失效情况下具备恢复能力,最好提供备份和恢复的操作,有些软件运行不稳定在发生错误时会自动退出,那么闪退之后重新登录应可恢复之前的数据。部分软件还具备留痕功能,可以提供操作日志,比如用户登录的时间地点等,比如QQ等有异地登录的提示,就很好。