软件工程预习心得

小组:月色与雪色

成员:杨金波 贾明谦 曹兴龙 徐杰 苏坚 余林谦

在预习的过程中大家都学习了许多,在各自的学习中大家主要对自身感兴趣的章节心得如下:

杨金波(软件工程过程模型心得):

随着软件技术的兴起,进而促进了一些软件工程过程模型的提出,软件工程模型是一种策略,这种策略往往是由于软件工程师在实际工作中,总结和提炼出来的。它不仅能够对软件设计提供相应的帮助,而且作为软件工程过程的一种工具被利用。

一个良好的软件过程包括有软件项目的跟踪监控、技术审核、配置管理、风险管理等,在一个实际项目中,软件设计师根据需求选取相应的设计过程、方法及其工具被称为软件工程模型。而根据实际运用的分类,我们又将软件过程模型细分为瀑布模型和螺旋模型等。下面主要介绍一下螺旋模型。

首先我们需要了解螺旋模型的原理,螺旋模型沿着螺线旋转,在四个象限内表达四个方面的活动:制定计划、风险分析、实事工程、客户评估。它结合了原型的迭代性质与瀑布模型的系统性和可控性,是一种风险驱动型的过程模型。好处是便于理解,通过风险驱动支持现有软件的复用。但这要软件开发人员在寻找风险、分析风险上花费大量的精力以免带来更大的风险,因此在大型软件项目中这种模型运用较为广泛。当然还有更多的过程模型,如形式化模型、软件复用过程模型等等。

通过对软件工程各个过程模型的认识,我们掌握了在多种情况下合理选取过程模型的方法。在实际软件项目中能够更加简洁高效的进行软件设计。

贾明谦(项目分析与规划心得)

在预习软件工程的过程中,我了解到了一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分,需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。文档的作用在于以下3个方面,一是可以帮助整理思路。把要完成的目标,系统的结构,每一个模块的功能等整理一下,然后分门别类地写下来,这样在开发的过程中,就有据可依,在需要回过头来修改设计的时候,也有证可考。二是便于交流。

曹兴龙(软件需求分析心得)

需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。一般情况下,用户并不熟悉计算机的相关知识,而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同一问题理解的差异和习惯用语的不同往往会为需求分析带来很大的困难。所以,开发人员和用户之间充分和有效的沟通在需求分析的过程中至关重要。

有效的需求分析通常都具有一定的难度,一方面是因为交流存在障碍,另一方面是因为用户通常对需求的陈述不完备、不准确和不全面,并且还可能不断地变化。开发人员不仅需要在用户的帮助下抽象现有的需求,还需要挖掘隐藏的需求。此外,把各项需求抽象为目标系统的高层逻辑模型对日后的开发工作也至关重要。合理的高层逻辑模型是系统设计的前提。

在进行需求分析的过程中,首先要明确需求分析应该是一个迭代的过程。由于市场环境的易变性以及用户本身对于需求描述的模糊性,需求往往很难做到一步到位。需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。

此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。

 徐杰(软件概要设计心得)

概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。其中概要设计主要包括三个方面:1.主要内容 2.任务 3.过程。

概要设计是软件工程中所占比例很重的环节,在这个学习过程中不仅将软件工程的知识与数据库、VB以及数据结构等知识相结合的知识交叉地带,更是软件设计的关键,为下一阶段的详细设计做参考。通过这部分知识的学习,感觉知识有点错综,但是经过画图的练习,算是搭建起知识架构系统的再学习。

苏坚(面向对象分析与设计心得)

面向对象的分析与设计是现代软件行业广为采用的一项技术,该项技术要求技术人员要根据软件的具体需求和实用性、重用性等方面对软件进行分析与设计。面向对象技术的优点就在于描述了事物的性质和行为,对象的类之间的继承、关联和依束负关系能够描述事物之间实际存在的各 种关系,从而进 行分析与 设计相应的模型。所谓对象,就是指实际的一个事物,从软件角度就是说由一系列的数据组成的封装体,它与客观的实体有相对应的关系。所以,面向对象就是基于对象的概念,从对象出发,围绕这一中心来描述和构建一个软件实体。面向对象主要是将现实世界中的事物进行模拟、分析、重建、改造,从而将实体事物映射到软件系统中,使软件更具有实用性、重用性和维护性。面向对象具有三大特点:封装、继承和多态。在实际的面向对象分析与设计的过程中,我们常常用至现象对象方法,它就是指导人们将面向对象的方法运用到软件构建和开发当中,结合面向对象分析和设计,逐步的完善和完美软件的思想方法。如何进行面向对象? 分为三个步骤,面向对象分析、面向对象设计、面向对象实现。这其中定义用例是运用最广泛的方法,人们在生活中的一些情节和一些场景都可以提炼为用例,同样,在软件系统中,软件运行的一些方法和场景也可以定义为用例。随后,我们需要针对各个用例对功能圣行具体的分析并绘制完整的功能用例图,和时序图,这样我们能够很清楚的从图中看到软件功能执行的整个过程和时间先后顺序,极为便于后期的开发和实现。用例完成之后,我们需要对各个用例之间绘制功能交互图,也就是表示类定义的静态视图,来对软件各部分之间的交互经行定义。我们学习面向对象分析与设计首先从对象出发,理解对象的含义,准确的找出一个实体和软件模型中的对象,逐步的分解软件模型中的用例和时间顺序,并以用例图和时序图的方式展示软件运行的过程和方式及先后顾序,从而运用到软件开发过程中,这样的分析与设计将能够有效的提高软件开发的效率和成功率,同时也能很好的保证软件的可重用性、可维护性、可扩展性和稳定性,这无疑是增加了软件运行周期,节约了软件开发和维护的时间成本和经济成本。面向对象是一种思想,将实际的问题化作一个抽象的事物来进行分析,以数据、图形、交互结构来分析具体事物所发生的状态和过程,有利于在软件同开发前尽可能的减少软件开发过程中可能会遇到的问题和瓶颈。时也有效地理清软件流程将软件开发过程变得简单有条理、有目标。通过一学期对该课程的学习,我很有效的解决了以前在软件编程过程中盲目前行的问题,也解决了从前想到哪儿就写哪儿的混乱过程,让我的软件编程过程变得有条理、有目标,有效地减少了在开发过程中反复迂回的时间浪费,大大的节约了编程时间。以前,总是在编程完成之后出现功能之间交互出错,代码不稳定问题,进过对面向对象的学习,在软件开发之前对整个软件进行系统的分析,有目标、有方向的经行编程,减少了很多问题也提高了代码的稳定性。

余林谦(用户界面设计心得)

技巧1:保持专注

最好的移动应用集中精力将一件事做得很好。 你应该用一句话就能描述你的应用程序是干什么的,而不用提及任何"细节"。 用户应该能够启动它,使用它,然后在几秒钟内就能利用其达成目的。 如果用户需要通过四层以上的菜单才能使用,那应用程序很快就会被卸载。

技巧2:适当地使用后退按钮

在Android上,系统提供的后退按键在App内应该能够使用户得到返回的功能。 而在iOS中后退按钮是通过软件控制的,您应该总是提供一个返回按钮,原则上用户已经习惯了返回按钮在左上角。 遵循back-button的约定行为和特定于操作系统的位置是至关重要,要让你的应用程序满足用户期望的话。

技巧3:考虑软键盘行为

大多数移动应用程序都在一个或多个屏幕中要用到使用键盘输入。 不幸的是许多设计师没有考虑到激活屏幕键盘后如何显示界面。 当你测试时,请确保在屏幕上有足够的空间让用户知道他们在做什么,即使屏幕键盘被激活时也一样。

技巧4:体贴的空白提示占位符

如果应用程序只有几个数据输入域,则显示空白提示是很友好的,也可以让应用程序看起来更干净。 如果应用程序的数据输入域很多,则使用占位符而不是label就会变得非常混乱。 一旦用户在该输入域输入一些信息,除非这些信息是不言自明的,否则对用户来说那些信息就需要连蒙带猜了。

技巧5:挑战新特性

在以前的应用程序设计中,软件开发人员专注于在程序中添加尽可能多的功能。 他们衡量成功的准则就是能够比竞争对手拥有更多的功能和特性。 移动革命已经改变了这一点。

在桌面应用程序中,一个不常用的功能会被添加到子菜单中,高级用户发现这些功能可能是一个好主意,因为它使得你的程序区别于竞争对手。 在移动应用中,一个不怎么有用的特性会使得用户界面凌乱而难以操作。

技巧6:把选项卡放到正确的位置

在iOS中,主要的选项卡导航看起来不像选项卡。 他们是屏幕底部的一些图标,用户使用使用他们来切换应用的主要功能。 大多iOS用户不习惯这个功能出现在窗口的顶部,但Android用户习惯于这样。 在Android上,选项卡通常放置在应用程序顶部,并且可以左右滑动切换。

这里的关键在于,如果你的应用需要依赖一个"选项卡"来作为应用主要功能的导航,您需要在iOS和Android上将它们放到不同的位置。

技巧7:注意按钮的尺寸

简单设计中有一种倾向,说为了添加一些东西我们可以让它适应一下,如果我们只是稍稍减小按钮或字体的大小。 这是危险和灾难性的!!! 如果曾在智能手机上打开没有为移动设备优化过的web页面,你就知道不能点中一个超链接是多么令人沮丧的用户体验。 在app中,如果用户不能选择放大那就是一个更大的问题。

保持按钮尺寸足够大以容易使用,并在小屏幕设备上测试你的应用程序,如iPhone 4上依然拥有舒适的使用体验。

技巧8:考虑按钮位置

当用户手中拿着智能手机,屏幕的下半部分可以用拇指很容易到达。 习惯右手的用户可以接触到右下角,而左撇子正好相反。

如果你希望能够单手操作,记住这一点。

技巧9:提供必要的提示信息

任何时候给你的用户请求输入,考虑用户需要什么信息做出决定采取什么行动。 如果你的UI不在同一位置提供这些输入框,用户可能需要取消并返回到上一级页面来做决定。

减少用户的痛苦,当用户需要决策时在适当的地方提供必要的信息。

技巧10:注意你的图像分辨率

现代智能手机拥有惊人地高分辨率,看起来绝对漂亮。 不幸的是,如果你仍然在使用低分辨率图像作为图标,应用程序看起来就是锯齿状和模糊的,特别是在操作系统渲染字体和梯度时。 确保你使用264 ppi或更高分辨率的图片,并且看起来应该清晰和干净。 在比Retina屏的iPad具有更高分辨率的平板上(如Nexus 10 有300 ppi), 264 ppi的图像看起来仍然是清晰和干净的。

一个更好的方法是使用向量图(vector),那样可以在任何分辨率下缩放。

转载于:https://www.cnblogs.com/570677908-/p/8547557.html

你可能感兴趣的:(移动开发,操作系统,数据库)