SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization
|
|
- Junior Sutton
- 8 years ago
- Views:
Transcription
1 SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization Samir Tartir Department of Computer Science University of Georgia Athens, Georgia USA ABSTRACT: A major problem in software maintenance is the lack of a well-documented source code in software applications. This has led to serious difficulties in software maintenance and evolution. In particular, for those developers who are faced with the task of fixing or modifying a piece of code they never even knew existed before. Database triggers and procedures are parts of almost every application, are typical examples of badly documented software components being the hidden back end of software applications. Source code visualization is one of the heavily used techniques in the literature so as to familiarize software developers with new source code, and compensate for the knowledge-sharing problem. Therefore, a new PL/SQL flowcharting reverse engineering tool, SQLFlow, has been designed and developed. SQLFlow is a three tiers architecture tool that dominates over the currently available flowcharting tools by its powerful multi-diagrammatic and source code metrics extraction capabilities. Finally, future work is planned to integrate SQLFlow with the UML modelling standards in the software industry. KEYWORDS: PL/SQL, Flowchart, Reverse engineering, legacy systems. 1. INTRODUCTION Databases (DBs) form a part of almost every computer application that is currently in use [11]. A huge effort is usually put in designing and building a database and its underlying stored packages, procedures, and triggers. As a part of a larger system, databases usually are called the "back end" of the system, and this has usually led to not paying enough attention to document code that is stored within, contrary to code of a the "front end" which is usually better documented [10]. In many cases, there is no documentation of the project source code and the people who originally wrote the code no longer work with the company. This situation might cause problems for programmers who are faced with the task of fixing or modifying a database code they never even knew existed before. The results of such a situation may be the introduction of more problems than the ones that were intended to fix, or Ayman Issa University of the West of England (UWE), Coldharbour Lane, Frenchay, Bristol BS16 1QY United Kingdom Ayman2.Issa@uwe.ac.uk introducing new problems to other code that was perfectly working before. Therefore, educating programmers about the behaviors of the target code before start modifying it is not an easy task. Source code visualization is one of the heavily used techniques in the literature to overcome this lack of documentation problem, and its consequent knowledge-sharing problem [7, 9]. Therefore, this research aims at investigating the current database source code visualization tools and identifying the main open issues for research. Consequently, the mostly used PL/SQL database programming language has been selected for a flowcharting reverse engineering prototype tool called "SQLFlow". SQLFlow has been designed, implemented, and tested to parse the target PL/SQL code stored in database procedures, analyze its structure, and render its flow in a visual flowchart. Section 2 presents a brief summary for the most wellknown flowcharting tools. Section 3 discusses the high level architecture and the underlying components of SQLFlow. Section 4 contrasts the features of SQLFlow against the available literature. The validation and verification of SQLFlow is detailed in section 5. Finally, an evaluation including an outline of future research work is presented in section COMMERCIAL FLOWCHARTING TOOLS On the professional level, code visual to flowchart and Visutin [1, 3] are the most well known and commonly used commercial flowcharting tools in the literature. Both tools are so powerful to support source code visualization of several programming languages such as: C, C++, C#, VB, Java, and much more. But, they also share the same limitation of supporting very small number of DB scripting languages compared to the supported number of high level programming languages. The underlying operational principle of both tools is identical. They rely on the system user to define the physical location of the target source code to analyze and visualize. However, they differ in the way they present their output and how they integrate with other external systems such as: VISIO and MS Word [1, 3]. In that, Visutin seems to show more powerful integration with external systems. 1
2 Unfortunately, both tools concentrate on flowcharting program visualization and ignore the other useful diagrams that might be of interest to the users in the different stages of the software development life cycle (SDLC). Moreover, they also discard the role of several complexity metrics that could be extracted from the source code, which are highly beneficial to the different stakeholders in the different stages of the SDLC. On the other hand, several academic attempts [7] have been cited in the literature as prototyping tools to support more types of diagrams, but not metrics. Kita et al. [7] is a typical example for a prototype tool that that aims at educating Java novice programmers by generating flow charts and paths for their target Java files. This raises the flag for an urgent need for a new source code visualization tool that overcome the above major drawbacks of the most well known flowcharting tools. Correspondingly, SQLFlow has been designed to not only generate the flow chart of the target Oracle PL/SQL source code, but also the Flow graph. In addition, several metrics are now extracted from the source code to facilitate the subsequent analysis and testing phases. 3. SYSTEM ARCHITECTURE AND COMPONENTS SQLFlow is a light weight MS Visual Basic 6.0 tool designed to read an input file stored from an Oracle PL/SQL database procedure and generate the corresponding flowchart and flow graph that reflect its operational flow. A model-view-controller (MVC) three-tier architecture [10] has been adopted in SQLFlow implementation to separate the concerns of the different system components. The first tier, the view tier, is represented by a graphical user interface (GUI) Builder component that is responsible on analyzing the results of parsing the source code and generating the corresponding diagrams. The middle tier, the controller tier, holds the parsing and analyzing business logic component. And, the last tier, the persistence model tier, is represented by the file management component. Figure 1 depicts the visual view of the system architecture. Sections 3.1 and 3.2 discuss the details of the controller and view components, respectively. 3.1 SOURCE CODE PARSING COMPONENT Figure 1: SQLFlow Architecture. The main responsibility of the parser is to find the lexical tokens of the source code and identify the tokens that will change the flow of control. Therefore, it goes through the input PL/SQL source code file, line by line, and identifies the keywords that will determine its execution flow. For example, it will recognize a "Begin" keyword, as a start of a new bock. On the other hand, finding an "If" statement will start a branching statement that should be closed by an "End If" or "Else" keyword. Currently, there are three types of control flow statements; sequential, conditions and repetition. While accessing each token, the parser dynamically involves the GUI builder component that will handle any requirements to reflect the token's action on the chart. Figure 2 presents the pseudo code of the parser s component workflow. For each line in the input file Read current word; Case Word Case "--": single-line: ignore; Case "/*": multiple-line comment: find closing and ignore; Case "BEGIN": Signal a new program Case "DECLARE": ignore and step to the next "Begin"; Case "EXCEPTION": Signal an exception Case "ELSE": Signal else; Case "IF": Find the corresponding "THEN" and signal "IF" Case "LOOP": Signal "LOOP" Case "FOR": Find the corresponding "LOOP" statement and signal a "FOR" Case "WHILE": Find the corresponding "LOOP" statement and signal a "WHILE" Case "END": Get next word Case ";": Close last "BEGIN" Case "LOOP": Close last "LOOP, FOR, or WHILE" Case "IF": Close last "IF" Case "WHEN": Find the corresponding "THEN" and Signal a "WHEN" Case "RAISE": find the corresponding ";" and signal a statement; Otherwise: "one-word;", "SQL", "oneword...;", or...:=...;": Get next word: Case SQL: SQL Statement: find corresponding ";" and signal statement; Case Assignment: Assignment statement: Signal assignment statement; Otherwise: Procedure call: Signal procedure call statement; Figure 2: Parser Component Pseudo Code. 2
3 3.2 GUI BUILDER COMPONENT The main responsibility of the GUI builder component is to handle the actual generation of the flowchart and flow graph diagrams. It "listens" to signals by the parser, and processes each signal appropriately to draw the correct shapes to reflect the actions of the signal. For example, if the signal was for a loop, the drawer will draw the loop parallelogram shape and will keep a note of an open loop that needs an "end loop;" statement to close it. Figure 3 summarizes the parser signals caught by the GUI builder and its corresponding reaction. Hence, the GUI Builder builds the required diagrams dynamically by showing each shape that is being added to the diagram. This makes it easier to follow the progress of the parsing process and trace the generated diagrams to its source code fragment. 4. SQLFLOW VALIDATION AND EVALUATION Several DB applications have been targeted to validate and verify SQLFlow. An iterative validation and verification process has been adopted to evaluate the generated flowcharts, flow graphs, and source code metrics. The intention is to prioritize SQLFlow functionalities and get the core functionality, source code parsing and analyzing, delivered earlier. Then, the other supportive functionalities, GUI and file management, are delivered in subsequent iterations. Further, focusing on validating and verifying one component at a time had resulted in cleaner and more structured source code to facilitate future reusing and integration with other systems. On the other hand, earlier iterations functionalities tend to receive more testing with every new system version [5]. Figures 4, 5, and 6 present a sample PL/SQL source code, and its corresponding flowchart, and flow graph, respectively, generated using SQLFlow. The top right corner of the flowchart and flow graph diagrams is allocated for the resulting source code metrics. The flowchart related metrics [4] are: maximum nesting depth, total number of SQL statements, total number of conditional statements, and total number of repetition statements. On the other hand, the flow graph metrics are: cyclomatic complexity [8], number of regions, and number of predicates. A typical SDLC consists of 5 main phases: requirements analysis, design, implementation, testing, and deployment. The objective of the extracted source code metrics is to be used as a historical data to guide and inform current and future software development projects. Current projects could utilize the extracted metrics, e.g. cyclomatic complexity, conditional statements, etc, to inform the upcoming testing, deployment, and maintenance phases; while future projects could combine the extracted metrics with effort and productivity information to be reused in estimating new software development projects. "BEGIN": Draw a rectangle with the word "Begin". "EXCEPTION": Draw a rectangle with the word "Exception". "IF": Draw a diamond containing the "ELSE": Draw another branch for the last "IF" diamond and move drawing to that branch. "LOOP": Draw a parallelogram with the word "Loop". "FOR": Draw a parallelogram with the loop "WHILE": Draw a parallelogram with the loop "END": Draw a rectangle that closes the last "BEGIN" and draw a line between the "BEGIN" and "END" rectangles. "END LOOP": Draw a rectangle that closes the last "LOOP" and draw a line between the "LOOP" parallelogram and the "END" rectangle. "END IF": Draw a rectangle that closes the last "IF" and draw a line between the "IF" diamond and the "END" rectangle. "WHEN": Draw a diamond containing the "RAISE": Draw a rectangle with the raise statement. "SQL": Draw a rectangle with the SQL statement. "Assignment": Draw a rectangle with the assignment statement. "CALL": Draw a rectangle with the call. Figure 3: GUI Builder Caught Signals and itscorresponding Reaction. 5. SQLFLOW FEATURES COMPARISON Comparing SQLFlow features to the available commercial and academic flowcharting tools [1, 3, 7]; it has been found that SQLFlow dominates over them from different perspectives. In particular, the multidiagrammatic and metrics extraction appear to be unique in SQLFlow. However, further development is needed to extend SQLFlow scalability to consider large volumes DB triggers and procedures. Table 1 summarizes the 3
4 results of contrasting the different flowcharting tools with SQLFlow. declare a number; b number; c number; d number; e number; f number; g number; h number; i number; j number; begin Proc1;Proc2(a, b, c); raise form_trigger_failure; if a=1 or(b=2 and(c=3 and(d=4 or(e=5 and f=6)or g=7)and h=8)or(i=9 and j=10)) then message('condition met'); else message('condition Failed'); end if; FOR K IN LOOP MESSAGE(I); END LOOP; end; Figure 4: Sample PL/SQL Source Code. Figure 6: Sample PL/SQL Source Code Flow Graph. Table 1: Flowcharting Tools Features Comparison. Feature Code visual to Visutin SQLFlow flowchart Support Function and No Yes Yes Procedure Call Provide Source No No Yes Code Metrics Support Error No No Yes Detection Operating System No Yes Yes Limitations Performance High High High Generated Diagrams High High High Clarity Support Multiple Diagrams Generation No No Yes 6. CONCLUSION AND FUTURE WORK A new PL/SQL flowcharting tool, SQLFlow, has been design, built, and presented. It aims at facilitating the process of knowledge sharing between the different software development team members. On the other hand, it eases the burden of understanding and maintaining the existing legacy systems. Figure 5: PL/SQL Source Code Sample Flowchart. SQLFlow is a light weight three-tier architecture tool that separates the concerns of the embodied diverse components. Contrasting SQLFlow against other professional and academic flowcharting tools, it has been concluded that SQLFlow dominates over them by its powerful multi-diagrammatic and metrics extraction features. However, further development is needed to extend SQLFlow scalability. 4
5 Future work is planned to upgrade SQLFlow to visualize the source code using the standard UML [2] activity diagrams. This paves the way to integrate SQLFlow into a UML design tool, such as rational rose, making the PL/SQL code a part of the formal model of the application. Finally, applying SQLFlow to several legacy DB systems will result in building large volume multi-purpose software metrics repository that could be utilized to inform the diverse SDLC phases [6], e.g. cost estimation and planning phase, of prospective software development projects. 7. ACKNOWLEDGEMENT Samir Tartir would like to express his gratitude to Prof. Talib Al-Sari for his useful feedback during SQLFlow development. REFERENCES [1] Aivosto, (2003). Visustin Flow Chart Generator [online]. Aivosto.com. Available from: [Accessed ]. [2] Booch, G., Rumbaugh, J. and Jacobson, I., (1999). The Unified Modeling Language User Guide. Reading, Mass. Harlow: Addison-Wesley. [3] Fatesoft (1997). Code Visual to Flowchart [online]. USA: Available from: [Accessed ]. [4] Fenton, N. and Neil, M., (2000). Software Metrics:Roadmap in International Conference on Software Engineering New York, NY, USA ACM Press, pp [5] Harrold, M., (2000). Testing:a Roadmap in International Conference on Software Engineering New York, NY, USA IEEE-CS: Computer Society, pp [6] Issa, A., Odeh, M., and Coward, D., (2005). Using Use Case Models to Generate Object Points. in Kokol, P. Proceedings of the IASTED International Conference on Software Engineering Austria. ACTA Press, pp [7] Kita, Y. Kawasoe T. Katayama T., (2005). Prototype Of An Automatic Visualization Tool For Java To Educate Novice Programmers in Kokol, P. Proceedings of the IASTED International Conference on Software Engineering Austria. ACTA Press, pp [8] McCABE, T., (1976). A Complexity Measure IEEE Transactions on Software Engineering, 2 (4), pp [9] Quatrani, T., (2000). Visual Modeling With Rational Rose 2000 and UML. Rev. ed. Boston, Mass. London: Addison Wesley. [10] Sommerville, I., (2001). Software Engineering. 6th ed. Harlow, England ; New York : Addison- Wesley. [11] Sommerville, Ian and Kotonya, Gerald, (1998). Requirements Engineering: Processes and Techniques. Chichester, New York : J. Wiley. 5
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, rob@cl.uh.edu ABSTRACT In recent years, there has been a surge of
More informationI219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
More informationSoftware Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
More informationClassical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
More informationDevelopment models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
More informationAdvancements in the V-Model
Advancements in the V-Model Sonali Mathur Asst. Professor, CSE Dept. ABES Institute of Technology Ghaziabad, U.P-201009 Shaily Malik Lecturer, CSE Dept. Maharaja Surajmal Institute of Tech. Janakpuri,
More informationEVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE
International Journal of Soft Computing, Mathematics and Control (IJSCMC),Vol., No.1, February 1 EVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE Mohammed Alnajjar 1, Prof. Samy S. Abu Naser 1 Faculty
More informationA Survey of Software Development Process Models in Software Engineering
, pp. 55-70 http://dx.doi.org/10.14257/ijseia.2015.9.11.05 A Survey of Software Development Process Models in Software Engineering Iqbal H. Sarker 1, Faisal Faruque 1, Ujjal Hossen 2 and Atikur Rahman
More informationNet Developer Role Description Responsibilities Qualifications
Net Developer We are seeking a skilled ASP.NET/VB.NET developer with a background in building scalable, predictable, high-quality and high-performance web applications on the Microsoft technology stack.
More informationTRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
More informationVISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
More informationUML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior
UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior by Ben Lieberman Senior Software Architect Blueprint Technologies The core purpose of software development is to provide solutions
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationHow They Do It in Switzerland Outsource the Code, Insource the Quality
McCabe IQ Analyzes and Visualizes Software Quality in Critical International Financial Systems Introduction This paper examines how a major Swiss financial services company analyzes and monitors the quality
More informationAn Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract
75 Electronic Commerce Studies Vol. 2, No.1, Spring 2004 Page 75-94 An Object-Oriented Analysis Method for Customer Relationship Management Information Systems Jyh-Jong Lin Chaoyang University of Technology
More informationTraceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
More informationFrom Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
More informationThe Unified Software Development Process
The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:
More informationA Review of an MVC Framework based Software Development
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
More informationModeling Web Applications Using Java And XML Related Technologies
Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik
More informationA Monitored Student Testing Application Using Cloud Computing
A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA r.mullapudi@spartans.nsu.edu, ghsieh@nsu.edu
More informationTeaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education
Teaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education M. Brian Blake and Todd Cornett Department of Computer Science Georgetown University Washington,
More informationInformation systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
More informationAutomated Test Approach for Web Based Software
Automated Test Approach for Web Based Software Indrajit Pan 1, Subhamita Mukherjee 2 1 Dept. of Information Technology, RCCIIT, Kolkata 700 015, W.B., India 2 Dept. of Information Technology, Techno India,
More informationVerification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research christina.wallin@mdh.se
More informationA Framework for Developing the Web-based Data Integration Tool for Web-Oriented Data Warehousing
A Framework for Developing the Web-based Integration Tool for Web-Oriented Warehousing PATRAVADEE VONGSUMEDH School of Science and Technology Bangkok University Rama IV road, Klong-Toey, BKK, 10110, THAILAND
More informationChapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
More informationCase Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
More informationUmbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
More informationAgile Modeling: A Brief Overview
Agile Modeling: A Brief Overview Scott W. Ambler President, Ronin International scott.ambler@ronin-intl.com Abstract: Agile Modeling (AM) is a practice-based methodology for effective modeling of software-based
More informationSOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
More informationPHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN
PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN Chanchai Supaartagorn Department of Mathematics Statistics and Computer, Faculty of Science, Ubon Ratchathani University, Thailand scchansu@ubu.ac.th
More informationUNIFACE Component-based. Development Methodology UNIFACE V7.2. 151157206-00 Revision 0 Dec 2000 UMET
UNIFACE Component-based Development Methodology UNIFACE V7.2 151157206-00 Revision 0 Dec 2000 UMET UNIFACE Component-based Development Methodology Revision 0 Restricted Rights Notice This document and
More informationRecovering Business Rules from Legacy Source Code for System Modernization
Recovering Business Rules from Legacy Source Code for System Modernization Erik Putrycz, Ph.D. Anatol W. Kark Software Engineering Group National Research Council, Canada Introduction Legacy software 000009*
More informationSOFTWARE REQUIREMENTS
SOFTWARE REQUIREMENTS http://www.tutorialspoint.com/software_engineering/software_requirements.htm Copyright tutorialspoint.com The software requirements are description of features and functionalities
More informationTOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationAspect Oriented Strategy to model the Examination Management Systems
Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of
More informationInternational Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise
More information應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle
The Second Management Innovation and Practices Conference, Tamsui, Taiwan, April 2001,Volume 2, pp59-68 應 用 測 試 於 軟 體 發 展 生 命 週 期 Testing In The Software Development Life Cycle 蔡 博 元 莊 立 文 真 理 大 學 資 訊
More informationTHE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL
THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL Dominic O' Sullivan Department of Civil & Environmental Engineering National University of Ireland, Cork. Dr. Marcus
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More informationfeature model-driven development Test-Driven Modeling for Model-Driven Development
feature model-driven development Test-Driven Modeling for Model-Driven Development Yuefeng Zhang, Motorola Extreme Programming is a code-centric, lightweight software development process. 1 3 One of XP
More informationImprovement of Software Quality and Productivity Using Development Tools
Improvement of Software Quality and Productivity Using Development Tools V Hideo Abotani V Tomoki Shiratori V Kouji Sasaki V Masaki Tonomura (Manuscript received March 24, 2006) Information systems, which
More informationAbstract. 1 Introduction
Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both
More informationHow To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
More informationPerforming Early Feasibility Studies of Software Development Projects Using Business Process Models
Performing Early Feasibility Studies of Software Development Projects Using Business Process Models Ayman A. Issa, Faisal A. Abu Rub ABSTRACT A new approach to perform feasibility studies using business
More informationDifferent Approaches to White Box Testing Technique for Finding Errors
Different Approaches to White Box Testing Technique for Finding Errors Mohd. Ehmer Khan Department of Information Technology Al Musanna College of Technology, Sultanate of Oman ehmerkhan@gmail.com Abstract
More informationBPMN by example. Bizagi Suite. Copyright 2014 Bizagi
BPMN by example Bizagi Suite Recruitment and Selection 1 Table of Contents Scope... 2 BPMN 2.0 Business Process Modeling Notation... 2 Why Is It Important To Model With Bpmn?... 2 Introduction to BPMN...
More informationAgile Techniques for Object Databases
db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and
More informationSECTION 2 PROGRAMMING & DEVELOPMENT
Page 1 SECTION 2 PROGRAMMING & DEVELOPMENT DEVELOPMENT METHODOLOGY THE WATERFALL APPROACH The Waterfall model of software development is a top-down, sequential approach to the design, development, testing
More informationSystematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
More informationSwirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997
1 Swirl Multiplayer Gaming Simplified CS4512 Systems Analysis and Design Assignment 1 2010 Marque Browne 0814547 Manuel Honegger - 0837997 Kieran O' Brien 0866946 2 BLANK MARKING SCHEME 3 TABLE OF CONTENTS
More informationCS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
More informationSoftware Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
More informationPROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: bednar@fit.vutbr.cz Supervised by:
More informationA Database Re-engineering Workbench
A Database Re-engineering Workbench A project proposal by Anmol Sharma Abstract Data is not always available in the best form for processing, it is often provided in poor format or in a poor quality data
More informationRe Engineering Software Development Process for ebusiness Application Development
TR No. CIT/24/2003 Fifteenth International Conference on Software Engineering and Knowledge Engineering San Francisco Bay - 30 June - 3 of July 2003. Re Engineering Software Development Process for ebusiness
More informationSoftware Engineering for Software-Intensive Systems: III The Development Life Cycle
Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Foundations III The Development
More informationMohammed Khan SUMMARY
Mohammed Khan E-mail: Mohammedrkhn@gmail.com Phone: 347-878-1170 SUMMARY Over 5 years of diversified experience as a. Experience includes requirement analysis, manual testing and automation and quality
More informationHow To Design An Information System
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
More informationKeywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
More informationDesign of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti
More informationn Assignment 4 n Due Thursday 2/19 n Business paper draft n Due Tuesday 2/24 n Database Assignment 2 posted n Due Thursday 2/26
Class Announcements TIM 50 - Business Information Systems Lecture 14 Instructor: John Musacchio UC Santa Cruz n Assignment 4 n Due Thursday 2/19 n Business paper draft n Due Tuesday 2/24 n Database Assignment
More informationAgile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS
Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,
More informationOverview. The Knowledge Refinery Provides Multiple Benefits:
Overview Hatha Systems Knowledge Refinery (KR) represents an advanced technology providing comprehensive analytical and decision support capabilities for the large-scale, complex, mission-critical applications
More informationOutline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process
Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation
More informationJAVA/J2EE DEVELOPER RESUME
1 of 5 05/01/2015 13:22 JAVA/J2EE DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on a Contract
More informationDiagramming Techniques:
1 Diagramming Techniques: FC,UML,PERT,CPM,EPC,STAFFWARE,... Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The
More informationUsing UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
More informationSharePoint Designer 2013 vs Workbox. Prepared by JMS
SharePoint Designer 2013 vs Workbox Prepared by JMS Contents Overview... 3 SharePoint Designer 2013... 4 Introduction... 4 Behind the Scenes... 5 Datapolis Workbox 2013... 7 Introduction... 7 Behind the
More informationIn this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
More informationTitle: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
More informationTowards Collaborative Requirements Engineering Tool for ERP product customization
Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,
More informationRequirements Definition and Management Processes
Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
More informationInformation Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340
XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
More informationTips for writing good use cases.
Transforming software and systems delivery White paper May 2008 Tips for writing good use cases. James Heumann, Requirements Evangelist, IBM Rational Software Page 2 Contents 2 Introduction 2 Understanding
More informationAlgorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha
Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry
More informationRETRATOS: Requirement Traceability Tool Support
RETRATOS: Requirement Traceability Tool Support Gilberto Cysneiros Filho 1, Maria Lencastre 2, Adriana Rodrigues 2, Carla Schuenemann 3 1 Universidade Federal Rural de Pernambuco, Recife, Brazil g.cysneiros@gmail.com
More informationDevelopment/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
More informationChapter -5 SCALABILITY AND AVAILABILITY
Chapter -5 SCALABILITY AND AVAILABILITY 78 CHAPTER 5 Chapter - 5. Scalability and Availability S.No. Name of the Sub-Title Page No. 5.1 The importance of Scalability and Availability 79 5.2. Design Patterns
More informationBusiness Application Services Testing
Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load
More informationThe W-MODEL Strengthening the Bond Between Development and Test
Andreas Spillner Dr. Spillner is working as Professor at the Hochschule Bremen (University of Applied Sciences) where he is responsible for software engineering and real time systems. Dr. Spillner has
More informationAgile Processes and Methodologies: A Conceptual Study
Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida Sheetal.meenu@gmail.com Darothi Sarkar Amity School of Engineering &
More informationCase Study. Developing an. Enterprise-wide Architecture. within. Insurance Australia Group
Case Study Developing an Enterprise-wide Architecture within Insurance Australia Group This case study was submitted to Sparx Systems by IAG after successfully using the Enterprise Architect modelling
More informationCustom Development Methodology Appendix
1 Overview Custom Development Methodology Appendix Blackboard s custom software development methodology incorporates standard software development lifecycles in a way that allows for rapid development
More informationJava Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
More informationProcess Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
More informationUniversiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)
C^tJ O19OO(^'J.Tfi^'i- Universiti Teknologi MARA Requirement Analysis Using UML Approach for Research Management System (RMS) Enamul Hasan Bin Rusly Thesis submitted in fulfillment of the requirements
More informationProcessing Requirements by Software Configuration Management
Processing Requirements by Software Configuration Management Ivica Crnkovic 1, Peter Funk 1, Magnus Larsson 2 1 Mälardalen University, Department of Computer Engineering, S-721 23 Västerås, Sweden {ivica.crnkovic,
More informationAn Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
More informationWhitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan
YOUR SUCCESS IS OUR FOCUS Whitepaper Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan 2009 Hexaware Technologies. All rights reserved. Table of Contents 1. Introduction 2. Subject Clarity 3. Agile
More informationAutomated Modeling of Legacy Systems Using the UML
Automated Modeling of Legacy Systems Using the UML by Pan-Wei Ng Software Engineering Specialist Rational Software Singapore Poor documentation is one of the major challenges of supporting legacy systems;
More informationA Methodology for the Development of New Telecommunications Services
A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford
More informationPatterns in Software Assisted Software Engineering
Patterns in Software Assisted Software Engineering Srinivasa Gopal International Institute of Information Technology, Bangalore, India E-Mail: srinivasa32@hotmail.com Abstract ; Software Assisted Software
More informationCourse Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6
Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6 Type of course Compulsory Year 3rd Semester 1st semester Student Workload: Professor(s) Maria Clara Silveira Total
More informationBaseline Code Analysis Using McCabe IQ
White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges
More informationAPI Architecture. for the Data Interoperability at OSU initiative
API Architecture for the Data Interoperability at OSU initiative Introduction Principles and Standards OSU s current approach to data interoperability consists of low level access and custom data models
More informationThe BPM to UML activity diagram transformation using XSLT
The BPM to UML activity diagram transformation using XSLT Ondřej Macek 1 and Karel Richta 1,2 1 Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University,
More informationComponent visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu
More information