CIS-75 Home http://www.c-jump.com/CIS75/CIS75syllabus.htm
Java Skills Review:
Swing, the Java Foundation Classes ( lecture ) for UI Components.
Week 1 sample code: Source.zip
Semester-long review project, Point of Sale Support System.
UML, the Unified Modeling Language.
Design Models.
Presentation 1: Object-Oriented Paradigm ( lecture ).
Object-oriented programming vs. object-oriented analysis and design
Abstraction, encapsulation, information hiding, modularity
Modeling as an engineering activity
Modeling vs. prototyping
UML in context of your Java experience
Milestone: End of Week 4 -- February 13th -- Join the development team.
OMG and its role in standardization process for object technology
Power and limitations of modeling with UML
Presentation 2: UML Use Cases and Requirements Modeling ( lecture ).
Functional vs. non-functional requirements
Domain and requirements scope
Use case model
Use cases and actors
Priority in requirements - primary and secondary use cases and actors
Modeling relationships between requirements - inclusion, extension, generalization
Requirements analysis as a sub-process of software process
Involving customer and user
Conducting requirements review
Managing requirements
Modeling use cases using sequence diagrams and activity diagrams
Milestone: End of Week 7 -- March 6th -- Requirements model due (use case model.)
Week 8 -- March 9-12
30-minute sessions strictly by schedule.
Sign-up in advance -- available times will be posted on the instructor's door.
March 16-20 -- Spring Break
Moving from procedural paradigm of functional requirements (use-case model) to object-paradigm of analysis model.
Presentation 3: UML Class Diagrams ( lecture ).
Classes and types of classes
Class and class specification
Utility and template classes, template instantiation
Abstract classes and interfaces
Relationships
Significance of relationships as the mortar of the software architecture
Inheritance - medium for expressing and controlling abstraction
Association, aggregation by reference, aggregation by value
Dependency
Direction and multiplicity of relationships
Naming relationships and roles
Divide and concur - making decisions in design process.
Presentation 4: From Requirements to Classes ( lecture ).
Coupling and cohesion as opposite forces defining relationships
Synergy between defining modules and intra-module connections
Module ( package, class ) quality
End of Week 9 -- March 27th
Construct use case model.
Specify primary actors.
Identify use cases for primary actors.
Create activity diagram for a particular use case (with all extensions and includes.)
Explain types of UML relationships between classes:
Association
Dependency
Generalization/inheritance
Aggregation by value
Aggregation by reference
Provide examples that illustrate various relationships.
Presentation 5: UML Sequence and State Diagrams ( lecture ).
Modeling dynamic properties of the system - spectrum of the tools
Sequence diagrams in modeling interaction between modules
Modeling behavior of a module using state diagram
Modeling concurrency with activity diagrams
Activity diagram with states
Role of formalism in modeling
State diagrams - automata
Activity diagrams - Petri Nets
Generating executable code from a model
Executable specification
Factors in choosing the level of formalism
Milestone: End of Week 10 -- April 3rd -- Analysis model due.
Week 11 -- April 6-10
30-minute sessions strictly by schedule.
Sign-up in advance -- available times will be posted on the instructor's door.
Moving from analysis to design
Role of non-functional requirements in design
Considering constraints and properties of implementation environment
Design model as a refinement of analysis model in context of implementation environment
Defining Subsystems
Design classes and relationships
Design and plan iterations
Where does the design end?
Milestone: End of Week 13 -- April 24th -- Design model due.
Implementation and unit testing
Role of use cases as test cases
Subsystem integration
Definition of design pattern
Using design pattern as a reusable solution in problem solving process
Defining problem constraints and evaluating applicability of a known pattern to the problem at hand
Essential components of design pattern to make it a reusable asset
Domain independent design patterns
Creational Patterns
Structural Patterns
Behavioral Patterns
Domain specific design patterns
Automation of patterns definition and reuse in IDEs
End of Week 14 -- May 1st
Construct detailed state diagram with all states and transitions.
Provide activity diagram for a particular use case (with all extensions and includes)
Describe the Pool of Resources pattern (N-ton.)
Describe the Proxy pattern.
Construct class diagram for the Proxy pattern.
Define and comment all classes and interfaces.
Explain software extendability issues.
End of Week 14 -- May 7th -- Entire project due
Week 15 -- May 11-14 -- Entire project review sessions.
30-minute sessions strictly by schedule.
Sign-up in advance -- available times will be posted on the instructor's door.
INTRODUCTION TO SWING AND OOP
Week 1: Java Foundation Classes ( lecture )
Weeks 2-5: Object-Oriented Paradigm ( lecture )
Introduction:
Modeling as Engineering Activity hi-rez only, WMV 16 MB.
REQUIREMENTS MODEL
Weeks 6-7: UML Use Cases and Requirements Modeling ( lecture )
Case Study:
An Overview of Project Stages and Design Models
BUSINESS ANALYSIS MODEL - STRUCTURE
Week 8: UML Class Diagrams ( lecture )
UML Class Diagram, Adding Class Attributes ( hi-rez WMV 5 MB.)
Week 9: From Requirements to Classes ( lecture )
UML Class Quality Part II: Designing Objects with Responsibilities ( hi-rez WMV 10 MB.)
UML Class Quality Part IV: Designing Objects with Responsibilities ( hi-rez WMV 10 MB.)
BUSINESS ANALYSIS MODEL - BEHAVIOR
Weeks 10-14: UML Sequence and State Diagrams ( lecture )
Sequence Diagrams and Use-Case Realizations
DESIGN MODEL
Design Model and Class Diagrams
Runtime Behavior and State Diagrams
IMPLEMENTATION MODEL
Implementation Model and Writing Code