CmpE 133 / SE 133 – Software Engineering II

Team Project #1

Process Assignements Due Date:

I will assign your team two processes to document on in the next two weeks.

Project Due Date: Check the Due Date Document.

Project #1 Requirements: Two Development and Business Process documentation

1. Document the two assigned development processes (as a macro-, a mini-, or a micro development and business processes) using the following techniques for each process:

a.  Symbolic Notation for Process Documentation to document each of the assigned process (Fayad-Laitinen Book, Section 13.7 and Appendix A.)

Deliverable: Graphical Symbolic Notation for Process Documentation – Several Pages per process

b.  Map the graphical process to roles: This section describes the activities of each person with a role in the documented process for each phase in the process model. (See Appendix A in Fayad-Laitinen Book)

Deliverable: Textual Document per process contains the Mapping of the actors and their roles – One document per process.

c.  The Process Documentation Template must be filled for each of the assigned processes (Fayad-Laitinen Book, Section 13.7 and Appendix A.)

Deliverable: Textual Process Documentation filled Template – One filled template per process.

d.  The UML’s Activity Diagram to document the process

Deliverable: UML’s Activity Diagram – One diagram per process.

2. For all the processes: Compare the techniques in a, c, and d and explain which one is better than the others and why? Use five of the following criteria:

Simple

Complete

Stable

Testable

Accurate

Graphical or Visual

Dynamic vs Static

Documentable

Tailorable or Scalable

Measurable

Repeatable

Show What, Who, When, and How?

Concrete Actions

Hierarchal

Deliverable: Textual Comparative study using five of the above criteria – One document per project

Guidelines:

1. Make sure to have process properties in mind when you document your process.

2. Capturing existing processes can be very difficult. The danger is that one will record too little relevant data or that one will record far two much data, making the essential features of the process murky. The questions one must ask include, “How do you know when to do it?” Check the rest of the questions in Chapter 13, pages 254-255.

Grading:

Item / % of Grade
Symbolic Notation (2) / 30%
Mapping Process to role (2) / 10%
Process Documentation Template (2) / 30%
UML – Activity Diagram (2) / 20%
Comparison (1) / 10%

Macro-Development Processes: such as,

1.  Waterfall Model

W.W. Royce. Management the Development of Large Software Systems: concepts and Techniques. Proc. IEEE WESTCON, Los Angeles, CA. 1970

I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001

2.  Spiral Model

B.W. Boehm. A Spiral Model of Software Development and Enhancement. IEEE Computer, 21(5), 1988, pp. 61-72

3.  Incremental Model

H.D. Mills et, al. The Management of Software Engineering. IBM Systems Journal, 24(2), 1980

4.  Prototyping Model

I. Sommerville and P. Sawyer. Requirements Engineering: A Good Practice Guide, Wiley & Sons, 1997

I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001

5.  Object Modeling Technique

J. Rambaugh et, al. Object-Oriented Modeling and Design. Englewood Cliffs, New Jersey: Prentice-Hall, 1991

6.  Unified Modeling Language

G. Booch et, al. The Unified Modeling Language User Guide. Reading, MA: Addison Wesley Longman, 1999.

J. Rambaugh et, al. The Unified Modeling Language User Reference. Reading, MA: Addison Wesley Longman, 1999.

7.  Use-Case Driven Approach

I. Jacobson, et, al. Object-Oriented Software Engineering: A Use Case Driven Approach, Reading, Massachusetts: Addison-Wesley, 1992

8.  Fountain Model

B. Henderson-Sellers and J. Edwards. The Object-Oriented System Lifecycle. Communications of the ACM. 33(9), 1990, pp. 142-159.

9.  Transition to Object-Oriented Software Development

M.E. Fayad and M. Laitinen. Transition to Object-Oriented Software Development. New York: Wiley and Sons, August 1998

10.  Others: such as,

a. Extreme Programming:

K. Beck. Embracing Change with Extreme Programming. IEEE Computer 32(10), 1999, pp. 70-78.

K. Beck. Extreme Programming Explained. Reading, MA: Addison-Wesley, Longman, 2000

b. Cleanroom:

H.D. Mills et, al. Cleanroom Software Engineering. IEEE Sofyware, 4(5), 1987

Mini-Development Processes, such as,

11.  Software Planning Process

·  R. Thayer (Editor). Software Engineering Project Management. IEEE Computer Society Tutorial Series, 1988

12.  Software Requirements Engineering Process

a.  S. Robertson and J. Robertson. Mastering the Requirements Process. Addison Wesley Longman, 1999.

b.  G. Kotonya and I. Sommerville. Requirements Engineering: Processes and Techniques, Wiley & Sons, 1998.

c.  I. Sommerville and P. Sawyer. Requirements Engineering: A Good Practice Guide, Wiley & Sons, 1997

13.  Software Design Process

·  J. Rambaugh et, al. Object-Oriented Modeling and Design. Englewood Cliffs, New Jersey: Prentice-Hall, 1991

·  G. Booch et, al. The Unified Modeling Language User Guide. Reading, MA: Addison Wesley Longman, 1999.

·  J. Rambaugh et, al. The Unified Modeling Language User Reference. Reading, MA: Addison Wesley Longman, 1999.

14.  Software Testing Process

·  I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001, Chapter 20.

·  R.V. Binder. Testing Object-Oriented Systems: Models, Patterns, and Tools, Addison Wesley Longman, 1999

15.  Software Maintenance Process

·  I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001, Chapter 27.

·  I. Warren. The Renaissance of Legacy Systems, Springer 1998.

16.  Software Design with Reuse in Mind

·  I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001, Chapter 14.

·  E. Gamma et, al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995

·  M.E. Fayad, et, al. Building Application Frameworks, New York: Wiley & Sons, 1999.

17.  Reverse Engineering Process

·  R.S. Arnold. Software Re-engineering. IEEE Press, 1994

18.  Configuration Management

§  I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001, Chapter 29

§  W. Tichy. Trends in Software: Configuration Management. Wiley & Sons, 1995.

19.  Architectural Design Process

§  I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001, Chapter 10

§  L. Bass et, al. Software Architecture in Practice, Addison-Wesley, 1998.


Micro-Development Processes, such as,

20.  Risk Management

·  C. Jones. Assessment and Control of Software Risks. Prentice-Hall, 1994.

·  E. Hall. Managing Risk: Methods for Software Systems Development. Reading, MA: Addison Wesley Longman, 1998

·  M. Ould. Managing Software Quality and Business Risk. Wiley & Sons, 1999

·  I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001, Chapter 4

21.  Project Schedule and Activity Network

·  R. Thayer (Editor). Software Engineering Project Management. IEEE Computer Society Tutorial Series, 1988

·  I. Sommerville. Software Engineering. 6th Edition, Eddison-Wesley, 2001, Chapter 4

22.  Staffing and Organizing the Project

·  R. Thayer (Editor). Software Engineering Project Management. IEEE Computer Society Tutorial Series, 1988

·  M.E. Fayad & M. Laitinen. Transition to Object-oriented Software Development. Wiley & Sons, August 1998.

23.  Dealing with Culture Change

·  M.E. Fayad & M. Laitinen. Transition to Object-oriented Software Development. Wiley & Sons, August 1998.

24.  Project Tracking

·  R. Thayer (Editor). Software Engineering Project Management. IEEE Computer Society Tutorial Series, 1988

·  M.E. Fayad & M. Laitinen. Transition to Object-oriented Software Development. Wiley & Sons, August 1998.

25.  Size, Cost, and Time Estimation

·  R. Thayer (Editor). Software Engineering Project Management. IEEE Computer Society Tutorial Series, 1988

·  M.E. Fayad & M. Laitinen. Transition to Object-oriented Software Development. Wiley & Sons, August 1998.

·  C.F. Kemerer. Software Project Management: Reading and Cases, Irwin, 1997

·  B. Boehm. Software Engineering Economics. Prentice-Hall, 1981

26.  Software Measurement Process

·  R. Thayer (Editor). Software Engineering Project Management. IEEE Computer Society Tutorial Series, 1988

·  M.E. Fayad & M. Laitinen. Transition to Object-oriented Software Development. Wiley & Sons, August 1998.

·  C.F. Kemerer. Software Project Management: Reading and Cases, Irwin, 1997

27.  Quality Planning and Control

·  R. Thayer (Editor). Software Engineering Project Management. IEEE Computer Society Tutorial Series, 1988

·  C.F. Kemerer. Software Project Management: Reading and Cases, Irwin, 1997

·  K. Kautz. Making Sense of Measurement for Small Organizations. IEEE Software, March/April 1999.

·  IEEE Software, Special Issue on Software Measurement, March 1997

28.  Process Measurement

·  IEEE Software, Special Issue on Software Measurement, March 1997

·  M.E. Fayad and M. Laitinen. Transition to Object-Oriented Software Development. New York: Wiley and Sons, August 1998

·  W. Humphrey. Managing the Software Process. Reading, MA: Addison Wesley 1989

·  W. Humphrey. A Discipline for Software Engineering. Reading, MA: Addison-Wesley, 1995

·  V. Basili and H.D. Romback. The TAME Project: Towards Improvement-Oriented Software Environments. IEEE Trans. On Software Engineering, 14(6), 1988, pp. 758-773.

29.  Requirements Elicitation and Context Diagrams

30.  Requirements Management

31.  Use Case Models, Use Case Diagrams, and Use Cases

32.  CRC Cards and Class Diagrams

33.  Object-Oriented Artifacts: Identification Processes

34.  Software Stability Model

35.  Behavior Models - I: Activity Diagrams and Sequence Diagrams

36.  Behavior Models – II: Object-Interaction Diagrams and State-Transition Diagrams

37.  Modular Decomposition Processes: Object Models and Data-Flow Models

38.  Distributed Systems Architectures

39.  Real-Time Software design

40.  User Interface Design & Information Presentation

41.  Software Documentation Process

Macro, Mini, and Micro Business Processes: such as,

(1)  Business Incorporation

(2)  Intellectual Property Protection

(3)  Product & Services Evaluation

(4)  Market Analysis

(5)  Marketing & Sales Projections

(6)  Business Feasibility Analysis

(7)  Advertising Return On Investment Analysis

(8)  Point of Sale & Sales Channels Analysis

(9)  Corporate Structuring

(10)  Recording Business Meeting Minutes

(11)  Budgeting

(12)  Expense Reimbursement

(13)  Asset Request and Approval

(14)  Scheduling

(15)  Termination Dismissal of Employee

(16)  Interview / Recruiting / Reference Checking

(17)  Contact possible sales leads

(18)  Customer Follow-up

(19)  Technical Support

(20)  Website Updating

(21)  Technical Paper Publication

(22)  PowerPoint Presentation

(23)  Sales Approval

(24)  Asset Tracking

(25)  Hours / Time Card Tracking

(26)  To-Do/Activity List management

(27)  Products & Services Positioning

And many more!!

ACTIVITY BASED COSTING
ACCOUNTING
ACQUISITIONS
ASSEMBLY
ASSET MANAGEMENT
BALANCED SCORECARD
BENCHMARKING
BILLING BUDGET
CALIBRATION
CALL CENTERS
CHARITY
COMPLAINT HANDLING
CONFIGURATION MANAGEMENT
CONTRACTING
COST CONTROLS
COST MEASURING
CREATIVITY
CREDIT MANAGEMENT
CUSTOMER - REQUIREMENTS
CUSTOMER - SATISFACTION
CUSTOMER - SERVICE
CUSTOMER - TRAINING
DEBT COLLECTION
DELIVERY
DIRECT MAIL
DISASTER RECOVERY
DISTRIBUTION
DOCUMENT CONTROL
DONATING
EMERGENCY PREPARATION
EMPLOYEE - ATTENDANCE / EMPLOYEE - BENEFITS
EMPLOYEE - COMMUNICATION
EMPLOYEE - COMPENSATION
EMPLOYEE - DEVELOPMENT
EMPLOYEE - EVALUATION
EMPLOYEE - INCENTIVE PROGRAMS
EMPLOYEE - RECOGNITION
EMPLOYEE - RECRUITING
EMPLOYEE - RETENTION / TURNOVER
EMPLOYEE - SATISFACTION
EMPLOYEE - SUGGESTIONS
EMPLOYEE - TRAINING
ENGINEERING
ENVIRONMENT
EXTERNAL COMMUNICATIONS
FACILITY MANAGEMENT
FAILURE ANALYSIS
FAILURE MEASURING
FAILURE MONITORING
FINANCE
FLEET MANAGEMENT
FRANCHISING
FREIGHT
HEALTH & SAFETY
HELP DESKS
HUMAN RESOURCES
INFORMATION MANAGEMENT
INFORMATION SYSTEMS & TECHNOLOGY
INNOVATION
INSPECTION
INTERNAL COMMUNICATIONS / INTERNSHIP
INVENTORY MANAGEMENT
ISO
KNOWLEDGE MANAGEMENT
LEADERSHIP
LOGISTICS
LOSS MANAGEMENT
SECURITY MANAGEMENT
MAINTENANCE
MANAGEMENT
MANUFACTURING
MARKETING
MATERIAL MANAGEMENT
MENTORING
MERGERS
OPERATIONS
ORDER FULFILLMENT
ORDER PROCESSING
OUTSOURCING
PAYROLL
PERFORMANCE IMPROVEMENT
PERFORMANCE MEASUREMENT
PLANNING
POLICY
PROCESS IMPROVEMENT
PROCESS MANAGEMENT
PROCUREMENT
PRODUCT DELIVERY
PRODUCT DESIGN
PRODUCT DEVELOPMENT
PRODUCT MANAGEMENT / PROJECT MANAGEMENT
PUBLIC RELATIONS
PURCHASING
QUALITY
QUALITY ASSURANCE
QUALITY IMPROVEMENT
RECORDS MANAGEMENT
RECYCLING
REENGINEERING
REFURBISHING
REGULATIONS
REPAIR
RELIABILITY
RESEARCH & DEVELOPMENT
RESTORATION
RISK MANAGEMENT
SALES
SECURITY
SELF DIRECTED TEAMS
SERVICE
SERVICE DELIVERY
STEWARDSHIP
STAFFING
STRATEGIC PLANNING
SUPPLIER MANAGEMENT
TELECOMMUTING
TESTING
VENDOR RELATIONS
VOLUNTEERING
WAREHOUSING
WARRANTY
WASTE MANAGEMENT
WORKFORCE DIVERSITY