后端小菜谈软件设计

你还在吐槽产品经理给的原型图有多么的不合理么?

你还会想如果这个软件我来设计会如何的简单么?

我时常在想,

在满足用户需求的基础上,

我们的软件究竟可以简单到什么程度呢?

最近想做一个人事考勤系统,定位于中小企业的老板或者人事使用,企业的规模大概100个以内,10个部门以内,主要完成员工档案的录制编辑,请假、加班、出差的登记等功能。

参考很多大型的人事系统,里面有审核流程、用户权限角色等模块。比如,一个员工要请假,他可以打开网址,填写单据后点击提交,他的单据就会按照配置的流程结点传递到对应的领导那边进行审核,最后汇总到人事那边进行统计。

等等,再仔细想一下,大型企业,成功的部署了人事系统兴许还能执行,可是在中小企业中,第一部署不了这么大的系统,第二,员工办公的地方靠的很近,有的喊一声就能叫到人事,员工还会用这样的系统,跑那样繁琐的流程么?他们需要的是一个简捷方便的系统,不要员工参与,只要人事一人使用,登记下员工、请假、加班等信息,方便以后查询统计就行了。

好了,不多说了,开始干吧。

不用复杂的技术(其实复杂的也不会),直接winform+sqlite。

不用复杂的架构(其实复杂的也不会), 直接传统的三层架构。

原型图:

本人是很菜的菜鸟,所以功能做的很简单,基本上就是增删改查,一天也完成了,可是我至少从头到尾完成了一个小软件,有时候目标定的太大,完不成反而使自己的信心受挫。

人不能为难自己,产品设计就是以用户为主,不要搞得做出来的东西自己都不会用,何谈用户?

大家砖下留情,多给点意见。

软件完成效果图见:http://www.foundexception.com/product

时间: 2024-08-29 00:26:58

后端小菜谈软件设计的相关文章

浅谈软件设计

软件用户界面的发展经历了从简单到复杂.从低级到高级的过程,用户界面在软件系统中的价值比重越来越高.得益于互联网的发展和普及,软件开发的技术门槛在不断下降,大部分软件企业的技术手段也趋向于雷同,“软件设计”变得越来越重要.当大家都掌握了相似的技术和需求信息之后,企业之间的开发竞争“比的就是设计”.软件用户界面设计要综合考虑“易用性设计”.“艺术设计”和“技术实现”,很有挑战性.用户界面在很大程度上影响着软件的命运,因为广大用户对软件的评价主要来源于他们操作用户界面的感受.同类软件越多,选择的余地越

软件设计原则和方法通俗理解

网上有很多关于软件设计原则的说法,很精确,很官方,但是对于有些初学者来说可能是不知所云,到最后把自己给郁闷到了,学习软件应该是一件愉快的事情. 那么软件设计原则有哪些呢? (1)可靠性 做出一个可靠的软件,跟女人找一个可靠的男人一样,女人找男人,需要男人品质好,人品好,靠谱,可信赖,可依靠,身材高大,等等.软件设计也是一样,在软件的设计阶段就要非常注意软件的可靠性,不要等到最后用的时候发现软件这里不行那里不行,或者说在使用软件过程中一旦发现问题还是可以恢复使用,不能直接崩溃. (2)健壮性 这个

浅谈软件项目的需求管理

软件项目区别于其它项目的最显著的特征是其不可见性,它不像硬件购销.建筑工程,都是实实在在可见的东西.而软件项目在系统交付之前很长一段时间,客户是无法感知自己想要的系统究竟是什么样子.因此,需求管理就显得十分重要,据相关统计数据分析,软件项目90%以上失败的原因都在于没有重视需求或者需求管理方面做的不到位导致的. 需求管理作为软件项目管理的一个重要内容,贯穿项目实施的全生命周期.俗话说:万事开头难.需求作为软件开发的第一个环节,其重要性不言而喻.市面上关于需求管理的相关理论和书籍很多,但多数停留在

康华:浅谈软件可维护性问题

前言 很多包括自己在内的开发人员都会经常去借用(我们不用剽窃这个词了!呵呵)开源代码进行二次开发:或者在前辈的遗留代码下,继续修修补补.这种经历往往并不像看起来那么简单--有时看懂,进而修改别人的少许代码,都会觉得老虎天--无从下手,究其原因主要是代码晦涩,关系复杂,难以隔离影响等. 而这时我们或者抱怨前人代码写的愚蠢,垃圾:或者又会自惭自己编码水平太次.其实这种困境的起源除了自己笨以外,更多是因为代码的可维护性不够. 由于前不久和朋友齐永升注释<代码质量>一书时曾关注过代码的可维护性,而近期

浅谈数据库设计技巧(转)

说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法.面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,从而实现封装. 数据库的最初雏形据说源

漫谈软件设计与分工协作

本节导读: 阐述“分工/协作”是世界万事万物进化发展的必然选择,也是软件设计首要指导思想,也是软件分层.分模块的理论依据. 对于从事软件行业的人来说,大部分人会经历软件架构设计,想尽可能的将软件设计的灵活.简单.好用,谈到软件设计我们经常会听到一些术语,比如:面向对象设计.设计模式,设计原则.分层思想等.但这些模式.原则起什么作用,为什么需要这些模式.原则,我们可能说是为了软件可阅读性,可维护性,可扩展性,为了程序解耦,为了模块化,为了插件化.但这是理由吗,这个理由能站得住脚吗?隐藏在这些需求背

浅谈数据库设计

浅谈数据库设计 数据库设计的重要性:好的数据库设计有下面的一些作用: 1.首先充分体现系统的需求,数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,准确的表达数据间关系. 2.保证数据的准确性和一致性,通过主外键.非空.限制.唯一索引等保证数据的健壮. 3.提高数据的查询效率,通过合理表结构,安排物理存储分区.增加索引等方式,提高数据的读取速度,提高查询效率. 4.有好的扩展性,在必要时能根据需求扩展数据结构. 在系统设计中对数据库的设计应考虑哪些设计原则  数据库是整个软件

软件设计杂谈

\ disclaimer: 本文所讲的设计,非UI/UE的设计,单单指软件代码/功能本身在技术上的设计.UI/UE的主题请出门右转找特赞(Tezign). 在如今这个Lean/Agile横扫一切的年代,设计似乎有了被边缘化的倾向,做事的周期如此之快,似乎已容不下人们更多的思考.MVP(Minimal Viable Produce)在很多团队里演化成一个形而上的图腾,于是工程师们找到了一个完美的借口:我先做个MVP,设计的事,以后再说. 如果纯属个人玩票,有个点子,hack out还说得过去:但要

浅谈软件需求分析

浅谈软件需求分析 一.什么是需求分析? 通俗的讲,对用户的意图不断揭示和验叛的过程,要对经过系统可行性分析所确定的系统目标做更为详细的描述. 假如你是个建筑工程师,有个客户找你建一个鸡窝,这个时候要需要与客户沟通,来确定客户到底想要一个什么样子的鸡窝.我们应该注意三点: 1.准确的理解和描述客户需要的功能. 客户说,我的鸡窝要三层的,带电梯,饮水池,厕所,饮水池要自动判断水位供水,电梯要可以同时乘坐10只鸡-.客户滔滔不绝的讲了一大堆,你也都非常忠实的按照自己的理解再一一的向客户描述一遍,以便于