Chapter 3 Technology adapted

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

Apache Jakarta Tomcat

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Modeling Web Applications Using Java And XML Related Technologies

Software Process and Models

1. Introduction 1.1 Methodology

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

Analysis and Comparative Study of Traditional and Web Information Systems Development Methodology (WISDM) Towards Web Development Applications

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

Chapter 1 The Systems Development Environment

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Logicify Fact Sheet. We bring logic to the software systems and development processes. We call this process to logicify.

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Systems Analysis and Design

NetBeans IDE Field Guide

Windows 2000 / NT 4.0 / 95 / 98, MS-DOS, Suse Operating Systems

CSI 2132 Lab 8. Outline. Web Programming JSP 23/03/2012

!! " "!! # $ % " & ' $ % (! %) * +, $ ( ) ' " -

How To Design An Information System

Unit 1 Learning Objectives

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Put a Firewall in Your JVM Securing Java Applications!

Chapter 3. Technology review Introduction

How to make a good Software Requirement Specification(SRS)

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

White Paper IT Methodology Overview & Context

Unit I. Introduction

Development Methodologies

Specialized Programme on Web Application Development using Open Source Tools

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

Application Development for Mobile and Ubiquitous Computing

Specialized Programme on Web Application Development using Open Source Tools

How To Understand The Software Process

How To Manage Your Digital Assets On A Computer Or Tablet Device

Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3>

CatDV Pro Workgroup Serve r

Software Development Life Cycle (SDLC)

Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT

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

Chap 1. Introduction to Software Architecture

Java/J2EE or Web Developer. Formal Education. Technical knowledge. Spoken Languages

The Rap on RUP : An Introduction to the Rational Unified Process

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

Information Technology Services

UBS Training Course Catalog

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

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

Professional Profile Studies Senior Engineer October September 1998 Computer Engineering University of Deusto - Bizkaia (Spain)

(Refer Slide Time: 01:52)

What is a life cycle model?

Integrating Online Banking and Top-up Card into Payment Gateway

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ Curt Hibbs <curt@hibbs.com>

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Ob j ect-oriented Project Management with UML

Software Development Methodologies

Redesigned Framework and Approach for IT Project Management

Chapter 1 System Development Environment

Release 1. ICAPRG604A Create cloud computing services

-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*

A Capability Maturity Model (CMM)

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

Test Cases Design for Software Database Provisioning Development

A Review of an MVC Framework based Software Development

CS4507 Advanced Software Engineering

JAVA/J2EE DEVELOPER RESUME

Java Application Developer Certificate Program Competencies

Equipment Room Database and Web-Based Inventory Management

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

Application Development Services for Cloud

Zeus Networks Company Portfolio

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Modern Software Development Tools on OpenVMS

Information systems modelling UML and service description languages

Sports Management Information Systems. Camilo Rostoker November 22, 2002

Migrating Applications From IBM WebSphere to Apache Tomcat

Virtual Credit Card Processing System

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

RUP for Software Development Projects

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

A Monitored Student Testing Application Using Cloud Computing

SBP is a software development outsourcing company, established in 2004, and headquartered in Bucharest, Romania.

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

Client/server is a network architecture that divides functions into client and server

Executive Summary. Within IT Services, Cosmic Creation spotlights on the following:-

Basic Unified Process: A Process for Small and Agile Projects

Software Design Models, Tools & Processes *

Project estimation with Use Case Points using Enterprise Architect (EA)

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

A review and analysis of technologies for developing web applications

I219 Software Design Methodology

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

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

Transcription:

Chapter 3 Technology adapted 3.1 Introduction In developing a web enabled solution for laboratory data and document management, there are several options available for system analysis and designing, documentation and the software development. 3.2 System Analysis and design System Analysis and designing can be done either with Structured Systems Analysis & Design Method (SSADM) or Unified Modeling Language (UML) modeling [3, 26]. Table 2: Comparison of SSADM and UML SSADM Data: Logical Data Model Class diagrams UML Events : Entity Life History Process: Data flow diagram Interfaces: Dialog design Quality: Requirement catalog Acceptability: Prototyping, study of system impact on the staff Organizational structure and policies: Project Initial Document Job satisfaction: Business system option User Involvement: Information gathering, testing Business Issues: Data Flow Diagrams, Entity Life History Interaction diagrams Activity diagrams Class and component diagrams Experimental/explorative prototype Prototyping Activity Diagram None Information gathering, testing Activity Diagram According to the above comparison, it is evident that the SSADM and UML are both effective in analysis and designing a system. However due to the academic interest, UML methodology was selected [27, 32]. 28

3.3 Rational Unified Processes Rational Unified Process (RUP) is an object-oriented program development methodology [48]. It provides comprehensive software engineering tools that combine the procedural aspects of development (such as defined stages, techniques, and practices) with other components of development (such as documents, models, manuals, code, and so on) within a unifying framework. RUP establishes four phases of development, each of which is organized into a number of separate iterations that must satisfy defined criteria before the next phase is undertaken: in the inception phase, developers define the scope of the project and its business case; in the elaboration phase, developers analyze the project's needs in greater detail and define its architectural foundation; in the construction phase, developers create the application design and source code; and in the transition phase, developers deliver the system to users. RUP provides a prototype at the completion of each iteration. Rational Unified documentation was used in the project in appropriate circumstances. 3.4 Software development methodologies Following software development methodologies were reviewed during the development process [40]. Waterfall model: This waterfall model is an approach to development that emphasizes completing a phase of the development before proceeding to the next phase. In conjunction with certain phase completions, a baseline is established that freezes the products of the development at that point. If a need is identified to change these products, a formal change process is followed to make the change. The major weakness of the Waterfall Model is that after project requirements are gathered in the first phase, there is no formal way to make changes to the project as requirements change or more information becomes available to the project team. Because requirements almost always change during long development cycles, often the product that is implemented at the end of the process is obsolete as it goes into production. 29

Spiral Model: In the Spiral SDLC Model, the development team starts with a small set of requirements and goes through each development phase (except Installation and Maintenance) for those set of requirements. Based on lesson learned from the initial iteration (via a risk analysis process), the development team adds functionality for additional requirements in ever-increasing "spirals" until the application is ready for the Installation and Maintenance phase (production). Each of the iterations prior to the production version is a prototype of the application. The advantage of the Spiral Model over the Waterfall Model is that the iterative approach allows development to begin even when all the system requirements are not known or understood by the development team. As each prototype is tested, user feedback is used to make sure the project is on track. The risk analysis step provides a formal method to ensure the project stays on track even if requirements do change. If new techniques or business requirements make the project unnecessary, it can be canceled before too many resources are wasted. Rapid Prototyping: Rapid Application Development (RAD) was introduced as a better way to add functionality to an application. The main new tenant of RAD compared to older models is the use of prototypes. After a quick requirements gathering phase, a prototype application is built and presented to the application users. Feedback from the user provides a loop to improve or add functionality to the application. Early RAD models did not involve the use of real data in the prototype, but new RAD implementations do use real data. The advantage of Rapid Prototyping Models is that time-to-market is greatly reduced. Rapid Prototyping skips many of the steps in traditional models in favor of fast and low-cost software development. The idea is that application software is a "throw-away." If a new version of the software is needed, it is developed from scratch using the newest RAD techniques and tools [29]. According to the user requirement of having several prototypes and few unclear user 30

requirements, spiral (iterative) development model was followed with the help of prototypes. 3.5 Web and Database technologies Since the system is designed to develop as a web enabled system, there are two web server technologies which can be used for the proposed system. Those are Apache HTTP web server and Apache Tomcat web server [8]. Both of these server solutions are of free and open source. So it may not hinder the open source distribution of the proposed software. Similarly both of these servers will function equally with MySQL open source database engine [35]. Since web development language selected was PHP (see below), accordingly the web severer selected was Apache HTTP server. 3.5.1 Web development languages Web development options considered are PHP and Java (JSP and Servlets). ASP was not considered since it is a proprietary development solution [49, 33]. Table 3: Comparison of web development languages Feature JSP PHP Programming Approach Completely object oriented Scripting with object oriented support String and data manipulation Rich library, too much descriptive and object oriented code Web Oriented features 1. Includes 2. Mails 3. File Uploads 4. Form Handling 5. Sessions Almost everything is built in or supported by libraries. Complicated and too much of code. Rich functionality. Functional and easy coding. Inbuilt functionality. Easy to use functions, written for the specific tasks 31

Database Access features Extensibility Standard JDBC structure/ Use EJB/ Struts framework built over JDBC. Descriptive and too much overhead or boiler plate code involved. Uses the same API for all databases using JDBC driver Java Classes and Libraries. Runs in sandbox and hard JNI approach needed to integrate with server programs Dynamic Graphics/PDF Almost everything has a ready made library Web Services/SOAP Add-on Libraries like Axis, JAX-WS, etc. Dedicated inbuilt libraries for most of the commonly used databases. Very tight integration with MySQL and PostGRESQL. The libraries and results are straight forward and easy to use. PHP can very easily interact with programs on the server. Very good support for native code. Supported internally or though libraries. In Built(or NuSOAP) Since the both solutions are open source, PHP was selected as it is more flexible and time saving solution [44, 45]. 3.6 Client side form processing and data validation Client side data validation and form processing can minimize the workload on the server machine. This can improve the response time and save the band width of the LAN or internet. Java Script will be the suitable method for the client side data validation process. Summary For the purpose of system development, many software development process models, web server technologies and languages were considered. According to the requirements of the domain specialist and the time available for the development task, set of suitable models, technologies and languages were selected. Chapter 4 will show the how the decision was made among these choices. 32