Role of Models in Analysis and Design of Software Systems

166 views 9 pages ~ 2281 words Print

A system approach leads to improved management and development of software systems to greater computer integration. (Mehta and Bharadwaj, 2015). According to Mehta, work systems provide rigorous thinking point in analyzing systems related ideas and opportunities. Systems development is concerned with all with all developments and evolution of complex computer systems especially developing the software system. Systems engineering will deal with the hardware of the computers, the policies, the system design and deployment of the same system as well as the software systems.  While creating and developing a functionality of a computer, a clearly defined process is followed up to the point when the system is deployed to function.  A system is, therefore, the part of something that makes up the complex whole. The hardware, software, the policies, engineers and the deployment are all systems. System approach, on the other hand, is the thinking in the system development which integrates the systems forming the complex system and achieving the goal for the development.

The systems approach is an idea from management which uses a certain line of thought to address the interactive nature and interdependence of the various systems within an organization. It normally integrates internal and external factors within an organization in order to maximize the gains of the organization. Information systems refer to the various subsystems in an organization; people, processes in an organization. Information systems in an organization majorly deal with receiving, manipulating and dissemination of information within an organization (Sekgweleo, Billawer and Hamunyela, 2015) . An organization, therefore, is a system and therefore it is mainly related to all kind of information within the organization. The relationship between system approach therefore and information system is that the system approach is used to make the information system work in an organization. For instance, for people to perform specific processes in an organization, system thinking should be made a better system approach (Zelenkov, 2017).

The role of models in analysis and design of software systems

Before a system is developed, it is necessary to understand the “why” before the ”what” when developing a system.  There are many rationales lying between the input and output of the organization. System developers, therefore, have to develop their methods of generating the idea and performing the processes that achieve the performance of the organization (Fumoto, 2013). It is therefore important to study the models and design which is used to develop system software which is in a way important in achieving the intent of the process. Latest process models have been designed to achieve a variety of consumer needs, for example, improve understanding, facilitate management, facilitate communication and automate processes in an organization.

Actor dependency model enables an analyst to identify opportunities available that matches the actor’s abilities, relate vulnerabilities of the actors to their dependencies and chose the channels that would help mitigate the actor’s dependencies, such as, enforcing commitment, assuring success and ensuring the failure of the consumers.  The ability of a model to achieve these processes becomes easier for it to design and redesign processes in an organization.  The role in a model is abstract. In an actor dependency model, dependency applies regardless of who pays the role within the system. For example, if a system is responsible for monitoring the progress means that the system members play are dependent regardless of who plays the monitoring role (Grabner, 2011).

A software process model capturing actor’s motivations, intentions enables an analyst to explore broader areas within a system. Therefore, there is a keen requirement while developing a system model. This happens because software processes are uncertain, the actors included, therefore, should be such a flexible so that they are able to identify and mitigate contingent situations which will result in better results.  Acknowledging the actor’s free will, therefore, require a dependency model to have a broader analysis that is non-intention and non-intentional. Computational tools in this model are required to support any kind of analysis reformed in the system.  To achieve the performance of the AD model, therefore, it requires the system developer to use enforce, insure and assurance mechanisms to mitigate the contingency factors arising from the performance of the system (LaToza and van der Hoek, 2016).

Actor dependency model encourages the model engineers to develop the best process which achieves finer processes within the system so that it will always to differentiate various characters within the process. The alternatives created here meet the goal of designing the new system and differentiated from the factors needed to differentiate the alternatives.  The testing role achieved here helps the process to achieve functional goals of the design. Designing and testing are differentiated by the four alternatives.  The designing, therefore, is always important for the development and re-engineering of the software processes (Barton, 1996).

Tools and technologies that enhance productivity development of software.

Software development is a continuous process, the designers and developers always identify the new feature day in and out to help the system maximize its productivity.  Because system developers find their time limited due to doing several things, most companies have developed tools which maximize the productivity of each member of the organization which will help to achieve the productivity of each member within the organization. Maximization of the productivity is the main target of every organization and they achieve this through developing its members who will then develop the best systems.  To achieve this goal, an outsourcing has to adhere to certain tactics (Levin, 2014).

Aiming at achieving employee’s retention, IT companies always aims at making the customer and the employee a priority because it is them which give the organization its business. With the development of the outsourcing tool in many organizations, companies ensure that they do the best things possible for the employees to make them increase their stay in the company. The organization always rain and maintain the welfare of the members of the organization which at long-run increases the productivity of the organization.  The reason why organizations used this tactic is that they know that, when the reputation of the organization is good, the customers find their way to get services from the organization, therefore, achieving good productivity (Scherer, 1979).

Professional organizations start at the point when the organization just started delivering its services.  The HR department in the organization will be tasked with the role of recruiting and developing the employees of the organizations which are required to achieve the best performance of the organization. All human resources functions are supported in the organization so that the employees find the need to be in the organization for a very long time. The employee development is required in the organization to improve the retention of the employee’s within the organization.  After the Human resource department obtains the employees in the organization, they are tasked with the duties to train and develop the employees which will definitely achieve the methods which are followed to deliver services by the organization (Siddiqui, 2014).

Information technology also needs to always celebrate and recognize good performance in the organization and reward the employees who perform good work in the organization. Over time, It has been identified that rewarding employees helps them to grow. It is even more encouraging for the engineers if they are rewarded for their ingenuity and their creativity. An organization creates such a good culture, in the long run, creates competition and overall creativity in the organization. Outsourcing companies should develop employee’s feedback programs which will always make the employees be identified in the organization and therefore achieve the best things they can for the organization (Casey, 1996).

Apart from adhering to these useful tactics in the organization, they use certain tools that enhance the productivity of the organization. There are many tools which are normally used among the IT group teams;

Integrated Development Environment (IDE):  This tool uses IntelliJ or Eclipse, the former is used over the later because it is more stable and faster. It can be integrated with many systems. The development team should use the same code configured in the IDE.

JIRA: It is a dashboard for task progress tracking and management of tasks. It is important because comments made earlier are readily available for reference.  This tool can be used for developing long time reports and charts to be used for a very long period of time.

GIT:  A designed tool which has an open and free source of vertical distributed version.

Confluence: A Wiki which is easy to use. It is used for managing documents, for example, release documentation, business requirements, set up steps and code guidelines.

Jenkins: It is used to control and run the pipeline and has a concept of jobs.  When using this tool, a job is a standalone task performed by a code within the environment.

Crucible: Reviews codes between team members and enhances the quality of codes and making sure that the designed features follow specific code guidelines.

Sonar: Works with over 20 programming languages and with Java out of the box after analyzing the data, the system creates a dashboard where someone can revisit the work and reviews what was previously done.  The system goes through the complexity, unit test coverage, coding rules, potential bugs’ comments, duplications design, and architecture. Sonar can calculate all delta metrics and shows the evolution of the project over a period of time under observation from the point of view of the quality of the code.

Testing tools: Includes Soapui and postman and Provisioning which includes vagrant, chef, puppet.

Apart from the tactics and the tools that improve the productivity of an IT firm, an organization focuses on processes and the documentation of projects by atomically going agile, scrum and scrum, the software will be built within no time.  Projects which are not well documented will increase the cost of the project and therefore require a lot of work in the long run.  When using agile, a project requires using proper documentation in order to develop the project in an orderly way.

Apart from the documentation of the project, the internal process should be all aligned to achieve better productivity the business priority. This is achieved by an organization; clear leadership roles, understanding the requirements of the customer, clear definition, and understanding of project plans and coding standards and guidelines.

Creating and test models of software, data, and processes using object-oriented Methodologies such as UML where applicable.

Modeling in IT is a way of designing application software before coding is done. It is a part which is essential for large software and can be applied in both small and medium projects a well. It plays a greater role in the software development especially as a blueprint and development of plans.  By applying the software model, the developers can forecast that the business developments are complete and correct, user-friendly, room for reengineering, robust, secure, and extendable and have achieved other best characteristics of a project.

Using UML helps the developer to achieve abstraction level. By using UML 2.0, one can zoom a project from a detailed view of an application to a larger execution environment.  The application can be used for different purposes and ensure that the project is applicable to the business environment and achieve the purpose for its development.

OMG Unified modeling language helps the developer to specify, then visualize and document models in a software system. In a way that it meets the specific requirements.  Using UML enables one to forecast future application developments.

UML 2.0 shows 13 diagram types categorized into three, 6 representing static application structure, 3 representing general behavior type and 4 representing integration aspect.  Structure diagrams comprise of the class, component, and object diagrams. Composite and package and deployment are also part of the structure diagram. Behavior structures are; state machine, case, and activity.  Interaction diagrams are; sequence, interaction overview, timing, and communication diagrams.

Creating a software model using UML

Choose the methodology that highlight the process used to obtain requirements, preview and use them to create an application.

Choose UML development tool which helps the developer to make choice of a software tool.

Get training: The staff will need the training to use UML

Requirements analysis is the initial stage in the systems engineering process and development of software. It encompasses tasks that determine the conditions and needs to make new products, factoring in the requirements of the beneficiaries of the system. The analysis comprises eliciting, analyzing, and recording requirements.

Reference

Barton, G. (1996). Process control: Designing processes and control systems for dynamic performance. Journal of Process Control, 6(4), p.263.

Casey, C. (1996). Corporate Transformations: Designer Culture, Designer Employees and `Post-Occupational’ Solidarity. Organization, 3(3), pp.317-339.

Fumoto, t. (2013). Development of a new Industrial X-ray Ct System and its Application to Compression test of Polymer Concrete. Journal of Japan Society of Civil Engineers, ser. e2 (Materials and Concrete Structures), 69(2), pp.182-191.

Grabner, I. (2011). The Impact of Creativity Dependency on Management Control System Design: The Role of the Creative Employee. SSRN Electronic Journal.

LaToza, T. and van der Hoek, A. (2016). Crowdsourcing in Software Engineering: Models, Motivations, and Challenges. IEEE Software, 33(1), pp.74-80.

Levin, A. (2014). Organization Honors Several Who Are Helping Achieve Its Mission. Psychiatric News, 49(11), pp.1-1.

Mehta, N. and Bharadwaj, A. (2015). Knowledge Integration in Outsourced Software Development: The Role of Sentry and Guard Processes. Journal of Management Information Systems, 32(1), pp.82-115.

Zelenkov, Y. (2017). Information efficiency, information design and information system of an organization. Business Informatics, 2017(2), pp.25-32.

Scherer, J. (1979). Can Team Building Increase Productivity? or How Can Something That Feels So Good Not Be Worthwhile?. Group & Organization Studies, 4(3), pp.335-351.

Sekgweleo, T., Billawer, J. and Hamunyela, L. (2015). Integration Framework for Information Systems Coexistence within Organization. Management and Organizational Studies, 3(1).

Siddiqui, M. (2014). Success of an Organization is a result of Employees Performance. Advances in Social Sciences Research Journal, 1(4), pp.179-201.

September 11, 2023
Subcategory:

Technology

Subject area:

Computer

Number of pages

9

Number of words

2281

Downloads:

49

Writer #

Rate:

4.7

Expertise Computer
Verified writer

Richard is the best writer for Data Science tasks, even if you have something really complex. I needed to do tasks on security matters and already had a draft. Sharing my ideas with Richard ended up in a perfect paper!

Hire Writer

Use this essay example as a template for assignments, a source of information, and to borrow arguments and ideas for your paper. Remember, it is publicly available to other students and search engines, so direct copying may result in plagiarism.

Eliminate the stress of research and writing!

Hire one of our experts to create a completely original paper even in 3 hours!

Hire a Pro