Software Development Process Aditya P. Mathur Purdue University Analysis: June 7-8, 1999 Design: June 9-11, 1999 @ Raytheon Technical Services, Indianapolis. Graduate Assistants: Sudipto Ghosh Matt Baarman Last update: June 6, 1999 Design Part I
Topics to be covered Review: Actors and use cases Development process Design Basic principles Collaboration diagrams Principles and guidelines (again) Class diagrams Deployment diagrams June 9-11, 1999 Software Design
Actors (1) Who is an actor? An entity “external” to the system. This entity participates in some way in at leas one domain process. This entity typically stimulates the system with input events or receives something from it. June 9-11, 1999 Software Design
Actors (2) Initiator Actor: Participating actor: Actors are usually: One who initiates a domain process. Participating actor: One who participates in a domain process. Actors are usually: Humans playing a role computer systems electrical or mechanical devices…anything remains ? June 9-11, 1999 Software Design
Actors (3) How to choose an actor? Identify a least one user who can enact an actor. Maintain a minimum overlap between the roles that instances of different actors play in relation to the system. Avoid two or more actors having the same or similar roles. June 9-11, 1999 Software Design
Use cases What is a use case? A domain process. We give it a name. We identify an actor that initiates this domain process and gets value out of this domain process. June 9-11, 1999 Software Design
Discussion Is the internet an actor ? Is a weapon an actor ? Compare the internet with the communication system used by POST to send logging information to a central computer in the store. Is a weapon an actor ? Compare the weapon with the Point of Sale Terminal (the actual cash register). Compare a commander-weapon pair with a buyer-seller pair. Any differences? Similarities? June 9-11, 1999 Software Design
A development process (1) Phases Workflows Iterations June 9-11, 1999 Software Design
A development process (2) Phases Inception Elaboration Construction Transition June 9-11, 1999 Software Design
A development process (3) Workflows Requirements Analysis Design Implementation Test June 9-11, 1999 Software Design
A development process (4) Iterations: Each phase might go through one or more iterations. Examples: Requirements might go through two iterations during the inception phase. In the elaboration phase one might go through two iterations of R, A, D, I, and T. June 9-11, 1999 Software Design
Workflows-Phases Inception Elaboration Construction Transition R A D I Iter# 1 Iter# 2... Iterations June 9-11, 1999 Software Design