|
1
|
|
|
2
|
|
|
3
|
- Software Engineering Tools Primer
- Build Tools (e.g., Ant)
- Continuous Build Process Frameworks (e.g., CruiseControl)
- Unit Testing Frameworks (e.g., jUnit)
- Refactoring Browsers (e.g., IntelliJ’s IDEA)
- Selecting Appropriate Tools
- Summary
- Individual Assignment #5
- Readings
|
|
4
|
|
|
5
|
- Semantic Web
- Machine-processible semantics of data
- Semantic annotation, XML, RDF
- Explicit representation of the semantics of data accompanied with
domain theories (i.e. ontologies)
- Lead to a highly knowledgeable world-wide system
- Ontology
- “specifications of a shared conceptualization of a particular domain”
- Describe the semantics of information exchange
- Ontology description tools : ontolingua, OIL, DAML
|
|
6
|
- Example: ECIMF methodology
|
|
7
|
- Example: Relationship between the ECIML and other modeling standards.
|
|
8
|
- Mapping concepts from different ontologies
|
|
9
|
- Semantic Translation meta-model
|
|
10
|
- Example scenario that requires Process Mediator.
|
|
11
|
- Business Context model as seen by the shipping agency
|
|
12
|
- Business Context model as seen by the customer
|
|
13
|
|
|
14
|
|
|
15
|
- Semantics of the two corresponding concepts
|
|
16
|
- Analyze the message delivery control mechanisms
|
|
17
|
|
|
18
|
|
|
19
|
|
|
20
|
- EDOC
- Simplify the development of component based EDOC systems by means of a
modeling framework, based on UML 1.4 and conforming to the OMG Model
Driven Architecture.
- Provide a platform independent, recursive collaboration based modeling
approach that can be used at different levels of granularity and
different degrees of coupling, for both business and systems modeling.
- Embrace MDA – Provide design and infrastructure models and mapping
- ebXML
- Creating a single global electronic market
|
|
21
|
- Collaboration of independent entities
- Document exchange over internet technologies
- Large grain interactions, not “method calls”
- No required infrastructure *
- Long lived business processes
- Business transactions
- Not technical transactions
|
|
22
|
- Contract of Collaboration
- Meta-Model (EDOC-ECA) and representation (I.E. XMI, ebXML-BPSS)
- Shared Repository for Contracts (MOF, UDDI, ebXML)
- Tightly coupled systems may simulate the repository with file exchange
(I.E. IDL)
- Connectivity which meets requirements of the contract
- Implementation of each contract role providing connectivity (application
server)
|
|
23
|
|
|
24
|
- Inside one role you frequently find more
- Collaborating “parts” of the enterprise
- Until you get to a role within a domain
- These can share resources!
- E.G. Common access to a DBMS or Service
- Exist within a managed domain
- Can also be a legacy application
|
|
25
|
|
|
26
|
- Enterprise Collaboration Architecture (PIM)
- Component Collaboration Architecture
- Business Process Specification
- Entities
- Business Events
- Patterns
- Technology Mapping (PSM)
- Flow Composition Model (Messaging)
- EJB & Corba Components
- ebXML (In progress)
- Others…
- MAPPING – Models are the standards and are source code
|
|
27
|
|
|
28
|
- Business Process Specification (Like CCA)
- XML Representation of business process
- Core Components
- Collaboration Protocol Profile
- What business partners implement what business processes using what
technologies
- One-One agreement for doing business
- Transport Routing & Packaging
- Registry & Repository
- Finding business partners, document and process specifications
|
|
29
|
|
|
30
|
- We must enable the emerging Internet Computing Model
- Loosely coupled roles exchanging documents based on a contract of
collaboration
- Web need interoperability at two levels
- Messaging for the data
- Metadata for the contract of collaboration, stored in repositories
- This model of collaborating roles is recursive, extending into the
enterprise, into managed domains and into applications
- Inside the enterprise we want to include resources entities, business
events and business processes
- Between EDOC & ebXML we are covering B2B and intra enterprise
|
|
31
|
|
|
32
|
|
|
33
|
|
|
34
|
- Structure of process components and protocols
- Process components, ports, protocols and documents
- Class Diagram or CCA Notation
- Composition of process components
- How components are used to specify components
- Collaboration diagram or CCA Notation
- Choreography
- Ordering of flows and protocols in and between process components
|
|
35
|
- Identify a “community process”, the roles and interactions
- Using CCA Notation
|
|
36
|
|
|
37
|
- Specification of a protocol
|
|
38
|
|
|
39
|
- Use standard interface notation
- Are a subtype of “Protocol” in the MetaModel
- Allow modeling of and integration with classical and/or existing objects
|
|
40
|
|
|
41
|
|
|
42
|
|
|
43
|
- Entities are added to manage entity data
- Entity Roles are managers that provides a view of the same identity in
another context
- The Entities have ports for managing and accessing the entities
- Non-entities which are owned by (aggregate into) an entity are managed
by the entity
|
|
44
|
|
|
45
|
|
|
46
|
|
|
47
|
|
|
48
|
|
|
49
|
|
|
50
|
- Specializes CCA
- Activity-centric view of a Process
- Expresses
- Complex temporal and data dependencies between business activities
- Iteration of activities
- Alternative required Inputs and Outputs of activities
- Roles related to performers, artifacts and responsible parties for
activities
|
|
51
|
- DataFlows are special CCA Connections
- Uni-directional between ProcessFlowPorts
- DataFlows indicate
- data dependency & transmit values at run-time, or
- temporal dependency (aka control flow)
|
|
52
|
|
|
53
|
|
|
54
|
|
|
55
|
|
|
56
|
|
|
57
|
- After teams formed, 1/2 week to Project Concept
- 1/2 week to Revised Project Concept
- 2 to 3 iterations
- For each iteration:
- 1/2 week to plan
- 1 week to iteration report and demo
|
|
58
|
- Requirements: Your project focuses on two application services
- Planning: User stories and work breakdown
- Doing: Pair programming, write test cases before coding, automate
testing
- Demoing: 5 minute presentation plus 15 minute demo
- Reporting: What got done, what didn’t, what tests show
- 1st iteration: Any
- 2nd iteration: Use some component model framework
- 3rd iteration: Refactoring, do it right this time
|
|
59
|
- Cover page (max 1 page)
- Basic concept (max 3 pages): Briefly describe the system your team
proposes to build. Write this description in the form of either
user stories or use cases (your choice). Illustrations do not count
towards page limits.
- Controversies (max 1 page)
|
|
60
|
- Requirements (max 2 pages):
- Select user stories or use cases to implement in your first iteration,
to produce a demo by the last week of class
- Assign priorities and points to each unit - A point should correspond to
the amount of work you expect one pair to be able to accomplish within
one week
- You may optionally include additional medium priority points to do “if
you have time”
- It is acceptable to include fewer, more or different use cases or user
stories than actually appeared in your Revised Project Concept
|
|
61
|
- Work Breakdown (max 3 pages):
- Refine as engineering tasks and assign to pairs
- Describe specifically what will need to be coded in order to complete
each task
- Also describe what unit and integration tests will be implemented and
performed
- You may need additional engineering tasks that do not match one-to-one
with your user stories/use cases
- Map out a schedule for the next weeks
- Be realistic – demo has to been shown before the end of the semester
|
|
62
|
- Max 3 pages
- Redesign/reengineer your system to use a component framework (e.g.,
COM+, EJB, CCM, .NET or Web Services)
- Select the user stories to include in the new system
- Could be identical to those completed for your 1st Iteration
- Could be brand new (but explain how they fit)
- Aim to maintain project velocity from 1st iteration
- Consider what will require new coding vs. major rework vs. minor rework
vs. can be reused “as is”
|
|
63
|
- Max 4 pages
- Define engineering tasks, again try to maintain project velocity
- Describe new unit and integration testing
- Describe regression testing
- Can you reuse tests from 1st iteration?
- If not, how will you know you didn’t break something that previously
worked?
- 2nd iteration report and demo to be presented before the end
of the semester
|
|
64
|
- Max 2 pages
- For each engineering task from your 2nd Iteration Plan,
indicate whether it succeeded, partially succeeded (and to what extent),
failed (and how so?), or was not attempted
- Estimate how many user story points were actually completed (these might
be fractional)
- Discuss specifically your success, or lack thereof, in porting to or
reengineering for your chosen component model framework(s)
|
|
65
|
- Max 3 pages
- Describe the general strategy you followed for unit testing, integration
testing and regression testing
- Were you able to reuse unit and/or integration tests, with little or no
change, from your 1st
Iteration as regression tests?
- What was most difficult to test?
- Did using a component model framework help or hinder your testing?
|
|
66
|
- All Iterations Due
- Presentation slides (optional)
|
|
67
|
|
|
68
|
- Next Session
- Building Software
|