User:Wafs2009/sandbox

Motivation The motivation behind this topic is that the information system is based on software engineering. Most Fintech companies in the software engineering industry rely on the process of developing software to achieve various technological solutions in the information system and technologies. Software engineering entails a disciplined approach through which the software designers can be able to develop software that are of high quality. One of the best practices that can be employed into the Unified Process is for the development team to develop the software iteratively. Due to the continuing software systems sophistication, and the shift in the needs of the customer, it has become impractical for a develop to entirely define a problem, and at the same time come up with an immediate solution, as well as build the software to provide the solution. This is largely due to the changing needs of customers and the ever evolving nature of the problems that keeps on stretching the requirements of the customer. An interactive approach is thus preferable as it entails making refinements and reviewing of the development process to allow for the changing needs. Introduction The software engineering is useful because in the modern technologically innovative environment, the solutions are based on the capacity to capture the needs of the different users of the organization (Vlas and Robinson, 2012). The process of software engineering guarantees the development of the software within a predictable timeline and a scheduled budget. This development process advocates for the practice of working closely with the customers and other stakeholders of the software in order to produce a product that is attractive to the user and which fulfills his needs. It is a process that enhances the practice of team productivity. The interactive approach allows for the developer to involve the user in development in order to gather a better understanding of the problem and make the necessary changes as the customer so desires. This approach focuses on the areas of high risk and thus allows the developers the opportunity to better deal with them at an early age of the development lifecycle, thus being in a position to minimize the projects exposure to risk. This approach ensures that every part of iteration in the life cycle is culminated by the production of an executable release. This serves to make the development team to be result oriented and to be extensively involved in the testing process to check for the functionality of the various iteration stages. This serves to ensure that the whole software process adheres to the stipulated timelines and upon the completion of the final product that fulfils the desired requirements. Application Software engineering is extensively applied in almost all areas of service industry with banking, healthcare, government and other Fintech solutions. This is because software engineering entails the packaging of data into a related procedure in order to solve an issues (Kaur and Singh, 2011). This can be defined as a software package that is capable of holding related data as well as related procedures, and their use is mostly for the representation of the real world objects. These objects in software design are supposed to complete the relation and provide a clear picture to the developer on how the various objects are related. It is therefore important that these products be identified to aid in making the development process more efficient. The Unified Software Development process is incorporated of activities that are capable of the creation and maintenance of models. The process is primarily focused on the creation of viable models that are tested for their workability in the software while it’s still under development. The rational unified software development process provides the guidelines on the use of the Unified Modeling Language (UML). UML is a development language that is industry standard and which is regarded as highly flexible and which allows the developers to be able to communicate the requirements effectively. It is a language that grants the developers in coming up with suitable architecture of the software as well as its designs (Vlas et al., 2012). Benefits Software engineering is normally used in order to implement message passing whereby different objects are used to define a common functionality or interface to the software user. This is critical in enhancing operations in the information technology where companies utilize the pathways of coding and programing to achieve their business objectives. An example would be implementing the use of a message ‘move’ which could be interpreted differently by the various objects (Geambaşu, et al, 2011). Through abstraction, the process involves representing the essential features of the software, without disclosing the underlying operations to the user of the system. Different objects have different operations which they are associated with. Some of the objects are associated with more than one operation, and have extended functionality than others. It is usually good practice to have the underlying operations hidden from the user of the system as they are not interested with how the underlying processes execute but are more concerned with the overall operations (Vlas, 2012). An example is hiding the computational operations that underlie an arithmetic calculation from the user as the user is only interested in the solution. The Unified Process is widely supported by a variety of desirable tools that allow much automation of the entire process. These tools are essential in the creation of models in the software engineering process, and which aids in the development of a desirable finished product (De Cesare, Lycett, Macredie, Patel and Paul, 2010). Future Perspectives There are a number of developments that will be seen in the future. First, there is the growing popularity of agility that has led to the redundancy of a number of methods for instance the waterfall approach (Valiente, Garcia-Barriocanal and Sicilia, 2012). The agile methodologies deliver greater quality of the products and they also have the ability to effectively incorporate changes as required. Secondly, there is the adoption of hosted SDLC and ALM management tools for instance the use of cloud computing. Also, there is the growing need to master platform interoperability. Finally, there is the need to be able to master the mobile communications. Conclusion Software engineering is critical in the day to day implementation of information system solutions. It is a process that aids the developer in developing a system that is capable of having several independent modules. It is a characteristic that is highly beneficial to the software development process as it aids in the development of various functionalities differently and then integrating them later on. It aids in breaking down the software process into easily manageable bits that are more understandable and which can be easily solved and solutions developed faster. It aids in better understanding of the solution and breaks the whole workload into modules which can then be assigned to members. References De Cesare, S, Lycett, M, Macredie, R, Patel, C, and Paul, R (2010), 'Examining Perceptions of Agility in Software Development Practice', Communications Of The ACM, 53, 6, pp. 126-130, Geambaşu, C, Jianu, I, Jianu, I, and Gavrila, A (2011), 'Influence Factors For the Choice of A Software Development Methodology', Accounting & Management Information Systems10, 4, pp. 479-494, Vlas, R, and Robinson, W (2012), 'Two Rule-Based Natural Language Strategies for Requirements Discovery and Classification in Open Source Software Development Projects', Journal Of Management Information Systems, 28, 4, pp. 11-38, Valiente, M, Garcia-Barriocanal, E, and Sicilia, M (2012), 'Applying Ontology-Based Models for Supporting Integrated Software Development and IT Service Management Processes', IEEE Transactions On Systems, Man & Cybernetics: Part C - Applications & Reviews, 42, 1, pp. 61-74, Kaur, P, and Singh, H (2011), 'Measurement of Processes in Open Source Software Development', Trends In Information Management, 7, 2, pp. 198-207,