CSSE 377 – Software Architecture & Design II
Software Architecture in Banking
A Comparative Paper on the Effectiveness of Different Software Architectures Within an Financial Banking System
JD Hill Andrew Robby Kruth Joe Salisbury Sam Varga 11/9/2010
Software architecture design is an important aspect of our daily lives whether we know it or not. There are so many different systems that we interact with on a daily basis that we do not recognize are closely tied to software architecture decisions. These systems handle things from stoplights, electricity, televisions, communications, and many other things. Another example of a software system involved with our life is a system that powers banks and financial networks across the globe. When implementing such a system, there are several things that need to be considered. The design of any software system needs to be thought out and have certain aspects considered from the beginning. By choosing specific quality attributes to be designed into the architecture, there is a greater chance that the system will be successful. Specifically for a bank system, there will be several important attributes to focus on. First, the performance of the system needs to be high quality. Bank workers, people at ATMs, and bank administrators will all be interacting with other systems and so the new system will need to perform fast enough to allow everyone to complete the necessary tasks. Also, the reliability and security of the system are two of the most important thing to focus on. The system needs to be reliable such that it does not crash and has a very high uptime. The security is important because banks hold a large amount of private information. If this private information became available to people who should not have access, the company which made the system could face a lot of legal issues due to the breach of privacy. A bank system needs to make sure that people who are authorized to get in the system have the ability to do what they need to, and more importantly keep unauthorized users out of the system and unable to attack it. This system needs to be able to withstand many different types of attacks. Financial systems are often attacked for various reasons. Hackers envision getting access to bank systems and becoming billionaires in a second. Others could access personal information to aid in identity theft. It is evident that security is a major concern when developing bank systems. This particular bank system will have to incorporate aspects into the architecture design to support many different features. Bank workers and customers of the bank will need to be able to complete different types of transactions using the system. Also, the system needs to be able to be accessed from different environments and different devices. For example, the computers at the actual bank and other organizations need to interact with the system and the data that is being stored. Also, customers will likely be accessing information about their bank statements from their own personal computers. An additional feature that may be needed is the ability to have a mobile application for the bank system. In the current day, mobile apps are very popular and many customers want to have access to their information wherever and whenever they can. The system should be designed with several spots that will make modifications and adding features to the system as easy as possible in the future.
Software Architecture Comparison Model
In this paper, we will look at several different software architecture strategies and compare and contrast different elements of them. Each different strategy has its own benefits,
but which one to go with really depends on what the specific system is going to be used for. To go about analyzing the different methods we will use the Software Architecture Comparison Analysis Model. This is a model that is sometimes used to look over and determine which software...
Please join StudyMode to read the full document