EPL603 Advanced Software Engineering - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

EPL603 Advanced Software Engineering

Description:

Linux RPCs. OSF DCE. Object-oriented. OMG CORBA. Sun Java/RMI ... computer aided project planning. Components needed to be integrated. 26. EPL 603. Requirements ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 31
Provided by: frank423
Category:

less

Transcript and Presenter's Notes

Title: EPL603 Advanced Software Engineering


1
EPL603Advanced Software Engineering
  • George A. Papadopoulos
  • Department of Computer Science
  • george_at_cs.ucy.ac.cy
  • http//www.cs.ucy.ac.cy/george
  • Course URL
  • http//www.cs.ucy.ac.cy/courses/EPL603

2
Todays Software Development
  • Development of large complex systems
  • Software systems must fulfill the requirements of
    stakeholders (clients, end-users, developers,)
  • Number of persons involved in the development gt
    1
  • Software systems are expected to live long and be
    used by many people

3
What are the Problems?
  • Increased quality demands on software products
  • High cost and time pressure
  • Shorter time to market
  • Coordination problems within the projects
  • Scarce resources

4
The Software Crisis/Solution
  • 1968 NATO conference in Garmisch-Partenkirchen
  • Software crisis (to characterize the situation)
  • Software engineering (idea for a solution)

5
Whats Software Crisis?
  • Unacceptably low quality of software
  • Delayed deadlines Average 1 year
  • Over cost limits Average 2X estimate
  • E.g. Air Force Command and Control system
  • Initial estimate
  • 1.5million
  • Winners bid
  • 0.4 million
  • Actual cost
  • 3.7 million
  • After deliver?
  • E.g. U.S Army study of
  • Federal projects
  • Delivered, but not used 47
  • Paid for, but not delivered 29
  • Abandoned or reworked 19
  • Used after changes 3
  • Used as delivered
  • 2

6
Example Practical Disasters
  • European Space Agency Ariane 5
  • Track control system failure results in self
    destruction
  • Denver Airport
  • Late delivery of software for the baggage system
    delays the opening of the airport by 16 months
  • US study (1995) 81 billion US spend per year
    for failing software development projects

7
Why is Software so Hard?
  • Software is Parnas, 1985
  • Buggy
  • Unreliable
  • Forever changing
  • Unwarrantable

8
Definition Software Engineering
The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software IEEE-93
9
Three Ps
People
Processes
Products
10
People, Processes, Products
  • People
  • education
  • skills
  • communication
  • style
  • .....
  • Products
  • requirements
  • design
  • source code
  • executable
  • user documentation
  • test cases
  • test results
  • change request
  • ....
  • Processes
  • planning
  • coordination
  • management
  • measuring
  • analyzing
  • designing
  • coding
  • .....

11
Scope Software Engineering
  • various disciplines
  • Mathematics,
  • Computer science,
  • Economics,
  • Management,
  • Psychology
  • etc.
  • extremely broad
  • the software life cycle
  • team or organization
  • economic aspect
  • legal aspect,
  • etc.

12
Why still Software Engineering?
  • Has the software crisis vanished? No!
  • Software projects still run over time and out of
    budget
  • no break through in quality !!!still art
    instead of engineering discipline

13
What is a Distributed System?
  • A collection of autonomous hosts that that are
    connected through a computer network.
  • Each host executes components and operates a
    distribution middleware
  • Middleware enables the components to coordinate
    their activities
  • Users perceive the system as a single,
    integrated computing facility.

14
What is a Distributed System?
15
Middleware Examples
  • Transaction-oriented
  • IBM CICS
  • BEA Tuxedo
  • IBM Encina
  • Microsoft Transaction Server
  • Message-oriented
  • Microsoft Message Queue
  • NCR TopEnd
  • Sun Tooltalk
  • Procedural
  • Sun ONC
  • Linux RPCs
  • OSF DCE
  • Object-oriented
  • OMG CORBA
  • Sun Java/RMI
  • Microsoft COM
  • Sun Enterprise Java Beans

16
Centralized vs. Distributed System
  • One component with non-autonomous parts
  • Component shared by users all the time
  • All resources accessible
  • Software runs in a single process
  • Single Point of control
  • Single Point of failure
  • Multiple autonomous components
  • Components are not shared by all users
  • Resources may not be accessible
  • Software runs in concurrent processes on
    different processors
  • Multiple Points of control/failure

17
Real World Example Hongkong
Telecom
  • Video-on-demand provide subscribers with
    facilities to download videos from HK TK servers
    to low-cost Web-TVs.
  • currently 90,000 users.
  • Built using distributed object-technology.

18
Requirements
  • Hardware
  • Clients Web-TV
  • Servers RISC processor
  • Operating System Heterogeneity
  • Clients Java OS
  • Servers UNIX
  • Programming Language Heterogeneity
  • Clients Java
  • Servers C
  • Communication across Network
  • How to transmit complex data structures across
    the Internet?
  • Scale
  • Scaling from initially several hundred to
    currently 90,000 users
  • Security
  • Secure Payment
  • Authentication

19
Why Distributed Object Technology?
  • Distributed
  • Video clients need to download/show video on
    customers Web-TV
  • Multiple servers needs to be operated by Hongkong
    Telecom
  • Object Technology
  • Video clients are written in Java
  • Web-TV has Java Virtual Machine
  • portability to e.g. Sony Playstation,
    Sega-Console...
  • Video servers are written in C
  • high performance

20
Another ExampleIT Infrastructure of UBS
Customer Information Services
Authorisation Services
Trading Workstation
Product Database Services
Marketing Services
Host Services
21
Requirements
  • Time to market
  • Development of new applications with recent
    technology
  • Integration of new applications increasingly
    difficult
  • Scalability
  • Management of 30,000,000 accounts
  • Management of 10,000,000 customers
  • Use by 2,000 concurrent users
  • Reliability
  • Hardware Heterogeneity
  • Unisys Mainframes
  • IBM Mainframes
  • SPARC Servers
  • PC Workstations
  • Operating System Heterogeneity
  • MVS
  • UNIX
  • Win-NT
  • Programming Language Heterogeneity
  • Cobol
  • C/C
  • Visual Basic

22
Why Distributed Object Technology?
  • Uniform view of all banking services
  • Appropriate level of abstraction
  • Preserving investment by wrapping legacy
    applications
  • Exploiting advantages of object technology for
    new development
  • Resolving
  • distribution
  • heterogeneity

23
Boeing 777 Configuration Mgmnt.
24
Requirements
  • Scale
  • 3,000,000 parts per aircraft
  • Configuration of every aircraft is different
  • CAA regulations demand that records are kept for
    every single part of aircraft
  • Aircraft evolve during maintenance
  • Boeing produce 500 aircraft per year
  • Configuration database grows by 1.5 billion parts
    each year
  • Projected life of each aircraft 30 years
  • 45,000 engineers need on-line access to
    engineering data

25
Requirements
  • COTS Integration
  • Existing IT infrastructure was no longer
    appropriate
  • Boeing could not afford to build required IT
    infrastructure from scratch
  • Components were purchased from several different
    specialized vendors
  • relational database technology
  • enterprise resource planning
  • computer aided project planning
  • Components needed to be integrated

26
Requirements
  • Heterogeneity
  • 20 Sequent database machines as servers for the
    engineering data
  • 200 UNIX application servers
  • NT and UNIX workstations for engineers

27
Why Distributed Object Technology
  • Object wrapping of COTS
  • Resolution of distribution at high level of
    abstraction
  • Resolution of heterogeneity
  • Scalability

28
Distributed System Requirements
  • Integration of new, legacy and components
    off-the-shelf
  • Legacy components might not need to be
    re-engineered
  • COTS cannot be modified
  • Heterogeneity of
  • hardware platforms
  • operating systems
  • networks
  • programming languages
  • Construction of distributed systems

29
Course Content - 1
  • Introduction to Components and Component-Based
    Software Engineering
  • Fundamental Concepts
  • Components vs Objects
  • Patterns
  • Software Architectures
  • Coordination Models and Language
  • Software Composition

30
Course Content -2
  • Middleware Platforms and Component Based Systems
    Development
  • COM/DCOM/ActiveX
  • CORBA
  • Jini
  • Development of Component Based Systems
  • Architectures and Component Frameworks
  • Development of Components in Distribute Systems
  • Related Programming Languages
  • Configuration Management
Write a Comment
User Comments (0)
About PowerShow.com