Chapter 3 Methodology



Similar documents
Developing Database Business Applications using VB.NET

The Spiral development model is a risk-driven process model generator. It

How To Design An Information System

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

Introduction to Software Paradigms & Procedural Programming Paradigm

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

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

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

Unit I. Introduction

How era Develops Software

Chapter 8 Approaches to System Development

JOB DESCRIPTION APPLICATION LEAD

COMP 354 Introduction to Software Engineering

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions

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

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

What is a life cycle model?

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

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

Software Engineering

Software Development Process

Implementing Microsoft SQL Server 2008 Exercise Guide. Database by Design

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

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

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

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

About database backups

Unit 1 Learning Objectives

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

Configure SQL database mirroring

How To Model Software Development Life Cycle Models

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

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

Software Paradigms (Lesson 1) Introduction & Procedural Programming Paradigm

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

Implementing a Data Warehouse with Microsoft SQL Server 2012

Course 5431: Getting Started with Microsoft Office PowerPoint Course 5420: Editing and Proofreading Documents in Microsoft Office Word 2007

2. Analysis, Design and Implementation

Foundations of software engineering

An Easier Way for Cross-Platform Data Acquisition Application Development

Custom Development Methodology Appendix

Software Process and Models

A system is a set of integrated components interacting with each other to serve a common purpose.

2. Analysis, Design and Implementation

HarePoint Workflow Scheduler Manual

Software Development Life Cycle

Lesson 1 Introduction to Rapid Application Development using Visual Basic

I219 Software Design Methodology

(Refer Slide Time: 01:52)

Software Development Life Cycle (SDLC)

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

A Capability Maturity Model (CMM)

Software Life Cycle Models

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

CS4507 Advanced Software Engineering

WW TSS-15 WW TSS-16 InTouch Advanced Troubleshooting and 2014 New Features

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

Visual Basic. murach's TRAINING & REFERENCE

SOFTWARE PROCESS MODELS

Course Outline. Module 1: Introduction to Data Warehousing

Ultimus Adaptive BPM Suite V8

SQL Server 2012 Business Intelligence Boot Camp

Software Engineering. Objectives. Designing, building and maintaining large software systems

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Microsoft Change Management Applying Comparison of Different Versions

This unit introduces the Systems Development Life Cycle and the roles involved in ICT system development.

ASSESSMENT OF SOFTWARE PROCESS MODELS

Effective Team Development Using Microsoft Visual Studio Team System

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

2007 to 2010 SharePoint Migration - Take Time to Reorganize

How Silk Central brings flexibility to agile development

Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase

Microsoft. Course 20463C: Implementing a Data Warehouse with Microsoft SQL Server

Software Process for QA

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

A Comparison between Five Models of Software Engineering

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Harnessing the power of advanced analytics with IBM Netezza

Catálogo de cursos plataforma elearning Microsoft Imagine Academy: Microsoft SQL Server y Visual Studio

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Chapter 2 Software Processes

Implementing a Data Warehouse with Microsoft SQL Server 2012 MOC 10777

Collaboration. Michael McCabe Information Architect black and white solutions for a grey world

HTML5. Turn this page to see Quick Guide of CTTC

Process Models and Metrics

Out of Harms Reach -A Whitepaper on Online Backup

Advanced Software Engineering. Software Development Processes

Implementing a Data Warehouse with Microsoft SQL Server MOC 20463

COURSE OUTLINE MOC 20463: IMPLEMENTING A DATA WAREHOUSE WITH MICROSOFT SQL SERVER

Modelli di sviluppo software. Enrico Giunchiglia

Applying Agile Methods in Rapidly Changing Environments

Transcription:

Chapter 3 Methodology 3.1 Introduction In developing our system, we had review several software development methodologies to be used. Software development methodology is a framework that is used to structure, plan, and control the process of developing a system. [Wikipedia Software Development Methodology, 2009]. There are several types of software development methodology model and each of them has its own advantages and disadvantages. Figure 3.1.1 shows a brief comparison of the methodologies. Software Development Strength Methodology Waterfall Model Detailed steps provided Documentation driven whereby each stages has its documentation Incremental Model Provide early functionality Does not require a complete set of requirement Spiral Model Provide early functionality Minimize cost and risk through usage of prototyping and risk assessment Prototype Model Useful when requirements are not clear Weakness Not suitable for project where requirements keep changing as there are no formal way to make the changes Not suitable for project when the requirements are not well-known Inflexible Each phase of an iteration is still rigid and not flexible Complicated and requires risk assessment expert Do not know the number of iterations required 25

Early functionality Cost maybe high Figure 3.1 Comparison of software development methodologies So based on the comparison in Figure 3.1.1, we decided to integrate spiral model and prototype model for our system. Description of the model and why we choose the model will be explain in section 3.2 and 3.3. 3.2 Spiral Model and Prototyping Model Spiral Model Spiral model is a software development methodology whereby it combines elements of design and prototyping in stages. It was designed by Barry Boehm in 1988. Figure 3.2.1 is the spiral model of Boehm 1988 [Wikipedia Spiral Model 2009]. Figure 3.2 Boehm spiral model, 1988 Based on the figure above, the steps can be generalized in the following: 1. The system requirement is defined as much as possible. 26

2. A design will be created for the system. 3. First prototype will be developed based on the design and testing. 4. Iteration of the next prototype will be planned based on evaluation of the previous prototype of the strength, weakness and risk, and repeat the steps 1, 2, and 3. Prototype Model Prototyping is a creation of a system which simulates a few aspects or functionality of an eventual system. The main purpose of prototyping is to allow users of the system to evaluate the system in certain stages. There are few types of prototype model. There are Throwaway prototyping, Evolutionary prototyping, Incremental prototyping and Extreme prototyping. In our system, we chose Evolutionary prototyping. Evolutionary prototyping is where a prototype of a system is constantly refined it until it becomes a final system. This allows us the developer to further improve on the system or make changes on it if there s any requirement changed. Besides that, we can start develop a system based on the requirement that they are well understood first and slowly refine the prototype when the other requirements are understood [Wikipedia Prototype 2009]. 3.3 Advantages in using the Spiral Model and Prototyping Model Spiral model and prototyping model is quite similar because spiral model itself uses prototyping. Both of the models provide us advantages whereby it helps us in producing a system with early functionality, minimizes the risk of building a wrong system, and assist us in identifying any problem at early stages. Since the requirements we gathered is not clear enough, we can start developing the system on the requirements that we are well understood first. After we had developed the prototype, we can show it to our client to assess on our system. If there are any changes required, we can make changes on the prototype. By using evolutionary prototyping, we will keep on refine the prototype until it satisfies our client and evolves into a final system. By using spiral model also, our final 27

system will has less risk or mistake because at iteration in refining a new prototype, the system will be assessed. 3.4 Research from Internet Internet is main source for us during our research and data gathering because it does not have any geographical or timing limitation. We can carry out the research anytime and anywhere we want as long as we are connected to the internet. However, the only disadvantage of using Internet or World Wide Web as resource is that we have to verify the trustworthiness of the sources of information that we get. Internet nowadays is flooded with information, both useful and useless information. So, it is our responsibility to filter the information that we get in order to guarantee the accuracy and correctness of our research. To achieve that, we have follow certain guidelines such as evaluate whether the author or sponsor group is listed, the electronic address of the source, reference/links used in the articles, balance and purpose of the article or other website. [Technical Writing] 3.5 Research from Books Books are used as our secondary source of information. The referred book can either be hard copy or soft copy (ebook). This source is especially important in looking for medical or general information ion dyslexia. 3.6 Research from Current Market We can get much information from current market research due to the reason that not much similar system is available in our country. Most of the methods used currently either involves sophisticated/high tech equipments or being applied manually (not 28

computerized). There is actually no standard method to assess the dyslexia. Most of the existing systems that we managed to get are from foreign countries. 3.7 Tools Selection 3.7.1 Why Use Visual Basic.NET Visual Basic.NET is chosen because it can used to produce standard Windows applications. Besides, typical structure of OOP such as inheritance, polymorphism and multithreading also supported by.net platform. The advantages of Visual Basic.NET is that all the coding will compile become as dll file which hidden from other user and programmer. In addition, all the application that developed through Visual Basic.NET will be able to run in any host machines. However, the host machines must be have.net redistributable installed on it. Other than these, Visual Basic 2005 features are powerful forms designer, an in-place menu editor, and automatic control anchoring and docking. So, it is able to build more robust applications rapidly. Significantly startup time reduction with improve integrated development environment (IDE). Apart from these, Visual Basic 2005 also offer the features as below: Improved Coding Powerful, Flexible, Simplified Data Access Fully Object-Oriented Constructs COM Interoperability Reuse Existing Investments Upgrade Wizard 3.7.2 Why Use Microsoft SQL Server 2005 29

Microsoft SQL Server is chosen because it can provide relational database power to manage information and a lot of other functionality. The strongest of Microsoft SQL Server is that it has SQL Server Management Studio. It is a management tools with the functionality to develop, deploy and troubleshoot SQL Server databases. Other than that, it is also user-friendly. In SQL Server, it has the views, security management and so on. Besides, Microsoft SQL Server also offers the following features as below: Database Mirroring It is a function that mirrors the current database to another one. So, the system will always availability if one of the database is down. Online Restore Database administrator can restore the databases even though an instance of SQL Server is running. Integration Services (SSIS) SQL Server Integration Services is a next generation data integration platform that can integrate data from any sources. Data Mining It is a tool that allows you to identify rules and patterns in yours data. So, you can determine why the things happen and what will happen in the future. 3.7.3 Why Use Adobe Photoshop Adobe Photoshop is chosen because it can create high quality image with significant new creative tools, workflow options and editing functions. Besides, it can support most of the images format such JPEG, GIF, BMP and so on. Photoshop is integrated with adjustments panel. This is simplifying image adjustment by easily accessing every tool needed to nondestructively adjust and enhance the color and tone of the images. 30

In addition, Adobe Photoshop also offers other features as below: Black-and-white Conversion Perspective-based editing Flexible Layers Quick Selection tool 31