Академический Документы
Профессиональный Документы
Культура Документы
TEXT BOOKS:
1. 2.
Reference
Paul J Perrone, Venkata S.R. Krishna R and Chaganti, "Building Java Enterprise Systems with J2EE", Techmedia , New Delhi, 2000 George Reese, Database programming, with JDBC and Java" Second Edition, OReiliy Publishers , New Delhi, 2000
REFERENCE BOOKS: 3. 4. 5. Dustin R. Callaway - "Inside Servlets" - Addison Wesley Longman Inc, New Delhi, 2001 Tom Valesky - "Enterprise Java Beans" - Addison Wesley Longman Inc. New Delhi, 2000 Ed Roman-"Mastering EJB-John Wiley & Sons, New Delhi, 2001
26 February 2013
EC Unit 1A - Syllabus
Enterprise Architectural overview - Object oriented software development for enterprise - Component Based software development for enterprise
26 February 2013
Large organization such as multinational corporation, university, hospital, research laboratory, or government organization
Requires special computing solutions because of its size and complexity Enterprise computing Use of computers in networks that encompass variety of operating systems, protocols, and network architectures
26 February 2013 Enterprise Foundations Enterprise Computing
Next
26 February 2013
Next
26 February 2013
26 February 2013
26 February 2013
11
26 February 2013
12
26 February 2013
13
Provides secure, reliable, available, maintainable and safe qualities of an enterprise system
Provides for connectivity of the enterprise to the internet/web and for generating Web-based presentation content
26 February 2013
14
26 February 2013
15
Class Discrete module of code has set of variables and methods Object An instance of a class in memory Handles Reference to distributed object Network address information and an object ID Package collection of one or more objects which have cohesive logical relation and offer specific service
26 February 2013 Enterprise Foundations Enterprise Computing 16
Software system
Abstraction Real world Interpretation Model Algorithm
17
Programming models
Computation-oriented model (50s ~ 60s) Data-oriented model (70 ~ 80s) Object-oriented model (90s ~ )
Balanced view between data and computation
26 February 2013
Data-oriented model
Object-oriented model
Real world
Software system
Real world
Software system
19
Iterative Development
Key characteristics
Object-Oriented Development
Approach
Focuses on improving the maintainability and reusability of software systems through a set of techniques, notations, tools, and criteria.
Activities
Conceptualization
Object-oriented analysis and modeling Object-oriented design Implementation Maintenance
26 February 2013 Enterprise Foundations Enterprise Computing 21
OO Development Process
Project Charter Requirement Analysis System Behavioral Analysis
Implementation
Unit Test Assembly
Thread Test
Configuration Specification System Test Deployment
Maintenance
26 February 2013
22
Project Charter
Conceptualization To establish the vision and core requirements of the software system to be developed.
Requirement Analysis
Perform analysis of expected system behaviour and system interfaces System behavioural Analysis
Use-case analysis identification of primarily user-driven scenarios Use case sequence of steps of each behaviour Actors in use case - Entities involved with realising the outcome of the use case Pre-condition Initial state of the system before the beginning of the use case Post-condition State of the system after the use case
Detailed design
Create an architecture for implementation Represented in terms of objects & classes and relationships among them Package names, class names, core public methods, i/p, o/p parameters
26 February 2013 Enterprise Foundations Enterprise Computing 24
Unit Test
Testing at class and package level Performed during implementation of a particular class & collection of classes
Assembly
Identify a subset of the entire system behaviour, along with the code
Thread Test
Demonstrating that the assembled classes interoperate Test threads of behaviour on assembled elements provides incremental assurance
26 February 2013 Enterprise Foundations Enterprise Computing 25
System Test
Test fully assembled and configured system Load testing, system security testing, performance testing
Deployment
Deploy the system as per the configuration specification Deployment environment should closely resemble system test environment
Maintenance
Manage post delivery evolution effectively Maintain operational software for bug fixes and upgrades Time to repair should be minimum and ease with which upgrades are deployed should be maximized
Enterprise Foundations Enterprise Computing 26
26 February 2013
26 February 2013
Classes
Name TariffSchedule zone2price getZones() getPrice()
Attributes
Operations
A class represent a concept. A class encapsulates state (attributes) and behavior (operations). Each attribute has a type. Each operation has a signature. The class name is the only mandatory information.
Open Source tools: ArgoUML, StarUML, Umbrello Commercial and Opensource: PoseidonUML (Gentleware)
26 February 2013 Introduction - UML OBJECT ORIENTED SOFTWARE ENGINEERING 29
UML Diagrams
26 February 2013
30
UML Diagrams
Use case diagrams
Describe the functional behavior of the system as seen by the user.
Class diagrams
Describe the static structure of the system: Objects, Attributes, and Associations.
Sequence diagrams
Describe the dynamic behavior between actors and the system and between objects of the system.
Statechart diagrams
Describe the dynamic behavior of an individual object as a finite state machine.
Activity diagrams
Model the dynamic behavior of a system, in particular the workflow, i.e. a flowchart.
26 February 2013
31
Actor
ReadTime
WatchUser
SetTime
WatchRepairPerson
Use case
ChangeBattery
Use case diagrams represent the functionality of the system from users point of view
Introduction - UML OBJECT ORIENTED SOFTWARE ENGINEERING
26 February 2013
32
Class Diagrams
TariffSchedule
Class diagrams represent the structure of the system. Class diagrams are used
during requirements analysis to model problem domain concepts during system design to model subsystems and interfaces during object design to model classes.
26 February 2013
33
Class Diagrams
Class Multiplicity
1 2 PushButton state push() release() 1 LCDDisplay blinkIdx blinkSeconds() blinkMinutes() blinkHours() stopBlinking() referesh() SimpleWatch 1 1 1 2 Battery load() 1 Time now()
Association
Attributes Operations
34
26 February 2013
35
Sequence Diagram
Object
:WatchUser :SimpleWatch :LCDDisplay :Time
pressButtons1And2() stopBlinking()
commitNewTime()
Message Activation Sequence diagrams represent the behavior of a system Introduction - UML as messages (interactions) between different OBJECT ORIENTED SOFTWARE ENGINEERING objects
26 February 2013
36
Statechart Diagrams
Event
button1&2Pressed Blink Hours
Initial state
button2Pressed
State
Increment Hours
Transition
button1&2Pressed
button1Pressed button2Pressed
Blink Minutes
Increment Minutes
button1Pressed button2Pressed
Stop Blinking
Blink Seconds
Increment Seconds
button1&2Pressed
Final state
26 February 2013
26 February 2013
38
Enterprise Components
OO Software
Classes Encapsulate fine-grained concepts of a problem and solution Objects - Instances of classes created during the runtime operation of the system
Components
Coarser-grained means to encapsulate problems Represent a logical collection of one or more finegrained classes Can be more directly produced from analyses and design models
26 February 2013 Enterprise Foundations Enterprise Computing 39
Component models
A component model is a definition of standards for component implementation, documentation and deployment Examples of component models
EJB model (Enterprise Java Beans) COM+ model (.NET model) Corba Component Model
The component model specifies how interfaces should be defined and the elements that should be included in an interface definition
26 February 2013 Enterprise Foundations Enterprise Computing 40
Interfaces
26 February 2013
41
Middleware support
Component models are the basis for middleware that provides support for executing components
Component model implementations provide:
Platform services that allow components written according to the model to communicate Horizontal services that are application-independent services used by different components
To use services provided by a model, components are deployed in a container. This is a set of interfaces used to access the service implementations
26 February 2013
42
Component interfaces
Interfaces in a component model is primary contract between component and other code entities. Other code entities may be containers, application code, other components, other component models, ....
Provides interface Defines the services that are provided by the component to other components. Requires interface Defines the services that specifies what services must be made available for the component to execute as specified.
26 February 2013
43
Component interfaces
Requires int erf ace Defin es th e services f thecom rom ponents environ men t that it us es Co mpo nent
26 February 2013
44
Design Patterns
A set of classes, interfaces and their relationships that provide a common design solution to a common problem classification
Component SPIs
Defines a set of standard interfaces that the provider of service adheres to and implements
Component-to-Container interfaces
Defines the interface to a container environment assumed by a component
Container-to-Component interfaces
Defines the interface to a component assumed by a container
Enterprise Foundations Enterprise Computing
26 February 2013
45
Find
Component evaluation
Component must be Integration designed : implemented Test verified System Development validated delivered
26 February 2013
46
Component Design Adaptation (During Detailed Design) Component Implementation Specialisation Component Test (During Unit Test) Component Assembly (During Assembly)
Project Charter
Conceptualization To establish the vision and core requirements of the software system to be developed.
26 February 2013
Component Identification
In terms of the interfaces and technology they must support
Component Selection
COTS components evaluated for fitness and applicability for use Components developed in other projects Component qualified for functional support, quality, technology support, desgree of customization required and supported
26 February 2013
50
Unit testing
Assembled into individual modules that can be separately tested. Modules have their own customisation descripters
26 February 2013
System Test
Involves testing a cohesive application as per a particular component configuration
Deployment
Deploy the system as per the configuration specification Deployment environment should closely resemble system test environment
Maintenance
Components swapped out for replacement with other component implementations with less time spent on repair Enhances system availability for the user base
Enterprise Foundations Enterprise Computing 52
26 February 2013
26 February 2013
53
Design Patterns
Requirement analysis -> Analysis patterns -> Generate common analysis models > Common design patterns
A design pattern is a description or template for solving a problem that can be used in many different situations
Design patterns can speed up the development process by providing tested, proven development paradigms. Reusing design patterns helps to prevent subtle issues that can cause major problems and improves code readability for coders and architects familiar with the patterns.
Factory Pattern
General framework for creating new object instances. Defines an interface for creating objects, but lets subclasses decide which classes to instantiate.
Singleton Pattern
Provides a means to ensure that only one object instance of a class is created and referenced by clients accessing that class Encapsulated just-in-time initialization or initialization on first use.
26 February 2013
55
Strategy Pattern
Encapsulates interchangeable underlying algorithms / policies and provide the same interface for accessing such algorithms / policies
Command Pattern
Encapsulate a command for performing some operation
26 February 2013
56
Auctioneer starts the bidding & observes when a paddle is raised to accept the bid. Acceptance of the bid changes the bid price which is broadcast to all of the bidders in the form of a new bid.
Proxy Pattern
Proxy provides a surrogate or place holder to provide access to an object.
A check or bank draft is a proxy for funds in an account. A check can be used in place of cash for making purchases and ultimately controls access to cash in the issuers account.
Composite Pattern
Contains one or more composite objects
Anti-Pattern
Common design patterns to be avoided during development
26 February 2013 Enterprise Foundations Enterprise Computing 57
EC SAQ - Unit1A
1. What is an enterprise? 2. Enumerate the main components of enterprise? 3. List the primary objectives of an enterprise. 4. What is enterprise computing? 5. What is enterprise architecture? 6. Give the generic enterprise system architecture. 7. What are the two essential components of a software system? 8. Define class & class package in OOD. 9. What is class diagram? 10. What is Dynamic Behaviour diagram? 11. What are the various component model interface classifications? 12. List the common design patterns.
26 February 2013
58
EC LAQ - Unit1A
1. Why enterprise system architecture is needed in organisations? 2. Give the generic enterprise system architecture. 3. Describe object-oriented development process from charter to maintenance. 4. Describe Component based software development. 5. Describe the design patterns in distributed object architectures.
26 February 2013
59