Technologies for Developing Systems. Outline 1111 1111 2222 2222 Project Management Technologies for Developing Systems.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

Lecture # 2 : Process Models
Information Resources Management January 23, 2001.
Ch 3 System Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
1 The Database Application Development Process The Database Application Development Process.
8.
Technical Architectures
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Ch 12 Distributed Systems Architectures
Systems Integration IT 490
Chapter 9: Moving to Design
8 Systems Analysis and Design in a Changing World, Fifth Edition.
EAI. 2/31 Example: a simple supply chain purchase order deliver goods write invoice order atricle check availability document customer-contact not available.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Introduction to Systems Analysis and Design
Client/Server Architecture
Configuration Management
Software Life Cycle Model
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
The Client/Server Database Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
a Service Oriented Architecture
Chapter 9 Moving to Design Part 2.
Chapter 9 Elements of Systems Design
The Design Discipline.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
CSI315 Web Applications and Technology Overview of Systems Development (342)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 2 The process Process, Methods, and Tools
Chapter 1 The Systems Development Environment
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
An Introduction to Software Architecture
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Information System Development Courses Figure: ISD Course Structure.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
The Systems Development Environment Systems Analysis and Design II.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Chapter 1: Introduction to Systems Analysis and Design
An Introduction to Software Architecture
Chapter 1: Introduction to Systems Analysis and Design
Quality Assurance for Component-Based Software Development
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Technologies for Developing Systems

Outline Project Management Technologies for Developing Systems

System Development IT can only be used in the form of some systems  Application systems bridge the gap between business needs and IT infrastructure  The part of IT that matters most strategically System dev. is an area in which Murphy’s Law reigns supreme  If anything can go wrong, it will An important yet challenging part of IS management

The Evolution of System Development High-level languages Data structures, algorithm, objects Modules, system organization Architectural elements Software architecture NATO SE conference Programming-in-the-large Software development environments Subroutines Separate compilation Integrated product lines Component-based systems Information hiding Inheritance Abstract data types objects Packages Pipes and filters Sequence of instructions Web services & SOA…

Some Milestones (1) 1970s  Structured system development  System development life cycle 1980s  4GL (4 th Generation Language)  Automation of parts of development such as code generation 1990s  Reliance increased on packages Increased developer productivity Decreased maintenance cost

Some Milestones (2) 1990s  Business process reengineering led to growth on integrated enterprise systems ERP Late 1990s  Sudden emergence of e-business and Internet based systems 2000s  Faster systems development cycles  Integrated enterprise systems

Some Milestones (3) Business applications today  Virtually every application is a network application The network is becoming the system  Web-based applications were the first generation of Internet-centric computing Web Services is touted as the second  In addition, the increasing interconnectedness of supply chains is leading companies to build inter- organizational systems Far more complex undertaking than any single-company systems

The Waterfall Model Requirements Analysis Implementation Design Testing Delivery and Installation

Iterative Waterfall Model

The Spiral Model

Structured System Development Some elements of the structured system development  Hand coding in third generation language  "Structured programming" development methodology  DBMS  Development of mostly mainframe applications  Various automated, but not well integrated software tools  User participation mainly in require definition and installation phases

Structure Development Benefits More discipline  Standards for process and documentation  Established practices of analysis, design and construction to handle complexity Higher reliability and fewer errors  To catch errors as early as possible through inspection More efficient use of resources  Project management approaches

4 th Generation Language (4GL) A programming language closer to human languages than 3GL  4GL specifies the purpose without details on procedures  E.g. SQL SELECT NAME, SCORE FROM STUDENT

Software Prototyping A quickly created system aiming to test out assumptions  User requirements  Application design  Program logic... Prototyping corresponds to the iterative process of app. development  Starting with a simple prototype  New requirements added in and new refinements incorporated  Each version sees some incremental additions

Computer-Aided Software Engineering (CASE) CASE is the use of software tools to assist in the development and maintenance of software Some typical CASE tools are:  Code generation tools  Data modeling tools  UML… Components in an CASE environment  Information repository  Front-end tools  Back-end tools  Development workstation

Object-Oriented Development (1) OOD is a revolutionary change  While CASE is an evolutionary one An object contains encapsulated data and procedures grouped together to represent an entity.  Programming becomes the interaction of these objects

Object-Oriented Development (2) Key OOD features  Information hiding (encapsulation)  Interface  Inheritance  Polymorphism It allowed point-and-click programming of graphical user interfaces Enables code-packaging technique

C/S Computing and Web Based Development (1) Two major developments in 1990s  Client-server systems Work split between a client and a server Far more flexibility than mainframe-based systems Desktop: graphics, animation, video Servers: production updating  Web-based or network centric development

C/S Computing and Web Based Development (2) Underlying these two (continuing) trends is the increasing use of packages and system integration  As much as possible, companies prefer to buy a package rather than build an application in-house To develop large applications, they integrate various hardware and software components

Component-Based Development Component Object Model (COM)  COM is used to enable inter-process communication and dynamic object creation in any programming language that supports the technology. Common Object Request Broker Architecture (CORBA)  CORBA is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together.

Software Architecture The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

Architectural Patterns (1) The event-based structure at runtime  Using event registration to bind procedures in objects or processes  Eases system evolution and integration, problem decomposition  No control over order of invocation, correctness difficult to ensure

Architectural Patterns (2) The layered structure at design time  Each layer only uses services supplied by the layer below and provides services to the layer above  Support design based upon increasing levels of abstraction; portability; modifiability; reuse  Performance penalty, wrong model The deployment structure at the deployment time  How run-time elements (objects, processes) are allocated to execution platforms

Architecture and Quality Attributes It is the mapping of a system's functionality onto software structures that determines the architecture's support for qualities.  Quality attributes dictates a software system's architecture. No quality attribute is entirely dependent on design or other phases.  Satisfactory inclusion of quality attributes means you must get the big picture (architecture) and the details (implementation) right!

System Integration (1) Integration is by far the biggest software problems CIOs face  Integrating legacy systems from various eras and technologies  Integration was also a major problem for IT vendors E.g. IBM with its various product lines

System Integration (2) Three traditional integration approaches  DBMSs A data-centered approach, allowing applications to share data stored in a single or distributed database  Enterprise Resource Planning (ERP) An application-centered approach, all applications come from a single vendor and are specifically designed to communicate with each other  Middleware A third-party approach, applications communicate with each other through a third-party translation software

Enterprise Resource Planning Systems (ERPs) ERPs integrate all data and processes of an organization into a unified system  With a single set of applications from a single vendor operating with a single database The goal – provide the means to integrate business departments and functions across an organization

Middleware Middleware is software that works between and connects applications, allowing them to share data  Acts as a translator between the applications Middleware used in system integration  Message Oriented Middleware (MOM)  Object Request Broker (ORB)  Enterprise Application Integration (EAI) middleware Allow users to define business processes and make data integration subject to rules that govern those processes

Inter-organizational System Development Business ecosystems became one of the main business trends  SCM integrates supply chains  Development of such inter-organizational systems requires teams from the different organizations to work together Another type of inter-organizational system is a platform, which provides the infrastructure for the operation of a business ecosystem, a region, or an industry  Sabre from AA

Internet-based Systems Internet-based systems must be:  Scalable  Reliable  Integrated with systems of customers or business partners Three cornerstones for Internet-based systems  Application servers  Java  Web service

Application Servers

Java Java programming language Java platform

Web Services The vision of Web Services is that modules of code can be assembled into services, which, in turn, can be linked to create a business process at the moment it is needed and run across enterprises, computing platforms, and data models

Outline Project Management Technologies for Developing Systems

Context of Project Management Companies are in three businesses:  Infrastructure management  Customer relationship  Product innovation Traditionally companies have bundled the three businesses, which leads to compromises because they have conflicting agendas IS department can be viewed as being in the same three businesses.

What is Project Management (1) Management of a project A project is a collection of related tasks and activities undertaken to achieve a specific goal. All Projects should:  Have a clearly stated goal  Be finite, clearly defined beginning & end A project is a temporary and one-time endeavor undertaken to create a unique product or service, which brings about beneficial change or added value.  Project VS. process

What is Project Management (2) Project management is the discipline of organizing and managing resources (e.g. people) in such a way that the project is completed within defined scope, quality, time and cost constraints

The Traditional Project Management Triangle The three competing constraints  Increased scope typically means increased time and increased cost  A tight time constraint could mean increased costs and reduced scope  A tight budget could mean increased time and reduced scope QUALITY SCOPE TIME COST

Project Details Project details must be known and determined well before the design process is begun  How long will it take?  Who will do the work?  What risks and complications may arise?  How much will it cost?

Important Management Issues Planning  Scope, timing, cost Organizing  People and teams involved  Tasks in the project and timetable for them Leading  Motivating  Work allocation Controlling  Tracking progress, meeting goals

Challenges of Project Management Deliver the project within defined constraints Optimize allocation and integration of inputs needed to meet pre-defined objectives  A project is a carefully defined set of activities that use resources to meet the pre-defined objectives money, people, materials, energy, space, provisions, communication, etc.

IT Project Management IT Project Management:  10% technical, 90% common sense or good business practice  Many IT managers do not have a background in IT at all Communication, organization and motivation Key: keeping in mind, and under control the numerous interdependencies of the numerous tasks

Change Management (1) IS often assume a technically elegant system is a successful system  Many technically sound systems have turned into implementation failures System is only a success if it meets the users' requirements and they are happy with it and with using it  Focusing only on the technical aspects is only half the job  The other job is change management

Change Management (2) Information technology is all about managing change  New systems require changing how work is done Changing management is the process of assisting people to make change in their working environment  Esp. Change caused by the introduction of a new computer system