How To Design An Information System

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

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

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

What is a life cycle model?

Software Development Life Cycle

Chapter 13: Program Development and Programming Languages

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

Test Cases Design for Software Database Provisioning Development

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

2. Analysis, Design and Implementation

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

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

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

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

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Chap 1. Introduction to Software Architecture

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

Analysis and Design with UML

UML SUPPORTED SOFTWARE DESIGN

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

How To Model Software Development Life Cycle Models

BPMN Business Process Modeling Notation

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Classical Software Life Cycle Models

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

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

SOFTWARE PROCESS MODELS

Chapter 3 Methodology

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

A Survey of Software Development Process Models in Software Engineering

Software Engineering Question Bank

Testing Lifecycle: Don t be a fool, use a proper tool.

An Easier Way for Cross-Platform Data Acquisition Application Development

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

Software Process and Models

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

Plan-Driven Methodologies

Chapter 13: Program Development and Programming Languages

Object Oriented Programming. Risk Management

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

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

CS4507 Advanced Software Engineering

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

zen Platform technical white paper

Quick Guide Business Process Modeling Notation (BPMN)

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

Chapter 3 Technology adapted

Visual Paradigm product adoption roadmap

Software Engineering. What is a system?

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

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

A UML Introduction Tutorial

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Student Attendance Through Mobile Devices

1. Introduction 1.1 Methodology

IV. Software Lifecycles

Chapter 3. Technology review Introduction

VAIL-Plant Asset Integrity Management System. Software Development Process

2. Analysis, Design and Implementation

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

INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0

The usage of system testing for information and control systems

Business Analysis From Yes-M Systems LLC Length: Approx 7 weeks/55 hours Audience: Students with or without IT experience or knowledge Student

Chapter 8 Approaches to System Development

Introduction to Systems Analysis and Design

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Eclipse BPMN Modeler Introducing Intalio Designer

Design by Contract beyond class modelling

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

A Methodology for the Development of New Telecommunications Services

COURSE TITLE: (OLS 207) INFORMATION SYSTEMS ANALYSIS, DESIGN AND EVALUATION

RUP for Software Development Projects

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

The Business Process Model

A Review of an MVC Framework based Software Development

Evolving a Ultra-Flow Software Development Life Cycle Model

Karunya University Dept. of Information Technology

Exercises Engenharia de Software (cod & 6633 )

The BPM to UML activity diagram transformation using XSLT

Software Process for QA

A Monitored Student Testing Application Using Cloud Computing

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

SCREAM (SCRUM TEAM MANAGEMENT TOOL)

Programming and Software Development CTAG Alignments

Software Design Models, Tools & Processes *

A Comparison between Five Models of Software Engineering

Foundations for Systems Development

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

Benefits of Test Automation for Agile Testing

Application of UML in Real-Time Embedded Systems

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios

Development Methodologies

Application of software product quality international standards through software development life cycle

Unit I. Introduction

Basic Unified Process: A Process for Small and Agile Projects

Software Project Models

Transcription:

Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917 24, Slovakia Tel: +421 902 162 853, Email: marcelmelis11@gmail.com Abstract: This techreport handles design of information system for needs of small company producing and mounting plastic windows. In the first part of the work, business processes by means of BPMN modelling are described and catalogue user requirements are created. All the UML diagrams are created by Eclipse tool IDE. Next part of this report includes data analysis, data model and databases creation. After data model had been created, SQL script was generated and database created. Design utilizes PostregreSQL database. Report continues by designing the application program interface and by partial implementation. To create applications, I have used JAVA programming language. Conclusion includes testing of created applications and basic project documentation. Keywords: Information system, BPMN diagrams, UML diagrams, Partial implementation. 1. Introduction Human society is more and more influenced by information technology. Information technology usage is becoming more complex over time and putting a stronger emphasis on storing, searching and displaying the information. Software products are basic elements of computing utilization and information technology in general covering already mentioned functions. Such a systems are called information systems. The object of my diploma thesis is to elaborate proposals for information system to support production and mount of plastic windows and do a partial implementation. I had created a model of business process using the BPMN (Business Process Model and Notation) and elaborated the catalogue of user requirements. Then, I have continued by description of the target areas and elaborated complete system design based on catalogue of user requirements using UML. Posterior part of my diploma thesis are dedicated to data analysis and data model creation that are required to built the information system database. For database implementation, I have used PostgreSQL version 9.0. -1-

Once database is created, selected parts of the information system are partially implemented by chosen programming language. By the end of thesis developed application is examined and basic documentation is elaborated. 2. Objectives The main objective of the work is to complete UML design and do a partial implementation of information system. The thesis is divided into five chapters which need to be elaborated. Diploma thesis can be decomposed as follows: 1. Create model of business process in BPMN and consequently specifies catalogue of user requirements. 2. Execute the analysis of target area and create model of system utilizing the UML. 3. Execute data analysis and create database for information system. 4. Design user interface and partially implement application in chosen development language. 5. Test developed application and elaborate system documentation. 3. Software development process The software project usually starts from the problem and an idea of the solution of this problem with the computer system. People who have the problem and idea (the customers) submit their needs to the software developers. The developers try to satisfy the requirements building a computer application with some IDE (Integrated Development Environment). With IDE they write the program, build its user interface and debug it (remove the errors). This approach, called RAD (Rapid Application Development), can be used only in very small software applications. In a medium or large scale of applications the effect of the RAD approach can be a prototype of software. Customers seeing a prototype can assume they will get a ready to use version in a short time, but it is a false conviction. It is easy to fulfil some or even most of the customers requirements, but it is hard to satisfy all of them. Software development is a very comprehensive process consisting of several stages (or phases) and a large number of activities. Many kinds of developers are involved: managers, analysers, designers, programmers, testers, the graphic artists and the documentation writers. There are many approaches to this process, called also models of the software process.[1] 3.1 Classic waterfall model Classic software development process consists of several stages. As the results of each stage is used in the next stage, it is called the waterfall model. There are six stages in the modern waterfall model, but some authors state there are five joining planning with analysis or analysis with design. Others divide design phase into architectural design and detail design. The classic waterfall model has been criticized because -2-

of its rigidity. First, it takes a long time to pass through the early stages to the implementation. Second, the requirements specification is often incomplete. Third, if in the testing phase some design or even analysis errors are discovered, then the schedule is broken by the necessity to get back to the early stages.[1] 3.2 Spiral model Fig.1 The waterfall model of the software development process More flexible model is called the spiral model or the iterative or incremental development. It is presumed that not all the requirements are specified and not all the functions will be implemented in the first version (prototype) of the software, but there will be two or even more versions and the system functionality will increment from one version to another. One process iteration consist of the four phases.[1] Fig.2 The spiral model of the software development The iterative development has large advantages over the classic one: for the customers it is easier to express their needs seeing the prototype of the software and for the developers it is easier to follow the changes of requirements. This method is less risky than the classic one because the risk is divided into several iterations. The disadvantage is the need of hiring the expert for the risk analysis. The iterative -3-

approach to development may effect with a non-optimal solution which become from the decisions made in the early versions with incomplete information about customers' needs. Also there is a potential threat that the software will be continuously in a prototype stage and even the ready-for-sale version will have some serious errors or incompleteness. [1] 4. Modelling methods In design phase of software creation the different modelling methods are used. In the process of designing my information system I preferred BPMN and UML visual languages. The whole process is described in the next parts. 4.1 UML UML (Unified Modelling Language) is an object-oriented analysis and design language defined by the Object Management Group (OMG). UML is used in the software engineering field and describes a programming language used as a graphical designation to create an abstract model that can be used in a system (UML model). UML is primarily used to construct software intensive systems. In today s information technology industry, the need for efficiency and rapid software development in short periods of time has become a programmer s main challenge. Building complex software applications is a difficult process and learning and utilizing UML assists the developer in seeing these processes through. UML supports twelve diagramming methods including structural (class, object, component, deployment), behavioural (case, sequence, activity, collaboration, state chart) and model management (incorporating packages, subsystems and models).[2] 4.2 BPMN The Business Process Modelling Notation (BPMN) is a standard for business process modelling, and provides a graphical notation for specifying business processes in a Business Process Diagram (BPD), based on a flowcharting technique very similar to activity diagrams from Unified Modelling Language (UML). The objective of BPMN is to support business process management for both technical users and business users by providing a notation that is intuitive to business users yet able to represent complex process semantics. The BPMN specification also provides a mapping between the graphics of the notation to the underlying constructs of execution languages, particularly Business Process Execution Language. The primary goal of BPMN is to provide a standard notation that is readily understandable by all business stakeholders. These business stakeholders include the business analysts who create and refine the processes, the technical developers responsible for implementing the processes, and the business managers who monitor and manage the processes. Consequently, BPMN is intended to serve as common language to -4-

bridge the communication gap that frequently occurs between business process design and implementation.[3] 5. Developments Before the creating of information system I had to decide for method of software development. Finally, I chose the spiral model for its advantages. Further in this report, particular stages of development are described. 5.1 Analyse This part includes description of target area, creation of user requirements and business process modelling. My information system is targeted for small company producing and mounting the plastic windows. The company employs approximately 20 employees and it is residing in one building where the production and administration is situated. Company has 5 subsidiary stores. Company had required a cheap information system so I decided to choose open source solutions. Specifically, PostgreSQL database server and NetBeans IDE. System is operated by five unique types of users while every user obtains different level of authorisation. All specifications are elaborated in the list of user requirements. I have elaborated several BPMN models for better description of business process in company. All BPMN models have been created in Eclipse modelling plug-in. For illustration purposes I chose the most valuable BPMN model (shown in figure 3). Fig.3 Offer creation (BPMN). -5-

5.2 Design In this part I have created the graphical design of information system. I used object-oriented UML modelling. Every UML diagrams were created in Eclipse UML modelling plug-in. I created use case diagrams, class diagram, activity diagrams, sequence diagrams and state machine diagrams. For illustration purposes I chose top level use case diagram and class diagram. Fig.4 Top level use case diagram. Fig. 5 Class diagram. -6-

After UML modelling I continued with data model creation. Data model is developed out of mapping classes from class diagram. Then, data model is used for SQL script generation. 5.3 Implementation At the beginning of this part I am going to create database in PostgreSQL 9.0 database server from SQL script. At first, I am going to repopulate the tables with random information from defined boundaries. After that I will choose one part of the information system and implement it. It is requisite that application is well connected to database server. First step of application implementation will be the design of user interface. The user interface has to be simple, transparent and easy to use. Application will be developed in Java programming language using the NetBeans IDE. Because, I have not started to work out this chapter yet, all used pictures are illustrative. 5.4 Testing Fig.6 Example of java user interface Testing is the vital part of application development and therefore it needs to be tested during the process. Software has to fulfil conditions of verification and validation. I will use static and dynamic tests to testing my software. After that, I will give this application for testing to another person. It is better when tested application is evaluated by -7-

someone who is apart of development process. After the application is tested, system documentation will be elaborated. 6. Conclusions Total costs are the top priority for process of information system design. That is the major reason for using the free available development tools. I have proceeded similarly in the selection of database server while priorities were price and hardware requirements. After I had chosen all tools needed to creation and development of my information system, I started with design. The design proposal was elaborated according to spiral model methodology of software development. To completely describe the business process I have used BPMN modelling while to support of further development process I have used UML modelling. Because the application is programmed in Java, it is easily to portable to all operating systems that supports JVM. Application is going to be partially implemented which means that it will not be used in production environment. After the implementation is complete, application can be engaged in testing environment. References [1] Software development process, available on internet <http://lib.bioinfo.pl/courses/view/229> [2]Unified Modelling Language, available on internet <http://www.exforsys.com/tutorials/uml.html> [3]Business process model and notation, available on internet <http://en.wikipedia.org/wiki/business_process_modeling_notation> -8-