The most suitable system methodology for the proposed system is drawn out.



Similar documents
SOFTWARE PROCESS MODELS

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

COMP 354 Introduction to Software Engineering

3C05: Unified Software Development Process

CS4507 Advanced Software Engineering

I219 Software Design Methodology

Software Project Management using an Iterative Lifecycle Model

How To Understand The Software Process

Classical Software Life Cycle Models

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

The Unified Software Development Process

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Surveying and evaluating tools for managing processes for software intensive systems

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Agile Unified Process

Development Methodologies

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Unit 1 Learning Objectives

Software Development Methodologies

Software Process and Models

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to

Plan-Driven Methodologies

6 Contracts and Scenarios in the Software Development Process

Software Development Life Cycle (SDLC)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Abstract. 1 Introduction

Software Life Cycle Processes

Introduction to OpenUP (Open Unified Process)

Introduction to Systems Analysis and Design

Unit I. Introduction

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Software Lifecycles Models

An Introduction to the UML and the Unified Process

An Approach for assessing the Quality of Software for small and medium sized firms

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

What is a life cycle model?

Advanced Software Engineering. Software Development Processes

A Framework for Software Product Line Engineering

Software Development Process

Basic Unified Process: A Process for Small and Agile Projects

To introduce software process models To describe three generic process models and when they may be used

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)

Supporting Workflow Overview. CSC532 Fall06

General Problem Solving Model. Software Development Methodology. Chapter 2A

A FRAMEWORK FOR INTEGRATING SARBANES-OXLEY COMPLIANCE INTO THE SOFTWARE DEVELOPMENT PROCESS

A Capability Maturity Model (CMM)

Increasing Development Knowledge with EPFC

Software Engineering

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

A Comparison between Five Models of Software Engineering

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

A Rational Software Corporation White Paper

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Software Design Models, Tools & Processes *

Software Development Processes. Software Life-Cycle Models

Software Life Cycles and Configuration Management

What Is the Rational Unified Process?

Combining Models for Business Decisions and Software Development

(Refer Slide Time: 01:52)

TOGAF usage in outsourcing of software development

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

Elite: A New Component-Based Software Development Model

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

Redesigned Framework and Approach for IT Project Management

Corso di Laurea Magistrale in Informatica, Università di Padova Tecnologie open-source, Anno accademico 2010/2011. Development Processes 1 / 51

A Rational Development Process

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Software Engineering. What is a system?

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Web Application Development Process

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

A Survey of Plan-Driven Development Methodologies

How To Model Software Development Life Cycle Models

Mitigating Service-Orientation Risks with RUP

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Oracle Unified Method (OUM)

Security Considerations for the Spiral Development Model

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

CHAPTER. Software Process Models

ACM SIGSOFT Software Engineering Notes Page 8 May 2010 Volume 35 Number 3

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Lifecycle Models: Waterfall / Spiral / EVO

CSE 435 Software Engineering. Sept 16, 2015

Title: Topic 3 Software process models (Topic03 Slide 1).

Chapter 3 Technology adapted

LECTURE 1. SYSTEMS DEVELOPMENT

RUP for Software Development Projects

Transcription:

3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out. 3.2 System Methodology The term methodology can be defined as a collection of procedures, techniques, tools, and documentation aids which will help the systems developers in their efforts to implement a new information system. A methodology consists of phases that in turn consisting of sub-phases, which will guide the developers in their choice of the techniques that might be appropriate at each stage of the project. A methodology also helps the system developer to plan, manage, control and evaluate information systems projects (Avison and Fitzgerald, 1995). There are several software development life cycle models have been studied and analyzed. Five models have been finalized for consideration and comparison in order to choose the most suitable life cycle model to be adopted for the proposed system development. These four models are Waterfall model, Spiral model, Rapid Prototyping, Extreme Programming (XP) and Rational Unified Process (RUP). 3.2.1 Waterfall Model The waterfall model is a sequential development process in which the development of this model is cascading through the phases of requirements specification, analysis, design, construction, implementation and testing, deployment and maintenance. The first formal description of the waterfall model is published in an article in year1970 by Winston W. 20

Royce (1929 1995) (Wikipedia, 2009). Each phase in Waterfall model has a set of defined milestones and results, and the progress to another phase is in purely sequential order. Thus, the progress to another phase does not occur until the its preceding phases are accomplished. Figure 3.1 illustrates the Waterfall Model. Figure 3.1: Waterfall Model (Boehm,B.,1988) 3.2.2 Spiral Model Spiral model was devised by Barry Boehm in his article "A Spiral Model of Software Development and Enhancement" in year 1988 (Boehm,B.,1988). This spiral is as an improvement version of Waterfall model which is able to address the weaknesses of 21

Waterfall model such as lack of resilience in the face of change and also no active user or customer involvement throughout the development process. There are four phases in the Spiral model which are planning, evaluation, risk analysis and engineering. These four phases are iteratively followed one after another in order to eliminate all the problems, which were faced in the Waterfall model. By going through the iteration of the phases, it can help in understating the problems associated with a phase and dealing with those problems when the same phase is repeated next time, planning and developing strategies to be followed (Buzzle.com, 2000-2009). Figure 3.2 illustrates Spiral model. Figure 3.2: Spiral Model (Boehm,B.,1988) 3.2.3 Rapid Prototyping Rapid Prototyping is an iterative approach that relies on interaction with the client to refine the model being developed. The aim of Rapid Prototyping is to create a series of prototypes in order to understand the requirements and the design for a particular project. It does not 22

have a proper earlier planning, thus the prototyping effort may become ad-hoc that the endless work situation will occur on the prototypes without any real progress. The main difference between Rapid Prototyping and the older Software Development Life Cycle (SDLC) models is the use of the prototypes. A prototype application is built and presented to the users right after the quick requirements gathering phase. Then, the application users will start to provide their feedback to improve or add desired functionalities to the application. This stage will keep looping until the users are satisfied with the application prototype (Purcell, J.E). The main advantage of this Rapid Prototyping is the time-to-market is greatly reduced. However, proper testing on the prototype may not be done due to the whole process is too fast. Figure 3.3 illustrates the Rapid Prototyping model. 23

Figure 3.3: Rapid Prototyping process (Injection Molding Technology, 2009) 3.2.4 Rational Unified Process (Unified Process) The Rational Unified Process (RUP) is based on the integrated work of three methodologists, namely Ivar Jacobson, Grady Booch and James Rumbaugh (Thomas, M., 2002). Its goal is to ensure the production of high-quality software which is able to meet the needs of its end-users within a predictable schedule and budget (Jacobson, I., Booch, G. and Rumbaugh, J., 1999, Kruchten, P., 1999). There are three distinguishing characteristics 24

shown by the Unified Process: 1) Use-case driven; 2) architecture-centric; and 3) iterative and incremental. The process employs use cases to drive the development process from inception to deployment. The Unified Process seeks to understand more about the most significant static and dynamic aspects in terms of the software architecture. The process divides large projects into smaller projects and each in turn comprises an iteration that results in an increment. The software lifecycle is broken into cycles, each cycle consists of four consecutive phases (Kruchten, P). The four phases are 1) Inception phase; 2) Elaboration phase; 3) Contruction phase; and 4) Transition phase. There are nine core process workflows in Unified Process. The Unified Process has the advantages of higher level of reusability and better overall quality over the traditional Waterfall model. Figure 3.4 depicts the Rational Unified Process (Unified Process) model. Figure 3.4: Rational Unified Process (Unified Process) model (IBM, 2006) 25

3.2.5 Extreme Programming (XP) Extreme Programming is a discipline of software development which is based on the values of simplicity, communication, feedback and courage. It works by bringing the whole team together to work together with enough feedback that the team is able to see to what is the current situation at a point of time and they are able to tune to the practices to improve their work. The main advantage of XP is the whole process is visible and accountable. There are 12 core practices in XP which will be illustrated in the Figure 3.5. Figure 3.5: Extreme Programming model with 12 core practices (XProgramming.com, 1999-2009) 3.2.6 Justification on System Methodology After several studies and research done on few different types of the software development life cycle models, the characteristics of each SDLC model has been analyzed and categorized based on few aspects which are important to take into consideration during the process of selecting the most suitable system methodology to implement for the proposed MaxLearn 26

system. Table 3.1 shows the comparison of the Waterfall model, Spiral model, Rapid Prototyping, Rational Unified Process (Unified Process) model and Extreme Programming model. Table 3.1: Comparison of Five Software Development Life Cycle Models Characteristics Waterfall model Enable Iteration Mitigation Risk of Planning for Change Management Reusability Level Customer/ User Active Involvement Spiral model Rapid Prototyping Rational Unified Process No Yes Yes Yes Yes Weak Varies (depends on the risk expertise) Weak Strong (usually able mitigate risk earlier) No Yes Yes Yes No to Extreme Programming Varies Low Low Low High Low No Yes Yes Yes Yes After the comparison of these five SDLC model, the Rational Unified Process (Unified Process) model has been selected as the system methodology to be used for this proposed system development due to the reasons as shown below: i. The Rational Unified Process model supports an iterative approach to development that addresses the highest risk items at every stage in the lifecycle which in turn has significantly reduced a project's risk profile. ii. It is able to accommodate changes to requirements with less disruption. 27

iii. It involves the users or customers throughout the process. Hence, the feedback from the users or customers is captured easily from time to time throughout the whole process. This can ensure that the system is able to meet the users requirements. iv. It has higher reusability level compared to other models discussed. 3.2.7 Applying Rational Unified Process (Unified Process) Model to Develop MaxLearn system Due to time constraint, only main workflows in each phase are applied in the MaxLearn system development process. The four phases in RUP model are Inception phase, Elaboration phase, Construction phase and Transition phase. i. Inception phase There are two core workflows which are Business Modeling and Requirements workflows are applied in this phase. In this phase, the business use cases are established and the project scope is delimited. The business case such as resource estimation and the phase plan showing dates of major milestones are identified. During Business Modeling, the business use case are captured and documented to ensure that there is a common understanding between the system users and the system developer of what kinds of processes needed to be supported through the proposed system. During Requirements workflow, survey questionnaire have been distributed to the secondary school students which are the target users and a few interview sessions have been done with some experienced History subject teachers in order to capture the user requirements. 28

ii. Elaboration phase The purpose of this phase is to analyze the problem domain, develop the project plan as well as eliminate the highest risk elements of the project. A good understanding of the whole system which includes its scope, major functionality, functional and nonfunctional requirements such as the performance requirements is needed in this phase. This phase consists of two main workflows which are Analysis and Design workflow and Implementation workflow. During Analysis and Design workflow, the required system functionality and constraints are elicited, organized and documented. Besides these, any of the tradeoffs and decisions are tracked and documented as well during this stage. The functional requirements, nonfunctional requirements, software and hardware specifications are identified. Design model is created to serve as blueprint of how the code is structured and written and system architecture is identified. In Implementation workflow, the system is realized through the implementation of components. The detail design representations of the system are translated and implemented into programming realization. The programming language that used in the MaxLearn system coding part is C#.NET. 29

iii. Construction phase During Construction phase, all the components and application features are developed and integrated into system. All features are tested thoroughly. The cost, schedule and quality of the system is greatly emphasized in this phase. This phase involves two core workflows which are Implementation workflow and Test workflow. The implementation workflow is involved in two phases as it is a very important and time consuming workflow. Testing is a crucial step in verifying the interaction between objects, the proper integration of all components of the system, and all requirements have been implemented correctly and successfully. If there is any bug or defects, by going through testing, it will be more assured that those bugs or defects are able to be identified earlier. There are few types of testing to carry out such as unit testing, integration testing, validation testing and user acceptance testing. All these testing will be discussed in more details in later chapters. iv. Transition phase During this phase, the MaxLearn system should be mature enough to be deployed for enduser to use. Usually this phase includes several iterations, including beta releases, general availability releases, bug-fix as well as enhancement releases. This phase involves only one workflow which is Deployment workflow. The purpose of Deployment workflow is to successfully release the system product to the end-users. Thus, the distribution of the system, installation of system, documentation of system for end-users as well as training for endusers are important tasks in Deployment workflow. 30

The Rational Unified Process model life cycle is being illustrated in the Figure 3.4. 3.3 Research Methodology There are a few information gathering methods being used in order to gather more useful information related to the e-learning topics especially regarding the e-learning approach being applied in History studies. 3.3.1 Discussion with Supervisor The supervisor gives the general ideas of whole project at the beginning phase. Besides that, supervisor also gives guidance and valuable opinion in certain aspects that need further clarification or explanation from the supervisor. Hence, discussion with supervisor from time to time is a good way to gain more understanding and useful information regarding the project. 3.3.2 Do Literature Review Another research methodology used is to do research from Internet resources and review on the existing similar systems developed by others and also others paperwork such as journals, reference books and proceeding papers in the related topics needed. This is a useful way to gain more understanding, knowledge and exposures which is needed for developing the MaxLearn system. 3.3.3 Interview For gathering more valuable information regarding the History subject topics for secondary schools, a few interviews was done with a few experienced History subject teachers in order 31

to get some opinions from them in History subject such as the problems which usually faced by students in learning History subjects. 3.3.4 Survey Survey questionnaire are distributed to the secondary school students to answer in order to gather more feedbacks and opinions from them in their perception towards learning History in traditional class room style and via e-learning as well as their desired system features. This can help in gaining better understanding about the actual requirements of the system endusers in the proposed system. A complete set of survey questionnaire sample can be found at Appendix A. 3.4 Conclusion Methodologies is a very useful and precise methodology in helping the developer to identify a set of activities, methods and best practices needed in order to develop a required system. Rational Unified Process (Unified Process) model has been selected as the software development life cycle model will be used in the whole system development of this proposed system. 32