Introduction “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar.

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

Business Driven Technology Unit 5
Ch 3 System Development Environment
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
1 SWE Introduction to Software Engineering Lecture 5.
© 2005 Prentice Hall2-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Chapter 1 The Systems Development Environment
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Chapter 1 The Systems Development Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Lesson 1 Week01.
Software Engineering Chapter 12 The Generic Iteration Workflow Fall 2000.
Chapter 1 The Systems Development Environment
The Rational Unified Process
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
The Rational Unified Process 1 EECS810: Software Engineering.
The Systems Development Environment Systems Analysis and Design II.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process (RUP)
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
(OBIA) Training & Placement Program By Keen IT To request free demo session please mail us at
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
June 2008Mike Woodard Rational Unified Process Overview Mike Woodard.
Software Development Framework
Software Development.
Constructing Enterprise Applications
CSC 480 Software Engineering
Architecting and Designing Enterprise Applications
An Introduction to Software Engineering
The Strategic Role of Information Development in Continuous Delivery
Chapter 1 The Systems Development Environment
The Basics of OOP Design
Chapter 1: Introduction to Systems Analysis and Design
Software Quality Engineering
School of Business Administration
Business System Development
Chapter 1: Introduction to Systems Analysis and Design
Software Quality Engineering
Chapter 1 The Systems Development Environment
Software Process Models
Chapter 1 The Systems Development Environment
Component Based Software Engineering
Software Processes.
Introduction to Software Engineering
Incepting Enterprise Applications
Object Oriented Analysis and Design
Teaching slides Chapter 1.
Rational Unified Process
Chapter 2 – Software Processes
Testing and Rolling Out Enterprise Applications
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Baisc Of Software Testing
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 1: Introduction to Systems Analysis and Design
Data Warehouse.
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Chapter 1 The Systems Development Environment
Chapter 1: Introduction to Systems Analysis and Design
Chapter 4: Software Process Models
Presentation transcript:

Introduction “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

What is an Enterprise Application There is a thin line of demarcation which separates whether an application can be termed as Enterprise Application or not. Typically an Application which satisfies the business functionalities (functional requirements) of an organization and also take care of factors such as efficiency, scalability, security etc (non functional requirements) is termed as Enterprise Application. An organization or enterprise may have several enterprise applications in its application landscape. They can be categorized from various perspectives. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Categorization of Enterprise Applications Visibility to end user: Upstream: Customers facing enterprise applications or front-end systems of an organization. Downstream: Back-end enterprise applications working behind the scenes in an organization to fulfill the customers’ or end users’ needs. Business Enabler: Applications which fulfill the general organizational needs. Contd…. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Categorization of Enterprise Applications (contd…) Industry domain specific application. Type of processing supported: Enterprise applications may fall under categories such as batch processing, online transaction processing (OLTP) or online analytical processing (OLAP) applications, or decision support systems (DSS). Custom built or readymade application. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Challenges in Raising Enterprise Applications With changing market dynamics, customer needs and technology, Enterprise applications face many challenges to stand out from the crowd. Below are the key challenges: Business Process Automation Data Harmonization Application Integration Application Security Transaction Management Quality of Service(QoS) Contd…. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Challenges in Raising Enterprise Applications (Contd…) Rich User Experience Internationalization Technology Selection “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Software Engineering Methodologies Iterative methodologies IBM RUP: RUP has assembled the iterations in four phases: inception, elaboration, construction and transition. Agile software development: an extension to the iterative approach to build applications in a nimble fashion with a light weight process. Waterfall methodology Traditional approach of software development that typically comprises of a sequence of phases — requirements, analysis, design, build and testing — wherein each phase output acts as input to the next phase. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Life Cycle of Raising an Enterprise Application Development of an enterprise application follows a life cycle with the following stages: Inception Typically starts as a result of enterprise analysis and business modeling activities. Requirements engineering is the key activity. Concludes with casting the plan and project estimation. Architecting and Designing Takes key inputs from the enterprise architecture initiatives of an organization. Contd…. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Life Cycle of Raising an Enterprise Application (Contd…) Application architecture and software designing are the key activities. Construction starts with building the application framework components; followed by construction of application components; concludes with unit testing and code review and analysis. Testing includes integration testing, system testing and user acceptance testing; successful user acceptance test leads to application rollout. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Skill Requirements to Raise an Enterprise Application Following are the key skill sets required to develop an enterprise application: Knowledge of organizational dynamics: understand the organizational business and business needs of end users. Domain knowledge: comes handy especially during inception, architecting and design and testing phase of applications. Business analysis skills: conglomeration of domain knowledge, technical knowledge, use of business analysis related tools and practice of soft skills. Contd…. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Skill Requirements to Raise an Enterprise Application (Contd…) Program management skills: includes planning, estimation, budgeting, talent management, change management, positive communication and many more Architecting and designing skills: includes the knowledge of architecture views and view points, architectural patterns, design patterns, design paradigms like object orientation, aspect orientation and service orientation, usage of design tools, architectural and design best practices, technical frameworks, knowledge of modeling languages like Unified Modeling Language, etc. Contd…. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Skill Requirements to Raise an Enterprise Application (Contd…) Programming skills: includes knowledge of a programming language ,knowledge of the underlying platform, knowledge of an Integrated Development Environment (IDE) tool, programming best practices, code review skills, knowledge of unit testing tools, configuration management and build tools, static code analysis tools and dynamic code analysis tools etc. Testing skills: includes skills for performing integration testing, performance testing, load testing, stress testing, application security testing, interface testing and user acceptance testing. Knowledge of tools “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Ingredients of Enterprise Application “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Measuring the Success of Enterprise Applications Once we are done with raising an enterprise application , we need to measure its success based on different parameters. Measuring the business process automation gain and the gain in terms of the ease with which end user can carry out the same process. Quality of application in terms of non functional requirements. Time to production - faster the time to market , better for the organization. Contd…. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.

Measuring the Success of Enterprise Applications (Contd…) Adherence to budget and timeliness. Cost effectiveness of application. Productivity of development teams. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan, Satheesha B. Nanjappa, Senthil Nallasamy, Veerakumar E Copyright  2010 Wiley India Pvt. Ltd. All rights reserved.