论软件产品开发设计的需求分析_软件工程

优秀的产品设计可能是软件企业发展的重要契机。好的产品设计可能使企业走向产品系列化、服务规范化、内部管理规范化的良性发展之路。问题:什么样的设计才是优秀的产品设计呢?

非功能性需求的可定义性

1.系统的完整性:帮助系统,在线升级.不要过分的关注技术的难度,让每个或易或难的技术 去帮助自己的客户才是最重要的.
2.系统的可扩充和可维护性:常用的技术方法有面向对象的分析与设计以及设计模式。
3.技术适用性和应用适用性: 好的产品设计可能要考虑到运行条件的变化,包括:技术条件的变化, 如网络条件、硬件条件、软件系统平台条件等;应用方式的变化,如在具体应用中界面的变化、功能的剪裁、不同用户的职责分配和组合肥等。
软件产品的功能设计要点

1、产品核心功能的选取
(1)规模适当,不贪大求全,坚持”有所不为”。
(2)了应用要求以外,还可以根据关键技术进行版本规划。
(3)尽量遵从标准协议和行业标准。
2、多重可重用性的分析与设计
(1)不仅应该在系统设计中考虑,还应该在系统分析时就加以考虑,使系统达到多重可重用性;
(2)要采用面向对象的思想来进行系统分析,用对象概念构造系统行为,还要求我们在更高层次上对系统的操作模式或应用模式进行抽象,发现更高级的可重用性。

  1. 辅助功能的设计
    (1)在线帮助功能:这仍然是面向业务用户(当然也要面向其他用户)的一项功能,用于使系统更为友好。在线帮助功能通常设计成能独立运行的文档形式,如html格式。
    (2)数据管理:面向数据维护人员。虽然数据库管理系统都有现成的数据管理功能,但专门设计的数据管理可以更简便、易于使用,而且可以完成数据库管理系统本身所不能完成的工作。
    (3)日志管理:面向系统管理人员。良好设计的日志功能可以作为系统管理人员或产品设计人员监视系统状态、追踪系统问题,以及作为用户使用系统的审计依据。
    (4)用户管理:面向系统管理人员。用户管理与下面的两项功能一起使用,可以使系统适应不同的用户功能分配需求。系统管理人员可以最大限度地灵活指定不同用户所能执行的不同功能项,消除通常造成软件产品在用户手中”水土不服”的最主要的因素。
    (5)功能定义及功能表的自动生成:面向系统管理人员,定义系统的所有可操作功能项,并在用户进入系统时自动生成由管理员为之分配的功能表作为其“主菜单”。这一功能对于含有数据库和Web界面的系统特别适用,它使得系统具有”自动演化”的能力――即系统在运行时即可替换其部分功能,并且所有的功能权限在统一的控制之下。这正是系统可维护性的”最高境界”。
    (6)系统配置:面向高级用户或专职的IT人员,根据实际需求定义系统的技术参数和应用模式。经过系统配置后,系统不再是有着各种技术和应用可行性的”中间系统”,而成为真正面向最终用户的产品。