NIMSAD
RUP
ETHICS
the History Timeline of the RUP development
RUP Iterative development
One of the most significant current discussions in the human and commercial philosophy is how to develop information systems in the most efficient and effective way. The mechanism by which the information system is structured, organized and developed is known as methodology. According to Britain computer society (BCS, 2006), methodology is "a set of recommended means for information systems development or part of it which is based on logic and specific philosophy." A closer look at the great improvements in the field of methodology development can observe that there are many methodologies have been developed to meet various requirements for the different information systems. In order to be able to identify, evaluate, and select the appropriate methodology for a particular information system, a set of pre-defined criteria has to be used in order to give formal and authorized pattern for the results (Yaghini, 2009). It might be obvious that a particular methodology that is able to achieve goals set by an organization, will not be able perform simultaneously on another organization with different structure, concepts, and goals. As a result, the organizations need to have its evaluation framework to select the most appropriate methodology that fits their plans. In this regard, many frameworks have been developed to act as an evaluation tool to select a particular methodology. One of the most common frameworks in this field is NIMSAD. This paper will focus on an account of using NIMSAD frame work for the purpose of comparing and evaluating two selected methods which are: Rational Unified Process (RUP) and Effective Technical and Human Implementation of Computer -- based Work Systems (ETHICS). The main issues addressed on this paper are: firstly, outline of RUP and ETHICS main features and characteristics; Secondly, use NIMSAD's steps to evaluate each method on a comparison basis; Lastly, review and discuss the findings of the mentioned comparison.
NIMSAD
NIMSAD stands for Normative Information Model -based Systems Analysis and Design and it has three basic elements: the problem situation which is the methodology context, the intended problem solver (the methodology user), and the problem solving process (the methodology). It is a meta framework that includes in the problem solving process three essential phases which are broken down into eight stages that can be used to solve any intended problem. NISAD is used as an evaluation tool to help comparing two or more methods, which is performed for multiple purposes. One could be an academic purpose that can help learners to get deeper understanding of the compared methodologies' main goals, structures, and features. Another key purpose for methodologies comparisons is to help identifying the pros and cons for each methodology so that specialists can combine the best available features from multiple methodologies to develop a new methodology (Yaghini, 2009).
Rational Unified Process (RUP)
RUP has been developed in the period between 1980s and 1990s by Dr. Jacobson who has been considered as a father of RUP. His company 'Objectory' was acquired by Rational® Software which was also concerned about developing software systems with regards to iterative approach. Later in 2002, Rational® Software was acquired by IBM to be one of its main divisions and RUP has become IBM RUP (figure 1). As a result, RUP gained the current formulation of iterative development and architecture from its background history of development to be defined as a well defined software engineering process used to develop software systems based on "case-driven iterative" approach (Rational® Software, 1998). It has some distinguishing characteristics:
1. It is a process product in which specialists are working closely with customers, partners, and organizations
2. It supports team productivity by allowing each member to access the entire knowledge base, so they share a common language, process, and view of software system under development.
3. . It establishes and maintains models rather that growing body of papers and documents.
4. It is a guidance for how to use Unified Modeling Language in effective way.
5. It is enhanced with tools to automate a large part of the process which can increase the level of reliability and accuracy.
6. RUP is a configurable process. Yet, it can be varied to accommodate different situations because there is no single process is suitable for all software development.
Figure 1: the History Timeline of the RUP development (Rational ® Software, 1998)
RUP Phases and Iterations:
The software life cycle is broken into cycles, each cycle working on a new generation of the product. The Rational Unified Process divides one development cycle into four consecutive phases
1. Inception Phase:
Objectives: establish the work case for the system and delimit the project scope by identifying who and how system will interact with identified external actors.
Outcomes: vision document, risk assessment, project plane (initial), and prototype.
2. Elaboration phase (the most critical phase):
Objectives: analyze the problem field, develop the project plan, and eliminate the highest risk factors by having a comprehensive understanding of the system requirements.
Outcomes: a use-case model in which includes all use cases and actors have been identified, Software Architecture Description, an executable architectural prototype, a revised risk list, and a development plan for the overall project, showing iterations.(IBM, 2003)
3. Construction phase (a manufacturing process):
Objectives: efficient resources management and operations control to optimize costs, schedules, and quality.
Outcomes: The software product, and the user manuals.
4. Transition phase:
Objective: to deploy the software product to end-user when ensuring that sufficient product features testing and user training were provided to achieve user satisfaction.
Outcome: final software product.
Each phase is concluded with a well-defined milestone which is a point in time at which certain critical decisions must be made, and therefore key goals must have been achieved (Boehm, 1996).
Figure2: RUP Iterative development (© WittmannClan, 2005)
In this paper, we propose an evaluation framework for selecting information systems development methodology in order to facilitate the development process of information systems in organizations. This paper will focus on the critical aspects of both RUP and ETHICS in an attempt to ascertain both their complexities and similarities within the NIMSAD normative analysis process. This discussion will lay out the core competencies of the NIMSAD process as well as the positives and negatives of the matrix in order to provide a working context.
NIMSAD is a meta-framework for evaluating methodologies, specifically information system development methodologies. At its core, methodology, is a way of structuring (rationalizing) thinking and action, invoking both critical and creative thinking. Why would NIMSAD by utilized as a reflective agent in evaluating I.S. processes? The positive aspects of using NIMSAD include: (1) a wide scope; (2) it is not restricted to evaluation of any particular category of methodologies and (3) it is highly practical and (4) Considers different use situations. However, NIMSAD is not a perfect design and therefore has its design flaws. Some of these flaws include: (1) the methodology user is separated from the methodology; (2) Viewpoint of what epistemology and ontology are differ from the commonly accepted viewpoints and (3) Their exists some ambiguous uses of concepts.
According to NIMSAD pretexts methodologies such as RUP and ETHICS are examined within four constructs: (1) Methodology context; (2) Methodology and (3) Methodology and (4) Use. These are the frameworks that will be utilized in order to effectively compare and contrast the similarities and differences between RUP and ETHICS.
The first step that NIMSAD uses to examine a methodology is to consider how the method examines the environment in which the problem occurs. The RUP is best equipped for well structured problems and does not cover coping with 'political' problems of clients. Most of the management advice is for controlling risk within the project team, so change control (software control) is emphasized over change management.
The RUP was created by more than one author and therefore a composite of different mindsets and ways of thinking. Such cohesion may bring a more widely applicable approach but presents additional comprehension complexities for novice users. ETHICS, conversely, explains the rationale behind tasks that need to be performed, which enables and empowers the methods used to achieve the goals behind the tasks.
There needs to be an understanding between the method user and the client whose problem is to be rectified. The RUP's rigorous specification of the UML facilitates easy communication between users of the method. The RUP mentions prototyping but there is no modeling guidance or linkage with UML. ETHICS uses more business modeling techniques in conjunction with joint modeling sessions. These models evolve in fidelity and detail as analysis and design progresses. Ethics makes use of prototypes to show functionality and demonstrates ideas.
The third strategy of NIMSAD, the problem-solving process, consists of a further eight stages-examined as they portend to RUP and ETHICS. Specifically, stages 1-5 are defined, according to the literature, as the problem formulation tasks, while stages 6 and 7 incorporate solution design. The final stage, stage 8, is the implementation stage. Each of these stages will be used as a construct within which to compare and contrast both RUP and ETHICS in the overall context of NIMSAD.
Stage 1 or Understanding the Problem
The RUP recommends using business use cases for locating purposes which have two qualities:(1) easy to understand and (2) easy for the client to use. The RUP does not clarify how these "use cases" should be analyzed to determine what is in the NIMSAD purview. To identify sections of the business that need to be examined, ETHICS uses a stakeholder method that demonstrates all parties interacting with the system. ETHICS harbors a more "macro-view" in comprehending project priorities.
Step 2: Diagnostic Evaluations
The RUP does not attempt to challenge any requirements which devolve from the client. There is no way to accurately analyze whether total autonomy of the system would provide any productive cost-benefit analysis for the overall organization. ETHICS advises that analysis should be conducted on the current situation to prevent the analyst from developing "tunnel vision" and focusing on the first solution that is presented to them and ignoring others, even if the others are more plausible than the original solution first posited.
Step 3: Outlining the Solution
Once the problem has been identified the appropriate decision makers must determine what the correct process should be and when it should be carried out. In the RUP paradigm the client's expectations are gathered in the requirements stage during the Inception Stage. The basic assumption in RUP is that an information system is the appropriate type of solution and the RUP does not explore alternative approaches. The ETHIC model encourages users to identify implausible expectations and to find simple, more cost effective ways to solve business problems.
Step 4: Defining the Problem
The RUP discusses what specific problems are holding the company back from achieving its goal; this discussion is an imperative step in ascertaining the very nature of the problem. The most common form of this level of analysis is a "Gap" analysis. However, RUP is largely ill-equipped to conduct a GAP analysis because it does not collect any information on process efficiency. ETHICS stresses having information available making problem areas, such a bottlenecks and other log jams, easier to detect, diagnose and treat. Once the organization has identified all the relevant goals, ETHICS recommends including performance measures into the comprehensive system.
Step 5: Creating Hypothetical Situations
This process of constructing hypothetical constructs is commonly referred to within the Elaboration Phase. The RUP emphasizes a robust design which is easily configurable should the client requirements or expectations change. In order to bring clients into the fold ETHICS users would use prototypes to illustrate screens, reports and overall program flow. Prototypes are beneficial for the client given they allow the client the access they need to be at ease with the new configurations while avoiding the full investment typical of newly created software.
Step 6: Conceptual and Logical Design
This stage demonstrates the roles of system users. The RUP recommends splitting the software system into subsets and grouping classes into packages. Segregating these packages is an effective practice because it increases system maintenance and creates component integration. ETHICS stresses and focuses on mapping of behavior to "classes," which occurs in the system design phase. The system is partitioned into these "classes" which usually represent business entities, those responsible for carrying out system activities.
Stage 7: Performing Physical Design
The RUP model employs component and deployment diagrams for the purpose of creating a physical design for the client. The RIP also encourages linking components to development teams to improve development productivity. ETHICS advises that required functions are mapped directly to business entities. Domain objects, under ETHICS, are implemented as persistent objects either in a direct-object orientated database or by making use of a relative wrapper.
Stage 8: Implementing Design
The process of creating a workable, effective and efficient implementation strategy is simplified by RUP. RUP then links the business entities to the implementation systems. It is a vital step that the RUP ensure that all of the client's requirements have been fulfilled. All the RUP components must be tested and de-bugged before the RUP can be unveiled to the client.
ETHICS advises to test for functionality and aims to improve quality control and ensure proper project efficacy. ETHICS is not concerned with specific step-by-step implementation of the software architecture by is more focused on business analysis and architectural design. This adheres to ETHICS more "macro-view" in terms of process development. Additionally, ETHICS is a much broader quality control mechanism when it comes to implementing the software. While RUP takes a more hands on approach to client quality control, ETHICS is more focused on the higher level, thirty thousand foot view regarding the software's implementation and the impact this implementation will have on cost-benefit analysis for the organization. Furthermore, ETHICS concerns itself only with the proper construction of the architecture of the software as opposed to RUP that focuses on linking the appropriate systems with the specific business entities to ensure performance.
Conclusion
Through the analysis of the various components along with similarities and differences between these two software design methodologies. The overarching construct used to discern the differences between these two constructs was the NIMSAD normative analytical framework. Although NIMSAD is a well designed qualitative framework it does not represent the only framework and is not absolute in its truths regarding both RUP and ETHICS. Therefore, there should be further analysis, using different frameworks aside from NIMSAD. However, despite all of its flaws, utilizing NIMSAD will allow any individual or organization to effectively determine if either process is more effective than the other in terms of developing and integrating business software.
You’re 82% through this paper. Sign up to read the full paper.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.