Sample - G4
Sample - G4
Sample - G4
SCHOOL OF ELECTRICAL AND COMPUTING ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Architectural documentation
HRMS on Amahara Regional Correctional Center
Submitted To: Instructor Esubalew Group Member: Abreham h/mariam.011/2000 Adissu zeleke.019/2000 Ambaye Tadesse...... 035/2000 Mesfin Anegagerie .. 246/2000 Yared Mekuria .371/2000 Submitted Date: June, 2011
Table of Contents
1. Overview....................................................................................................................................4 1.1 1.2 1.3 1.4 2. 3. 4. Purpose Scope ................................................................................................................................. 4 ..................................................................................................................................... 4
Conceptual Framework ...............................................................................................................8 4.1 4.2 4.2.1 4.3 4.4 4.5 4.6 4.7 Architectural Description in Context ............................................................................................ 8 Architectural Goals and Constraints ............................................................................................. 9 Quality Attributes for the HRMS ............................................................................................. 10 Stakeholders and their Roles ...................................................................................................... 22 Architectural Activities in the Life Cycle ..................................................................................... 22 Interface specification................................................................................................................. 23 Components interaction ............................................................................................................. 25 Uses of Architectural Descriptions .............................................................................................. 25
5.
Architectural Description Practices ............................................................................................ 27 5.1 5.2 5.3 Architecture documentation ...................................................................................................... 27 Identifications of stakeholders and concerns ............................................................................. 27 Architectural views ..................................................................................................................... 29 Module Viewpoint ...................................................................................................................... 30 Deployment view ........................................................................................................................ 34 Process view................................................................................................................................ 36 Use case view .............................................................................................................................. 38
Group 4 Students
Page 2
List of tables
Table 1: prioritized Quality Attribute Requirements for the HRMS ........................................................... 10 Table 2: Usability Scenarios ........................................................................................................................ 11 Table 3: Performance Scenarios ................................................................................................................. 13 Table 4: Availability Scenarios..................................................................................................................... 14 Table 5: Security Scenarios ......................................................................................................................... 15 Table 6: Scalability Scenarios ...................................................................................................................... 17 Table 7: Testability Senario ......................................................................................................................... 18 Table 8: Modifiability Scenarios .................................................................................................................. 19 Table 9:Components interaction ................................................................................................................ 25 Table 10: stakeholders and their concerns ................................................................................................. 28
Group 4 Students
Page 3
1. Overview
1.1 Purpose
This document provides a comprehensive architectural overview of the Amahara Correctional center HRM system, using a number of different architectural views to depict different aspects of the system. It is intended to capture and convey the significant architectural decisions which have been made on the system.
1.2
Scope
This Software Architecture Document provides an architectural overview of the HRM System. It has been generated directly from the HRM Analysis & Design Model implemented in previously. This recommended practice addresses the architectural description of the software that contributes essential influences to the design, construction, deployment, and evolution of the system as a whole. The scope of this recommended practice encompasses those products of system development that capture architectural information. This includes architectural descriptions that are used for the following: 1. Expression of the system and its evolution 2. Communication among the system stakeholders 3. Evaluation and comparison of architectures in a consistent manner 4. Planning, managing, and executing the activities of the system development 5. Expression of the persistent characteristics and supporting principles of a system to guide acceptable change 6. Verification of a system implementations compliance with an architectural description
Group 4 Students
Page 4
1.3
Intended Users
The principal class of users for this recommended practice comprises stakeholders in system development and evolution, including the following: Those that use, own, and acquire the system Users (acquirer) Operator client Those that develop, describe, and document architectures such as architects Those that develop, deliver, and maintain the system Architects Designers Programmers Maintainers Testers Those who oversee and evaluate systems and their development Chief information officers Auditors Independent assessors Quality assurance staff Domain engineers Suppliers Project managers
Group 4 Students
Page 5
This architectural document represents the architecture and provides an overview of the overall scheme of things highlighting architecturally significant elements. And our architecture description is for the whole system and major sub parts of our system. The document will also include the contextual description of our system, system stakeholders, roles and concerns, architectural view points and over all benefits obtained from architectural description.
2. References
IEEE 1471-2000.pdf Design Lecture slides http://www.scribd.com/doc/3263270/Human-Resource-Management-Systems-HRMS Documenting software architecture 2nd Edition.paul clements, David garlan and pawl merson. IEEE Std 1471-2000, IEEE Recommended Practice for Architectural
Group 4 Students
Page 6
Acquirer: An organization that procures a system, software product, or software service from a supplier. (The acquirer could be a buyer, customer, owner, user, or purchaser.) Architect: The person, team, or organization responsible for systems architecture. Architecting: The activities of defining, documenting, maintaining, improving, and certifying proper implementation of architecture. Architectural description (AD): A collection of products to document architecture. Architecture: The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. Life cycle model: A framework containing the processes, activities, and tasks involved in the development, operation, and maintenance of a software product, which spans the life of the system from the definition of its requirements to the termination of its use. System: A collection of components organized to accomplish a specific function or set of functions. System stakeholder: An individual, team, or organization (or classes thereof) with interests in, or concerns relative to, a system. View: A representation of a whole system from the perspective of a related set of concerns.
Group 4 Students
Page 7
4. Conceptual Framework
4.1 Architectural Description in Context
A system inhabits an environment. A systems environment can influence that system. The environment, or context, determines the setting and circumstances of developmental, operational, political, and other influences upon that system. The environment can include other systems that interact with the system of interest, either directly via interfaces or indirectly in other ways. The environment determines the boundaries that define the scope of the system of interest relative to other systems. In our system, HRMS system is dependent with prison management system by which it calculate the required number of military employees based on the number of prisoners from prison management system.
Group 4 Students
Page 8
Group 4 Students
Page 10
Usability NRF: The system shall be used by users with five working days of training with less than three errors per hour.
A need to work on the system Normal operating environment System The system provide help system for the user. System understanding takes 2 weeks training
Tactic
We use a mixed support initiative which is support system initiative and support User Initiative to achieve a usability quality attribute. Once the user wants to understand or use the system, the system supports it by providing the user with the ability to issue usabilityGroup 4 Students Page 11
Our usability driver is primarily concerned on giving the user feedback as to what the system is doing and by providing the user with the ability to issue usability-based commands, so we choose Runtime tactics
Group 4 Students
Page 12
Tactic
Recourse Demand Increase computational efficiency: By using tested, proven data storage, fetching and manipulation algorithms we will achieve this attribute. Relational database management systems, such as MYSQL will be used to achieve the above given objective. Reduce computational over head: - use proven Resource Arbitration-> scheduling policy: Whenever there is contention for a resource, the
resource must be scheduled. Processors are scheduled, and networks are scheduled. The architect's goal is to understand the characteristics of each resource's use and choose the scheduling strategy that is compatible with it.
Group 4 Students
Page 13
Availability A system user performs the test on complete application that provides an interface for controlling Systems behavior and observing its output at deployment time; this task is completed in four hours.
System user Application completed Complete Application At deployment time System records the faults task of viewing output completed within four hours
Tactic
Since the availability is core after implementation the change effect must be specific and the change must not affect others so prevent ripple effect is good tactics to do this.
Group 4 Students
Page 14
User who is unknown with full or limited access Attempt to access services Normal operating environment (runtime) System services, data Authenticate user and block access; Time /effort to Authenticate user and detect new users with probability of success
Possible Values
User who is new to the system Attempt to log in to the system Normal operating environment (runtime) System services Authenticate user and detect new users
Group 4 Students
Page 15
Time /effort to Authenticate user and detect new users with probability of success
Possible Values
Unauthorized user Attempt to access someone else personal information Normal operating environment (runtime) Employees personal information Authenticate user and block access Effort to Authenticate user and block access with probability of success
Tactic
Group 4 Students
Page 16
The system shall store an additional of 10,000mb of data in addition to the current data. The HRM of ANRS currently has large mega byte of data. The system that we are now Developing can handle and store additional mega byte of data beside the current data.
Group 4 Students
Page 17
Testability
NFR: A system tester performs a system test on a completed; 85% path coverage is achieved within 1 day.
To Discover faults on the completed system. Testability Stimulus source: Stimulus Environment: Artifact : Response: Response Measure:
system user
System Observe the testing result 85% path coverage was achieved
Group 4 Students
Page 18
Since our testability driver is primarily concerned with changes during system design, so we choose Providing input & capturing output that is Record/playback refers to both capturing information crossing an interface and using it as input into the test harness. The information crossing an interface during normal operation is saved in some repository and represents output from one component and input to another. Recording this information allows test input for one of the components to be generated and test output for later comparison to be saved.
Modifiability The organization does not have any automation system previously it is obvious that other features such as financial system, store system and others will add to the future after implementation so the system must modifiable based on any change .Also the organization is at regional level the data is increasing g at each time .
Group 4 Students
Page 19
Possible Values
System developer want to change system functionality, user Wishes to modify the architecture System component that operate the function. During system development time. Locates places in architecture to be modified. Makes modification without affecting other functionality. The cost of changing or adding this functionality doesnt affect elements more than 3 components. The time to change or adding this functionality doesnt take more than 2% system development time.
Response Measure
Portion of Scenario
Possible values
System administrator Add feature system After implementation Providing architectural design that allows new features to be added without affecting previous features.
Response measure
Group 4 Students
Page 20
Since the modification is core after implementation the change effect must be specific and the change must not affect others so prevent ripple effect is good tactics to do this.
Group 4 Students
Page 21
System manager Employee Archive worker Applicant System designer System testers
Archive worker: Archive worker may perform register, search, save employee information that manage every information of employees. Also generate forms and generate report. System manager: The manager will have the higher privilege or special rights. So that he/she may save employee punishment information, delete an employee from active employees list and extend pension date. Employee: These can be military or civil employee that provide its basic information to be managed by the system. And this may include archive worker and system manager. Applicant: The applicants are users who provide their information to apply for work within the organization. System designer: these are people who develop the software, so that it will effectively solve the problems faced in manual system. System tester: The Tester role is responsible for the core activities of the test effort, which involves conducting the necessary tests considering different test cases.
4.4
Group 4 Students
Page 22
Personnel management Module: This module deals with the management of the employee information such as the personal details name, qualification, skill, experience, login id, password, etc., Importance of modules in any software development side is we can easily understand what the system we are developing and what its main uses are. At the time of project we may create many modules and finally we combine them to form a system person, so that it can be easily added to the database with any duplication of the data.
Group 4 Students Page 23
Security management Module Access is based on the ARCC organizational hierarchy, which defines operator access to employees in the same home department. In addition, operators will have access to departmental employees in subordinate departments as defined by the organizations hierarchy. Access is either allowed or denied based upon the security clearances for the operator. When an employee record is requested, the system will verify that the operators home department matches either the requested employees home department or that a hierarchical relationship exists. If neither of these conditions exists and the requested employees home department has not been specifically included in the operators security, access will be denied.
HR Report Module This module concerned on generating different reports such as pension alert report, monthly report, quarter of a year report, and the like
Training management Module This module deals with the training of the employee based on his experience and attendance monitoring. Also the information of the projects that need to be trained for the employees based on their experience and skills and the like. Organization management Module This module deals with the management of the employee information such as the hiring of the eligible candidate, payments criteria, his personal information maintenance etc.
Leave management Module This module is specified for the purpose of the report generation for the HR on desired requests.
4.6
Components interaction
Personnel management
Organization management
Job grade, position or salary scale Annual leave setting of the employees
HR report generation
Leave management
4.7
Architectural descriptions are applicable to a variety of uses for different set of stakeholders, throughout the life cycle. These uses include: Analysis of alternative architectures Business planning for transition from legacy architecture to a new architecture
Group 4 Students
Page 25
Group 4 Students
Page 26
We use architecture description (AD) to introduce the architecture and provide an overview of the overall scheme of things highlighting architecturally significant elements. And our architecture description is for the whole system.
5.2
This section discusses the stakes and concerns of the various stakeholders. Some of the concerns, namely those that in our view are not self-explanatory, are explained in detail. Different stakeholders think in different terms when they are confronted with the subject 'software architecture'. The reason for this is that every group of stakeholders has certain concerns in the system. These concerns, or a subgroup of them, have something in common: the 'stake' of this stakeholder. We identify the following possible stakes:
Group 4 Students
Page 27
Profit
Group 4 Students
Page 28
5.3
Architectural views
Security management
6.
Personnel management
Module
Module
HR Report Module
ARCC HRMS DB
Requirement management
Module
Leave management
Module
Organization management
Training management
Module
Module
Figure 3: high level view of system architecture
Group 4 Students Page 29
Module Viewpoint
Concerns This architectural viewpoint is concerned with how the functionality is mapped to the units of implementation. It visualizes the static view of the systems architecture by showing the elements that comprise the system and their relationships. Stakeholder Roles This viewpoint is important to architects and developers working on or with the system. Elements and Relations The elements are units of implementation including: Class: A class describing the properties of the objects that exist at Runtime. Package: A logical division of classes in the system. This can refer to packages as we find them in Java or just give a logical division between the classes of the system. Interface: A classification of the interface of the element that realizes it. It can refer to the interfaces found in e.g. Java or just a Description of an interface that a class can conform to the relations describe constraints on the runtime relationships between elements Association: Shows that there is a hard or weak aggregation relationship between the elements and can be used between classes. Generalization: Shows that there is a generalization relation between the elements and can be used between two classes or two interfaces. Realization: Shows that one element realizes the other and can be used from a class to the interface it implements. Dependency: Shows that there is a dependency between the elements and can be used between all the elements.
Group 4 Students
Page 30
The module view of the HRMS system can be described using the class diagrams of UML, which can contain all the above mentioned elements and relations. The module view of the HRMS system can be described using the class diagrams of UML, which can contain all the above mentioned elements and relations.
Group 4 Students
Page 31
Dependencies among packages are also shown; these dependencies arise because of relationship among classes in different packages. As an example, consider the association between figures 4 there is an association from classes in organization to the Customer class of the position package. This relationship gives rise to a dependency from the organization to position package as shown in figure 3.
Domain Module
Organization Mant
Personal Mant
Organization Mant
Organization Mant
Training Mant
Leave Mant
HR Report Generation
Security Mant
Group 4 Students
Page 32
Organization
Position Job
Address Name Phone No
Position Organization
Job
Authorized By
*
Position Requirement Establishes position-for
1
Position Benefit Expiry Date number Position: Customer Experience
1
number
Group 4 Students
Page 33
Deployment view
Concerns: This architectural viewpoint is concerned with how the software elements of the system are mapped to platform elements in the environment of the system. We are interested in what the software elements require (e.g., processing power, memory availability, speed of computation) and what the hardware elements provide. Stakeholder Roles: This viewpoint is important to a number of stakeholders: Maintainers needing to deploy and maintain the system, to users/customers who need to know how functionality is mapped to hardware, to developers who need to implement the system, and to architects. Elements and Relations: The deployment is a typical 3-tier deployment in which presentation is run on a client, domain code is run on a J2EE application server, and data is stored on a database server. Environmental elements (shown as UML nodes) The Barcode Scanner is the device used for inputting sold items into the system. It is read via An RS232 connection to the ARCC HRMS Terminals The Terminal is the main point of interaction for the users of the ARCC HRM system The Application Server is a machine dedicated for serving all Terminals on an application level A Database Server provides secondary storage Software elements (Shown as UML components)
Group 4 Students
Page 34
RS 232 RS 232
Configuration
: Application Server : Main server : Barcode scanner
Printer
JDBC
Group 4 Students : Database Server : Mysql2005 Page 35
Process view of the architecture describes the tasks (processes and threads) involved in the system's execution, their interactions and configurations. Also describes the allocation of objects and classes to tasks.
To provide a basis for understanding the process organization of the system, an architectural view called the process view is used in the Analysis & Design discipline. There is only one process view of the system, which illustrates the process decomposition of the system, including the mapping of classes and subsystems on to processes and threads. With UML, the static and dynamic aspects of this view are captured in the same kinds of diagrams as for the design view i.e. class diagrams, we show class diagram of our system below:
Group 4 Students
Page 36
Login and signup: The system will register an employee that is whether military or civil with his/her dependants. Generate pension date: The system calculates pension date of an employee based on his/her birth date. Delete employee: The system discharges or remove employees information from the currently active employee list. Employee punishment: The system will save the employee punishment information to its history data. Delete employee on leave by willingness: the system will delete an employee when he/she leaves the company by his/her willingness. Save employee information: The system allow the user to save all or some of employees personnel information such as profile information or historical data or medical information or employees current academic status or employee job grade to the system. Extend pension date: The system will extend an employee pension date if an employees work position cannot be covered by another new employee. Search employee information: The system will display the employee personal information based on search criteria so that the user views the employee information that she/he wants. Generate a report: The system generates reports based on what the user wants that shows numbers of employees in each woreda/zone, the
Group 4 Students
Page 38
Group 4 Students
Page 39
Group 4 Students
Page 40