The payroll architecture should consist of the following components:
- Secure data center
- Secure server with limited access
- Payroll software
- Tax allocation software tables
- Web-based system to support data entry by departments across the country
- Human resource department to process the payroll.
Payroll systems deal with data that is sensitive in nature such as personal employee data. Therefore, there must be restricted access to enhance the security and integrity of the data. A secure subnet within the organization facilitates limited access to secure and confidential information to certain groups such as Human Resource and Accounts personnel.
On the subnet, there will be the installation of a secured payroll server loaded and configured with Payroll software to support payroll functionalities. The system must also have internet access to facilitate direct bank deposits, e-government services from different government agencies, etc. There should also be Group Policies configured such that only a certain group of users possess specific privileges for system access. For instance, information regarding salaries should have restriction to on certain groups of people such as Human Resource and Accounts personnel due to ethical reasons. The ability to change confidential information, such as social security numbers of employees, must also have restriction certain system users. In this case, the system can have the configurations limited to three different system user levels. The levels may include; data entry personnel, administrators and top-level management. There should be training of all system users on how to use the system since it provides different capabilities depending on the user’s level.
The system should support web-based capabilities to allow managers information using wireless devices such as laptops. If the organization has a virtual environment technology already in place, thin clients can be used to access the system. Using thin clients enhances secure communication with the server. As such, it eliminates errors. Managers can log information into the system such as the number of hours worked by employees, sick offs, and vacations. The administrator can have the system configured to email such data to Human Resource personnel for approval and review.
The system should also support maker-checker policy to ensure separation of duties between the user who inputs the data and the verifier of such information. As such, the system should support second level controls for all activities. The Payroll software must possess capabilities to process appropriate taxes depending on employee salaries and send reports to Human Resource department. Added features such as support for online bank transactions also come in handy.
Types of Technologies in Architecture Design
Technologies in architecture design have grounds on the type of application among other constraints. Among the critical factors in selecting an architectural design include; the application type, design, and the desired deployment options. Other constraints such as the organizational procedures and resource skills also influence the choice of technology. Whichever choice they wish to implement, developers must pay close attention to the support required for architectural designs, the type of technology and the key qualities of the application. The main types of technology involved in architecture design include the following:
- Mobile Applications technology: This is a type of technology that supports running software applications on mobile hardware devices such as smartphone and tablets. Examples include; dot NET, ASP.NET, and Silverlight.
- Rich Client Applications technology: this technology involves hardware devices that possess locally installed resources and at the same time utilize network resources. Examples include; WPF and XBAP.
- Rich Internet Client Applications technology: this is a technology that utilizes web applications to deliver similar functions as those delivered by desktop applications. Examples include; Silverlight browser plugin and AJAX.
- Web Applications technology: this type of technology utilizes remote server application programs to deliver services via the internet using browser programs. Examples include; ASP.NET Web Forms and Silverlight controls.
- Service Applications technology: This type of technology generates services that are usable by external applications and service clients. Examples include: WCF and ASP.NET.
Potential Ethical Concerns
Some of the ethical concerns in the new architecture of the payroll program are as follows:
- Competence: The development team working the architecture must ensure proper qualifications amongst the members so as to deliver their part on the project as required. The team must, therefore, avoid the project if they do not have the professional capacity to deliver on the product goals. The development team might be proficient in some of the areas in product development. However, some design aspects areas may call for specialized expertise. The development team should, therefore, engage the services of consultants in such a scenario or shun the project altogether instead of delivering poor quality and half-baked products.
- Communication: In every architectural design the development team must sincerely and comprehensively communicate the pertinent details of the project to the client. The development team must, therefore, furnish the client with full information with careful consideration of not only the articulated requirements of the client, but also the likely rational inferences drawn from the information. In instances necessitating any design alterations, the developer should convince rather than manipulate the client to effect such changes.
- Loyalty: This ethical responsibility seeks to prevent any conflict of interest. The developer and design teams must avoid precarious situations that split their loyalty. Such situations are only allowable in instances where the team avails prior communication of likely conflicts amongst parties involved. Every party involved must, therefore, agree to such an arrangement.
- Discretion: Designers and developers at times encounter instances where they should maintain particular information as confidential. Such may be either through client requests or reasonable prudence in the course of professionalism where they identify certain information as private. In such circumstances, the teams should disclose such information without the client’s consent or when authorized by the law.
- Diligence: It is important for the developers to strike a balance between completing projects within clients’ deadlines and delivering quality and carefully designed projects. The team should, therefore, aim to deliver timely products without compromising their integrity.
Chapter 4: A Technique for Architecture and Design. (n.d.). Retrieved November 22, 2014, from http://msdn.microsoft.com/en-us/library/ee658084.aspx
Hofmeister, C., & Nord, R. (2000). Applied software architecture. Reading, Mass.: Addison-Wesley.
Stein, S., & Winick, J. (n.d.). The Straight and Narrow Path: Ethical Issues for Design Professionals. Retrieved November 22, 2014, from http://www.hcc.com/DivisionsProducts/HCCSpecialty/Products/ProfessionalLiability/ArchitectsEngineersContractorsProfLiability/RiskManagementLibrary/RiskManagementLibrary/TheStraightandNarrowPathEthicalIssuesforD/tabid/482/Default.aspx