管理信息系统架构(B/S)学习

看了很多关于软件架构的文章,感觉理论性过强,从“What is SA”到“The advantage of SA ”。作为架构方面的初学者可能更想知道的是真正架构师脑袋中都在想什么。以管理信息系统的研发为例,它是市场上需求量最大的软件工业之一,如果给我一个中等规模(千人并发)的MIS研发需求,要求3个月完成,整个研发过程中包括组建项目组、架构、管理和开发统统由架构师来负责,该如何处理?需要做哪些事情?什么样的路线才是最合理的?在研发的过程中最需要注意的有哪些?这些问题应该是包括本人在内的大多数对架构感兴趣的同僚最想了解的。这篇文章的线索是突然接到一个MIS系统开发任务,要求3个月完成,考虑具体的Schedule。希望大家能够多提出一些项目中的实践意见和成功经验供我们这些软件架构爱好者分享。

 

总结管理信息系统通用的需求,如功能扩展、并发量、稳定性、安全性等都要如何解决?

需求方面:参考淘宝等大电子商务网站、或搜索小型政府类MIS系统的功能自行总结。

界面上:结合SilverLight, ajax, WPF等,体现web2.0以上的技术。

实现上:结合Agile相关技术,如SCRUM, 结对等。

软件架构的注意事项??

1. 如何保证可扩展性?充分了解需求、有一定预知力。熟悉设计模式,能够在恰当的功能实现上使用恰当的模式。

2. 并发量的解决?理论上多大的并发量都可以解决。

      数据库、Web容器的配置优化:扩大连接池,使用索引。

      使用cache;

      使用负载均衡。

3. 稳定性?

4. 安全性?

数据库设计上?需要了解数据设计的相关经验。

管理上:多少人月?实际的项目组层次结构?

 

最近看敏捷开发,讲究开发系统时,对架构的原则是--以简单为好。目前用不到的功能和类就不要加。只有不加不行的情况下才会注意力集中到扩展性等方面。这样有一个好处,不用在开发前绞尽脑汁地思考如何架构才能实现flexible的扩展性。 

 

Reference:

    博客园设计模式组

    一道或许可以通吃的面试题

 

 

----待续

 

你可能感兴趣的:(快速开发&架构,配置管理,项目管理,设计模式,敏捷开发,面试)