INTRODUCTION TO INFORMATION SYSTEMS:
Information is simply defined as a business application of the computer. In North America, it's known as management information system. It does not only provide information but also processing business applications...(Whiteley,2004).According to James .A.O'brein, any structured array of people, hardware, software, communication networks and data resources that collates, converts and propagates information could also be referred to as Information system. Information systems resources and products are:
- People and resources-These are professionals i.e. system analysts, software developer and system operators.
- Hardware resources-These are the machines i.e. Machines- computers, disk drives, printers, optical scanner, Media-magnetic tapes, optical disks and plastic cards.
- Software resources-They are the operating systems, payroll programs, NILE and spreadsheet programs etc.
- Data resources-They are product descriptions, customer records, employee files and inventory databases.
- Network Resources-They are communication processors, network access, routers and controlling software.
- Information products-Management reports and organization documents using text and graphic displays, audio and hard copies (O'brein, 2002).
Professionals in business have so much depended on different types of information systems. Some adopt simple (pencil and paper) hardware devices, which is formal or the informal way (word-to-mouth) communication medium. System concept is the fundamental field of information systems. Thus, it is necessary to be familiar with how the system concept applies to business organizations and the mechanism and actions of information systems. This helps in understanding so many other conceptions in the technology, applications, development and managing information systems. This brings us to the definition of a system as a set of interconnected mechanism that work together to get an output. A system has three interacting components i.e. input, processing and output... (O'brein, 2002). There has to be input of information into a system before getting an output. Information systems can be divided into two major types:
Operations support systems is used to professionally process business dealings, organize business process, sustain enterprise communications, collaborating and updating company databases.
Examples of operations support systems are transaction processing, process control and enterprise collaboration systems.
Management support systems provide effective information and support to managers for effective decision-making. Examples of management support systems are management information, decision support and executive information systems (O'Brien, 2002).
RUP (RATIONAL UNIFIED PROCESS) AND ITS BEST PRACTICES:
According to IBM, RUP is an object-oriented and web enabled program improvement methodology, which was urbanized and maintained by Rational Software. It is a software engineering procedure, which offers an order advance in conveying task and liabilities in an advanced organization. Its major objective is to ascertain the production of high-class software that suits the requirements of end users within an expected agenda and resources. It enhances team productivity, by giving every member of the team equal access to information with guidelines, templates and tools for all critical development activities... (IBM, 2007). It does not matter if each member works with requirements, design, test, project management or configuration management. It ensures team members speak one common language, process and view of how to go about developing of software. It creates and maintains models instead of members focusing on the production of large amount of paper work. It shows the development and maintenance of semantically rich models of the software system under development. It is a channel to know how efficiently use unified modeling language (UML).This is an industry-standard language, which helps to distinctly converse requirements, architectures and designs. RUP is supported by tools, which hastens large part of process. They are used to make models of the software engineering process, visual, modeling, programming, testing etc. RUP is said to be a configuration process, it is found in all stages of software engineering... (IBM, 2007). It can be altered to accept different situations. It provides support for configuring processes to the need of the end user. RUP has many best practices in contemporary software development that is adaptable for a diverse variety of projects and institutions. A best practice gives development team advantages. RUP has six fundamental best practices i.e.
Building software repetitively- In modern software system, designing the entire solution is not possible, plan the whole solution, develop the software and commence the test at the end. The best approach is first understanding the processes required of the problem through consecutive requirements, and incrementally grow an efficient solution over multiple repetitions. RUP helps improvements in a monotonous approach, which checks the maximum possibility item at each stage in the lifecycle that helps to reduce project risk profile considerably. The repetitive/iterative approach facilitate the checking of possibilities through provable improvement frequent, implementable releases that helps in prolong end user engagement and opinion. This iterative/repetitive approach also makes it a lot easier to contain strategic alterations in requirements, attribute or agenda... (IBM, 2007).
Managing requirements-RUP shows how to obtain, arrange manuscript required, document trade offs and assessments in software designing. They simply confine and converse business necessities. The concept of use case and scenarios controlled in the process had proved an exceptional way to confine functional necessities, execution and testing of the software to ascertain that the final software meets up with end user needs. It also provides consistent and perceptible way through both the development and delivered system... (IBM, 2007).
The use of section based architecture-The procedure focuses on early growth and stand lining a vigorous implementable structural design, proceeding to assigning capital for full-scale development. It shows how to design a durable architecture that is lithe, accommodates change, spontaneous logical, and support more efficient software reuse. This support component-based software development and the subsystems fulfill a distinct function. It offers an organized way of classifying a manner using new and existing components. This are gathered in a well-defined architecture or in a component infrastructure i.e. Internet, CORBA, and COM, for which an industry of reusable mechanism is emerging... (IBM, 2007).
Diagrammatic model software- This procedure shows the performance or architecture, components and how to model software to capture the structure. It permits in hiding the feature and written code using"graphical building blocks". The image concept helps in conversing diverse aspects of the software to know how the fundamentals work together, ascertaining that the building blocks are steady with the code, sustaining stability in designing and during implementation which promotes clear communication. The industry standard Unified Modeling Language (UML), produced by Rational Software, is the basis for successful visual modeling... (IBM, 2007).
Verifying software excellence- Poor application performance and reliability is what is affecting the acceptability of today's' software application. Thus, the quality is appraised with reverence to rations based on dependability, reliability, application performance and system performance. RUP facilitates planning, designing, implementation, execution and evaluation of software. Quality valuation is embedded into all processes and activities, which involves all participants. The use of intent measurements, criteria and not treating it as an addition or a different activity that is performed by another group. This way the software quality would be ascertained... (IBM, 2007).
Controlling of changes made to software- Each stage is acceptable when the ability to manage change is definite. The ability to trace the change is very necessary in an environment in which change is unavoidable. This method shows how to control, track, and monitor changes to assist successful recurring improvements and aids the designer on how to create safe workplace by granting seclusion from changes made in other workplaces and by monitoring changes made to all software artifacts e.g. code, documents, models etc. This aids teamwork by showing how to computerize integration and build management... (IBM, 2007).
LITERATURE MATERIAL CITING PROBLEMS AND DIFFICULTIES:
Managing Knowledge In Business Requirements Identification. ITS Project Failure-It's still exhibit a major failure rate and most of the time does not meet end user requirements. Rigorous and incessant communication between the customer and the software designer is very crucial in establishing a good knowledge of business requirements that the proposed system should support in order to get things accurate the first time. From final result: 80-90 percent do not meet their aim, 80 percent are not delivered within the time frame and over budgeted, 40 percent unsuccessful or are deserted half way, more than 75 percent does not fit into business and technological objectives properly and only 10-20 percent meet all accomplishment criteria. The report also says that limitations of management agenda is one of the main reason why the ITS project failed. ITS project investment is mostly technology driven and the main investment motive is to cut cost. This narrow focuses on technical capabilities and competence goals, this means that inadequate attention is given to human and organizational issues that often determine the project's eventual success... (Gubbins, 2001). Having a good knowledge of customer requirement the first time during initial stage of the lifecycle rather than later which will save both customer and software developer time and money. This has a major influence on increasing success chance of a project. Users sometimes do not influence the development process enough .Senior managers do not appreciate the links between technical and organizational change, project management techniques and IT approaches are sometimes too technical and companies fail to organize roles properly... (Hatton,1999).The role of knowledge in determining agreed requirements can be linked this way;
Knowledge engineering system requirements - system success or failure... (Sommerville & Sawyer, 1999). They concluded that the requirements process is a socio-technical process that relates to human - human interaction in the form of communication and knowledge of user requirements and system developers. In any organization, good IT system requires comprehensive and precise requirements in rigorous and rich communication between the user and designer... (Etheridge, 2001).
Requirements analysis for DSS in integrated river basin Management- River basins can be described as were fresh water is got. A river basin is an ecological area, which is established by the watershed limits of the system of waters, which comprises of surface and underground waters, flowing into a common boundary river. The river basin authority wants a decision support system to develop a good scale that would combine natural system with different natural schemes and potentials, land use and pressures on one hand considering the implications on stakeholders and others. According to Steve McConnell: "The most difficult part of requirements gathering is not documenting what the users want; it is the effort of helping users figure out what they "need" that can be successfully provided within the cost and schedule parameters available to the development team"...( Steve McConnell,2009). They used 6 different elicitation techniques to gather requirements .i.e. interviews, questionnaires, prototype e.t.c.They were all used to gather requirements for the Decision support system for the use in Integrated River Basin Management to check if the time and fund invested is worth it. The main importance to the IRBM is that the database would be in one place and updated from time to time. Another function of DSS in IRBM is getting collectively the natural and the societal system in one crucial aspect of IRBM. Thus, decision making in the river basin is a complex process due to many stakeholders involvement, each with different interest, intention, assessment criteria, information needs and proficiency. DSS is developed to support this complex approach with computer - based decision support system in 2 types
Data oriented DSS, which involves retrievals, analysis and presentation of data.
Model oriented DSS, which involves activities such as modeling goals, seeking and optimization...( Hahn & Engelen, (2000) IRBM as said is a very complex field which the requirements involves not only the elements of natural system but also societal system. The management of requirements most time makes the project fail. In the context, this system does not suit the people it was not designed for, so the requirements were wrong from inception. The clearer the management objectives are, the easier it would be to implement than in a DSS. The link between developers and users in repetitive phases is of great importance. In this case study user requirements was not clear at all because of the complexity of the DSS.
Evolving user tasks and observed requirements in a social-oriented community- The purpose of this is to discover the relationship between growing user roles and apparent importance of user requirements in a social-oriented community. The fame of WWW (World Wide Web) has made on line communities more extensive and essential nowadays... (Hagel & Armstrong, 1997). In spite of the prevalence of WWW, there is no accord reached among researchers regarding suitable definition or types of online community.
According to Porter, "virtual community is an aggregation of individuals or business partners who interact around a shared interest, where the interaction is partially supported by technology ad guided by some protocols and norms". Many people join online community to either sort for friendship or information. There are 2 major types of online community:
Member initiated, which its members manage.
Organization sponsored, which is managed by either a commercial or a non-commercial organization.
A personal relationship of non-professional nature is cultivated in a social - oriented community. According to Koch and Pfleeger, there is no standard survey tool for requirement gathering... (Koch & Pfleeger, 1998). Thus, gathering requirements for a web application is quite tedious because users are not known before hand. It is because online communities are not formal organizations and there are no clear restrictions between two different communities. The centrality of individual can be used to measure how individuals are linked to others in a group. Thus, developing user roles collected from an online community could be inadequate because the volume of community members may vary from dozens to thousands. Roster method is commonly used in collecting socio-metric data from a formal organization... (Krackhardt & Stern, 1988), it would not be appropriate in this study. That initiated the two designed to capture the online network relationships. The first step was to gather relational data in a free recollect format, e.g. ''to whom do you often communicate via email, or chat in this site? Please write as much as you can'' in the Questionnaire I. The nicknames collated in the first step are listed in a register for voting in the Questionnaire II, which confine the correct relational data. The research result indicated that evolving user roles might have an impact on the observation of the requirements, though the assumption was only partly complete. This is the reason why online communities have to be redesigned and develop systems according to member responses. The complexity of global computing has led to difficulty in gathering the user requirements.
HOW TO EFFECTIVELY MANAGE USER REQUIREMENTS:
Communication is one of the fundamental requirements in software development. Communication in this context is defined as the act of transmitting information between the software developer and end user. It aids different phases from development, operations to support. Communication could be variety of ways .i.e. paper, audio tape, e-mail conversation, videotape, phone conversation, video conversation, face-to-face conversation and face-to-face at white board...(Kruchten, 2000) The most effective up to date mode of communication is face-to-face when enhanced by a sharing medium such as plain board, flip charts, paper or index cards. The ability to answer questions on real time would speed up the development process. Thus, the distance propinquity of the developer and user would determine fastest and reliable mode of communication. This minimizes time spent on making and maintaining documentations. Team meetings are also good medium of face-to-face communication as important issues can be discussed and concluded there and then. UML uses different communication diagrams for different purposes
- Class diagram is used to model stationary nature of a system.
- Sequence diagram used to model sequential logic.
- State machine diagram can be used to model the behavior of a complex system...(Scott Ambler, 2009)
The developer or user can use these diagrams to suit what they want to communicate across through modeling. Thus in RUP, managing user requirements is enhanced by good communication between the developer and user. This would save different team time and resources. Thus, one of the reasons why ITS project, DSS and World Wide Web projects failed is lack of good communication.
FULL UNDERSTANDING OF USER NEEDS- The identification of the range of users and stakeholders by the developer helps in having an understandable picture of what the software would do and the people that would use it. It assist in scheming goal, requirement indication of their precedence level, assessable standards against which the emerging software design can be tested, evidence of acceptance of requirements by the users and stakeholders and acknowledgment of statutory requirements...(Maguire& Bevan,2002). There are different ways of the developer knowing user needs
Interviewing- This is a technique used to question users, stakeholders and domain experts to get more information in relation to the new software. This is based on series of preset questions with the scope of users to expand more on the requirements. This is better done in the premises of the user. It can be very informative. It also helps the developer to know how the current software is running and how the new one would enhance it... (Maguire& Bevan,2002)
Scenarios and Use cases- This gives the developer a realistic insight to know how users would carry out task in a specified context with the future software. The use case is first done. It aids in knowing how many people will be using the software and from the use case, the scenario is derived. The aim of scenario building is to give an example of future use that helps in deep understanding, clarification of user requirements and to provide the basis for later usability testing. It also helps to know usability targets and likely task completion time. A similar method to this is personas, which the developer would create a sketch with name, personality and picture to represent important user groups in the organization. This is the evaluated against the need of a particular stakeholder and what is expected of the DSS solution. This helps in innovative design to stimulate creativity in the software...(Maguire& Bevan,2002).
Evaluating an existing software- This provide important information about the level at which the current software meets user need. It aids perfection, effectiveness, efficiency and satisfaction in the process of development. The useful features of the current software can also be an input into the new one. In order to get an accurate DSS solution the users must be put to test... (Maguire & Bevan, 2002).
Brainstorming- This brings about a set of design. It inspires the developer in a creative idea process for easy problem solving process. Brainstorming is used to generate new ideas by thinking freely and opening up the mind to accept useful suggestions. This allows freedom of creativity by both user and developer. The result of brainstorming is hope, set of useful ideas and a broad view of the software to meet the user need...(Maguire& Bevan,2002).
Prototyping- This is when the designer creates a software based simulation of user interface elements i.e. menus, buttons, dialogue, sequences, windows, icons etc. in a self-motivated way. This is used to find the acceptable design for the user but would be discarded preceding full implementation. Also, some other design process are based on a rapid application development (RAD) approach. In this, small groups of designers and users work together on a prototype; they make changes according to user response. This would involve investing resources and that would be an extra cost on the user and designer.
Questionnaire- Questionnaires is developed for pre-requirement stages. These are set of fixed question used to know how each member of an organization feels about the new software. This would make the designer have a good insight to what is expected of the solution. The first questionnaire is directed towards senior personnel in an organization and the second one is directed towards different business departments... (Maguire& Bevan,2002).
ROLE PLAYING: Role playing is a method of exploring the issues involved in the design. The users would have a simulation feel of the software and different roles are giving according to how the live software would be used by different people. This would help the designer to have a deep understanding of roles within the user organization.
CONCLUSION- By developing software iteratively, building and demonstrating an application baseline would be fast because the architecture baseline had considered the perilous and high priority parts of the software. Furthermore, with each repetitive step the software is designed with flexibility, efficiency and maintainability.
Thus, verifying software at every design stage would give thee developer an early patches to the software instead of waiting until later when the user is not satisfied with what is delivered.
- Christel, M.G. and Kang, K.C. (1992), "Issues in requirements elicitation", Technical report, Carnegie Mellon University, Pittsburg, PA.
- David whiteley (2004) Introduction to information system, organizations, applications, technology and design. New York: Palgrave Macmillan.
- Etheridge, M. (2001), "Retailer failure", Computing UK, 5 July, p. 32.
- Gubbins, M. (2001), "We can still learn lessons from Leo", Computing UK, 18 October, p. 24.
- Hagel, J. and Armstrong, A. (1997), Net Gain: Expanding Markets through Virtual Communities,McKinsey & Company, New York, NY.
- Hahn, B. and Engelen, G. (2000), "'Decision support systems (DSS) for river basin management', International Workshop 6 April 2000, Koblenz", Bundesanstalt fur Gewasserkunde, Koblenz-Berlin.
- Hatton, L. (1999), "Swanwick bug fixes not good enough", Computer Weekly UK, 7 January, p. 11.
- IBM (2007) The IBM rational Unified Process for SystemZ[online]Available from-http://www. ibm.com/redbooks
- James. O'brien(2002) Management Information Systems: Managing Information Technology in the E-business Enterprise.McGraw-Hill Irwin,5th ed.
- Krackhardt, D. and Stern, R. (1988), ''Informal networks and organizational crises: an experimental simulation'', Social Psychology Quarterly, Vol. 51 No. 2, pp. 123-40.
- Koch, M. (2002), ''Requirements for community support systems - modularization, integration and ubiquitous user interfaces'', Behavior and Information Technology, Vol. 21 No. 5, pp. 327-32.
- Maguire and Bevan(2002),User requirements analysis. Kluwer Academic publishers
- Mariele Evers(2007), An analysis of the requirements for DSS on intergrated river basin management [online] Available from-http://www.emeraldinsight.com/1477-7835.htm.
- Pfleeger, S.L. (1998), Software Engineering: Theory and Practice, Prentice-Hall, Upper Saddle River, NJ.
- Scott W.Ambler (2002) Agile Modelling: Effective practices of Extreme Programming and the Unified Process. Robert Ipsen Publishers.New York.
- Sommerville, I. and Sawyer, P. (1999), Requirements Engineering: A Good Practice Guide, John Wiley, Chi Chester.
- Steve McConnell (2009),Software estimation in depth [online] Available from-http://www.construx.com/Page.aspx?hid=535