Word

pdf

School

University of South Carolina *

*We aren’t endorsed by this school

Course

481

Subject

Information Systems

Date

Dec 6, 2023

Type

pdf

Pages

2

Uploaded by KidWater22915

Report
Why is business process modeling important? Business process models describe the different activities that when combined together support a business process. Business processes typically cut across functional departments. They are very powerful tools for communicating the analyst's current understanding of the requirements with the user. Describe how to create use cases. 1. Write each step in the SVDPI form 2. Make clear the initiator and receiver of action in each step 3. Write the step from the perspective of an independent observer 4. Write all steps at the same level of abstraction 5. Ensure that each use case represents a sensible set of actions 6. Keep all steps as simple as possible 7. Repeat all actions as necessary. Why do we strive to have about three to nine major use cases in a business process? This is about the number of discrete items most people can comfortably deal with at one time. Having fewer major use cases may mean that we are collecting too many activities together into each use case. Having more major use cases may mean that we are describing more than one business process Describe how to create use case diagrams. 1) Start by drawing the system boundary 2) Draw the use cases on the diagram 3) Place the actors on the diagram 4) Draw the lines connecting the actors to the use cases with which they interact How is use case diagramming related to functional modeling? The purpose of use-case models is to provide a description of the problem domain. The use case descriptions and diagrams provide a formal definition of the functionality of the business processes Actor The actor is someone/something outside the system that provides information that the system needs. the actor can also recieve information that the system creates Use case A use case is a description of what the system does from the perspective of the user System boundary The system boundary is the dividing point between those items that are included in the system and those that are not. The boundary separates the parts of a job that are done by the application from those that are done by actors Relationship: Use cases are not independent and stand alone items in most examples. Pairs (or more) of use cases can be related and can be associated Every association must be connected to at least one _______ and one _________. Why? Every association must be connected to at least one use case and one actor. This is the definition of an association it shows two-way communication between the use case and the actor. What are some heuristics for creating a use case diagram? No order is implied by the diagram, so it is not important to sequence the various use cases. It is usually necessary to redraw the diagram several times to make the diagram easy to read. There should be no more than three to nine use cases on the model to keep it simple yet informative. Why is iteration important in creating use cases? If you go into a project expecting to build it up over time and perform many iterations, you will find that the development process goes more smoothly and is less frustrating What is the purpose of an activity diagram An activity diagram describes the various user (or system) activities, the person who does each activity, and the sequential flow of these activities. What is the difference between an activity and an action? an activity can be decomposed further into a set of activities and/or actions, whereas an action represents a simple non-decomposable piece of the overall behavior being modeled. An Action is a simple, non-decomposable behavior and is labeled by its name Initial control node This node portrays the beginning of a set of actions or activities Final-activity control node This node is used to "stop the process" being modeled Final-flow control node stops a specific path of execution through the business process, but allows the other concurrent or parallel paths to continue Decision control node This node is used to represent the actual test condition that is used to determine which of the paths exiting the decision node is to be traversed Merge control node This node is used to bring back together multiple mutually exclusive paths that have been split based on an earlier decision Fork control node A fork node is used to split the behavior of the business process into multiple parallel or concurrent flows Join control node Finally the join node brings back together the separate parallel or concurrent flows in the business process into a single flow A control flow shows a) The sequence of execution through a business process b) It is represented by a solid line with an arrowhead on it showing the direction of the flow c) These can be attached only to actions or activities An object flow shows: a) The flow of an object from one activity (or action) to another activity (or action) b) They are depicted as a dashed line with an arrow on it showing the direction of the flow c) An individual object flow must be attached to an action or activity on one end and an object node on the other end. What is an object node? Object nodes represent the flow of information from one activity to another activity. Object node is used to represent an object that is connected to a set of Object Flows. How does a detail use case differ from an overview use case? The overview use case provides a high level version of the system. It shows the basic information. the detail level use case shows all of the aspects of the use case needed to document the system. How does an essential use case differ from a real use case? The essential use case uses only the minimal essential issues necessary to understand specific functionality. The real use case adds in the specifics of how the system implements the request. What are the major elements of an overview use case? name, ID number, primary actor, type, and a brief description What are the major elements of a detail use case? elements plus a listing of stakeholders and interests; trigger and trigger type; relationships; normal flow of events; listing of sub-flows and alternate/exceptional flows. What is the viewpoint of a use case, and why is it important? The viewpoint is from outside the system. This is important as a way to translate business needs into technical specifications. It is important to insure that these stakeholders' needs are addressed by the system. What are some guidelines for designing a set of use cases? Give two examples of the extend associations on a use case diagram. Give two examples for the include association. At its highest level, the analyst must consider the major case and its multitude of possible variations; must consider the boundaries, must consider all the stakeholders and all inputs and outputs of the system; and must translate the descriptions accurately into diagrams. extend association can include; out-of-stock situation. discount for the purchase of two rather than just one of an item in stock. include association can include: a customer uses a shopping cart to gather products. "calculate invoice total" use case could use a "look up tax from table" use case Which of the following could be an actor found on a use case diagram? Why? Ms.Mary Smith Supplier Customer Internet customer Mr. John Seals Data entry clerk Database administrator a) Ms. Mary Smith b) Customer c) Internet Customer d) Mr. John Seals. The reason being, an actor is not a specific user, but a role that a user can play while interacting with the system. An actor can also represent another system in which the current system interacts What is CRUD? Why is this useful? CRUD stands for create, read, update, or delete. This is useful because these are the very basic elemental actions that are needed regarding almost all tasks What is a walkthrough? How does it relate to verification and validation? A walkthrough is essentially a peer review of a product. a walkthrough is a review of the different models and diagrams created during functional modeling. The purpose of a walkthrough is to thoroughly test the fidelity of the functional model. It relates to verification and validation in that it uses a team with specific roles to uncover errors in the business process What are the different roles played during a walkthrough? What are their purposes? Presenter - person primarily responsible for the specific representation being reviewed. Recorder- member of analysis team that records all important aspects of the walkthrough. Records discovered errors Maintenance Oracle - Raises issues regarding maintenance of the representation Also needs to be a person who calls, sets up, and runs the meetings How are the different functional models related and does this affect the verification and validation of the models? there should be at least one event recorded in the normal flow of events, sub flows, or alternative/exceptional flows of the use case description for each activity included on the activity diagram. Sequential order of events in the use case description must match sequential order of activities contained in the activity diagram. Must be only one use case for each use case description All actors in the use case description must be in the use case diagram Yes, the relation of the different models affects verification and validation models. If the above criteria are not met, the walkthrough will uncover numerous errors. Describe to a Business Person the multiplicity of a relationship between two classes. When a relationship exists between classes, the multiplicity documents how many objects may or must be associated between these classes in the form of minimum and maximum numbers. In general, multiplicity reflects business rules regarding the nature of these relationships among classes. 2. Why are assumptions important to a structural model? In many cases, the analyst must continue to progress in developing the model, even without knowing all of the business rules. Assumptions are important for continuing to work when faced with uncertainty. The developer should check these assumptions at the earliest possible occasion 00:00 01:15 3. What is an association class? These are classes formed when a relationship itself has associated properties, especially when its classes share a many-to-many relationship Contrast the following set of terms: a) Object; class; instance b) Property; method; attribute c) Super class; subclass d) Concrete class; abstract class class - template that we use to create specific instances, or objects An attribute represents a piece of information relevant to the instance/class in the domain of the particular application a method is something that the object can do, a task that can be performed super class will contain the attributes and operations shared by a number of subclasses subclasses inherit the characteristics of the super class A concrete class is a template actually used to create objects. An abstract class may be a generalization of multiple concrete classes that is useful for indicating common features/attributes/methods for the individual concrete classes, but is not used to generate objects itself 5. Give three examples of derived attributes that may exist on a class diagram. How would they be denoted on the class diagram? a) / age (derived from the difference between birth date and current date. b) / line-item cost (derived from multiplying product price by quantity) c) / grade point average (derived from the dividend of total grade points by total units) 6. What are the different types of visibility? How would they be denoted on a class diagram? Visibility relates to the level of information hiding to be enforced for the attribute public (+), protected (#), or private (-) 7. Draw the relationships that are described by the following business rules. Include the multiplicities for each relationship. a) A patient must be assigned to only one doctor, and a doctor can have one or more patients. b) An employee has one phone extension, and a unique phone extension is assigned to an employee. c) A movie theater shows at least one movie, and a movie can be shown at up to four other movie theaters around town. d) A movie either has one star, two co-stars, or more than 10 people starring together. A star must be in at least one movie. [Patient]1________________1..*[Doctor] [Employee]1_1[Phone Extention] [Theater]1..*_____________1..4[Movie] [Movie]1,2,10______________1..[Star] 8. How do you designate the reading direction of a relationship on a class diagram? A primary purpose of the class diagram is to show the relationships, or associations, that classes have with one another. there really is no definite sequence of these, so one could start anywhere and move in any direction 9. For what purpose is an association class used in a class diagram? Give an example of an association class that may be found in a class diagram that captures students and the courses they have taken. The association class is used to show a relationship where the relationship itself has attributes which has information regarding the relationship itself that should be captured 10. Give two examples of aggregation, generalization, and association relationships. How is each type of association depicted on a class diagram? Aggregation: The spark plug is part of the engine; the engine is part of the car Generalization: The graduate student is a student; the rock music CD is a CD Association: customer orders book; UPS/FedEx/Post Office delivers book Generalization shows that one class (subclass) inherits from another class (superclass) The generalization path is shown with a solid line from the subclass to the superclass Aggregation is used when classes actually comprise other classes 11. Identify the following operations as constructor, query, or update. Which operations would not need to be shown in the class rectangle? Calculate employee raise (raise percent) Calculate sick days ( ) Increment number of employee vacation days ( ) Locate employee name( ) Place request for vacation ( ) Find employee address ( ) Insert employee ( ) Change employee address ( ) Insert spouse ( ) Constructor -- generally available to all classes and not shown Insert employee ( ) Insert spouse ( ) Update Calculate employee raise (raise percent) Calculate sick days ( ) Increment number of employee vacation days ( ) Place request for vacation ( ) Change employee address ( ) Query Locate employee name( ) Find employee address ( ) 12. How are different structural models related and how does this affect verification and validation of the model? Different structural models are related because the primary purpose of each is to create a vocabulary that allows the users and developers to communicate effectively. CRC Cards, class diagrams, and (in some cases) object diagrams are carefully checked for consistency through role-play, walkthroughs, or both. How is behavioral modeling related to structural modeling? Behavioral modeling describes the things that happen and changes that occur during use of a system whereas structural modeling describes the essentially permanent elements of the system. How does a use case relate to a sequence diagram? A communication diagram? the sequence and communication diagrams are used to show the underlying details of business processes portrayed by the use case model. Contrast the following sets of terms: a) state; behavior b) class; object c) action; activity d) use case; scenario e) method; message Objects have behaviors that are described by operations. The state of an object at a given point in time is the collection of data available The class is a template that generates objects. Objects become available to be instantiated with data that pertain to a particular instance of the class/object An action is an atomic, non-decomposable process that cannot be interrupted. the activity is non-atomic and decomposable process that is in essence comprised of actions The use case describes behaviors of a system initiated by an actor and resulting in benefit of the same or another actor. Scenarios comprise the use case including the base case and possible variations. Method is another name for an operation. Methods take action when they receive messages Messages can also be the result of an object's behavior. Why is iteration important when creating a behavioral model? As we develop, expand, and validate one model, we learn more about other aspects of the system, which helps us elaborate on allied models. We need to update older models to reflect the new learning Describe the main building blocks for the sequence diagram and how they are represented on the model. The main elements of the sequence diagram are the actor, object, lifeline, focus of control, message, and object destruction The actor is represented by a stick figure; the object by a rectangle with the object and class names inside; the lifeline by a vertical dotted line; the focus of control by a thin vertical rectangle; the message by an arrow directed line with the name of the message above. The object destruction is shown by an "x" at the end of an object's lifeline. How do you show that a temporary object is to go out of existence on a sequence diagram? Place an "x" at the bottom of its lifeline to show that a temporary object is to go out of existence on a sequence diagram Do lifelines always continue down the entire page of a sequence diagram? Explain. No. When the object continues to exist for the entire sequence of events, then it will continue down to the bottom of the diagram. Otherwise, an "x" shows where it ends. Describe the steps used to create a sequence diagram. a) The context of the sequence diagram must be determined. b) The objects to be used in the sequence being modeled are identified. c) The lifeline for each object is set. d) Messages are added to the diagram. e) The focus of control on each object's lifeline is drawn in. f) The sequence diagram is validated. When drawing a sequence diagram, what guidelines should you follow? a) Try to have the messages not only in a top to bottom order, but also in a left to right order b) If an actor and an object conceptually represent the same idea, label them with the same name. c) The initiator of the scenario should be the drawn as the farthest left item in the diagram. d) When there are multiple objects of the same type, be sure to include a name for the object in addition to the class of the object. e) Show return values only when they are not obvious. f) Justify message names and return values near the arrowhead of the message and return arrows, respectively Describe the main building blocks for the communication diagram and how they are represented on the model. actor, object, association, and message. The actor is the person or system that initiates and derives benefit from the system. Objects participate in the sequence of activities by receiving or sending messages. An association shows a link between actors and/or objects by which messages are conveyed. A message shows that information is being conveyed from one object to another. How do you show the sequence of messages on a communication diagram? Each message is given a number that corresponds with the order in which the message is transmitted. How do you show the direction of a message on a communication diagram? You show the direction of the message by adding an arrowhead
Describe the steps used to create a communication diagram. a) The context of the sequence diagram must be determined. b) The objects/actors and associations that collaborate need to be identified.c) The objects/actors are laid out with their associations displayed. d) Message names and directions are added. e) The collaboration diagram is validated When drawing a communication diagram, what guidelines should you follow? 1. Set Context 2. Identify Objects, Actors, & Associations 3. Lay Out Diagram 4. Add Messages 5. Validate Are states always depicted using rounded rectangles on a behavioral state machine? Explain Most of the time they are. The exceptions are the initial state and the final state. These are shown with a filled in circle for initial state and a "bullseye" circle for the final state What kinds of events can lead to state transitions on a behavioral state machine? It can be a designated condition becoming true, the receipt of the call for a method by an object, and the passage of a designated period of time What are the steps in building a behavioral state machine? 1. Determine the context of the behavioral state machine, usually a class. 2. Identify the various states that an object will have over its lifetime 3. Determine the sequence through the states that the object can pass over its lifetime. 4. Identify events, actions, and guard conditions associated with the transition between states. 5. Validate the behavioral state machine How are guard conditions shown on a behavioral state machine? A guard condition is a Boolean expression which allows a transition to occur only if the condition is true. expression is placed in brackets and located along the relevant transition. Describe the type of class that is best represented by a behavioral state machine. Give two examples of classes that would be good candidates for behavioral state machine. A fairly complex class that responds to multiple events and that has significant changes in state over time. Examples include: invoices and purchase orders; inventories What is CRUDE analysis and what is it used for? CRUDE analysis uses a CRUDE matrix, in which each interaction among objects is labeled with a letter for the type of interaction: C for create, R for read or reference, U for update, D for delete, and E for execute. Each cell in the matrix represents the interactions between instances of the classes. What does the Behavioral State Machine model contain? State, final state, initial state, event, transition, guard condition What does the Collaboration Diagram model contain? Actor, object, association, message What does the Sequence Diagram model contain? Actor, object, lifeline, focus of control, message, object destruction What does the Class Diagram model contain? Class, attributes, operations, associations, multiplicity What does the CRC Card model contain Class name, ID, type, description, associations, responsibilities, collaborators, attributes, relationships, aggregation, generalization, extends associations What does the use case model contain? Use case name, ID, importance, actor, stakeholders, trigger and relationships What is the primary difference between an analysis model and a design model? The analysis model essentially ignores non-functional requirements such as performance and system environment issues the design models take these issues into account toward preparing for development that is affordable and maintainable What is meant by balancing the model? The process of ensuring the consistency among the Functional, Structural, and Behavior models 00:00 01:15 What are the interrelationships among the functional, structural, and behavioral models that need to be tested Functional & Structural Models: the activity diagrams, use-case descriptions, and use-case diagrams must agree with the CRC cards and class diagrams that represent the evolving model of the problem domain. Functional & Behavioral: the activity diagrams, use-case descriptions, and use-case diagrams must agree with the sequence diagrams, communication diagrams, behavioral state machines, and CRUDE matrix. Structural & Behavioral: the activity diagrams, use-case descriptions, and use-case diagrams must agree with the CRUDE matrix, CRC cards, class diagrams, and different values of an attribute or set of attributes that describe an object. What does factoring mean? How is it related to abstraction and refinement? Factoring is the process of organizing modules taking into account the possibilities of creating new generalized groupings and differentiating concrete new classes or methods. Abstraction and refinement are two specific methods for factoring What is a partition? How does a partition relate to collaboration? A partition is like a "subsystem". It represents a collection of modules that are interrelated and somewhat self- contained. What is a layer? Name the different layers. Layers are different elements of the system architecture. foundation, system architecture, human-computer interaction, data management, and problem domain What is a package? How are packages related to partitions and layers? A package is a general construct that groups together various UML elements. the package can group use-case diagrams, class and collaboration diagrams What is a dependency relationship? How do you identify them? A dependency relationship shows that a modification dependency exists between two packages. That is, a change in one package can potentially cause a change in another package. A dependency relationship is portrayed by a dashed t. What are the five steps for identifying packages and creating package diagrams? a) Set the context for the package diagram. b) Cluster the classes together into partitions c) Place the clustered classes together in a partition and model the partitions as packages. d) Identify the dependency relationships e) Place the dependency relationships on the evolved package diagram. What needs to be verified and validated in package diagrams? identified packages must make sense from a problem domain point of view. all dependency relationships must be based on message-sending relationships on the communications diagram, cell entries in the CRUDE matrix, and associations on the class diagram. When drawing package diagrams, what guidelines should you follow? 1. Create package diagrams to logically organize designs. 2. Organize package diagrams based on semantic relationships 3. Dependency relationships between packages should reflect the existence of semantic relationships between elements of one package with elements of another package. 4. include the actors to portray use case usage. 5. Give packages simple, but descriptive names. 6. Make packages cohesive. What situations are most appropriate for a custom development design strategy? When teams need complete control, when the company wants to its in house IT department to run new system, and when companies wish to allow system to incorporate new technologies down the road What are some problems with using a packaged software approach to building a new system? How can these problems be addressed? Companies must accept the functionality that the system provides and this is rarely identical to what the company would prefer. can be addressed by using customization to tailor the internals of the package to meet user needs, by workarounds that add custom interfaces to help the system fit into the existing environment and by object wrappers that are built around legacy or pre-existing systems Why do companies invest in ERP (enterprise resource planning) systems? The ERP system, if it were to work well, would aid in both updating many old systems as well as enabling better integration among various business units What are the pros and cons of using a workaround? On the pro side, the workaround may be a relatively inexpensive solution for making an imperfect but inexpensive software package usable. It allows the firm to retain the use of software already invested in. On the con side, venders may not support the packaged software with the workaround (and the workaround may cause unexpected problems with the software. When is outsourcing considered a good design strategy? When is it not appropriate? Outsourcing can be an excellent strategy particularly if your firm does not have the technology or expertise to develop a particular system in-house. if the requirements for the project have not been thoroughly examined, there is a good chance that the outsourcer will develop good but inappropriate or incomplete software What are the differences between the time and arrangements, fixed-price, and value-added contracts for outsourcing? The time and arrangements approach is quite flexible because it charges by the actual time and expenses involved. The fixed price contract sets an agreed-upon price for a particular outcome. The value added contract shares the risk of development between outsourcer and client, but also provides the outsourcer continued benefits once the system is completed. How are the alternative matrix and feasibility analysis related? The alternative matrix is organized to show the value of each alternative relative to each criterion. The alternative matrix is a format that can be used to facilitate the ease of comparing alternatives while performing the feasibility analysis. What is an RFP? How is this different from an RFI? The RFP is a request for proposals. It is a document that solicits proposals from vendors, developers or service providers based on a description of what the intended system is expected to accomplish. The RFI is a less intensive but similar effort to interact with potential vendors regarding basic services that can be supplied. N ame : The use-case name should be a verb noun phrase (e.g., Make Old Patient Appt) ID N umber : The use-case ID number provides a unique way to find every use case and also enables the team to trace design decisions back to a specific requirement. The use-case type is either overview or detail and essential or real. The primary actor: is usually the trigger of the use case the person or thing that starts the execution of the use case. The primary purpose of the use case is to meet the goal of the primary actor. The brief description is typically a single sentence that describes the essence of the use case. The importance level can be used to prioritize the use cases. Stakeholders are the ones that have an interest in the use case. Trigger : the event that causes the use case to begin. Type: external OR internal. Relationships : explain how the use case is related to other use cases and users : Communication between the use case and the actors . Extend: Extends the functionality of a use case . Include: Includes another use case . Generalization: Allows use cases to support inheritance Normal flow: the usual set of activities . Sub-flows: decomposed normal flows to simplify the use-case . Alternate or exceptional flows: those not considered the norm. Activity Diagram : illustrate the processes or activities that are performed and how objects (data) move among them. Classes, Attributes, and Operations A class is a general template that we use to create specific instances, or objects, in the problem domain. Abstract : do not actually exist in the real world; they are simply useful abstractions. Concrete Class : used to create objects. Attributes : Properties that describe the state of an instance of a class (an object). An attribute of an analysis class represents a piece of information that is relevant to the description of the class within the application domain of the problem being investigated. Single valued (ID). Multivalued (Color). Derived attribute : is an attribute that has been calculated or derived using other attributes in the database. Preceded with a slash (/) e.g., age is derived from date of birth. Visibility: Public attributes (+): visible to all classes. Private attributes (-): visible only to an instance of the class in which they are defined. Protected attributes (#): visible only to an instance of the class in which they are defined and its descendants Operations : The behavior of an analysis class is defined in an operation or service (Methods).Actions or functions that a class can perform. Constructor creates an object(E.g.: create help article). Query makes information about the state of an object available(read help help article) Help Page -Articles -Search bar -FAQ + CreateHelpArticle() + EditHelpArticle() - DeleteHelpArticle() Class Diagrams :A static model that shows classes and their relationships to one another. the associations between classes, Depicted as lines between classes, Multiplicity indicates how many of one object is/are associated with other objects Interaction Diagrams Sequence Diagrams: dynamic model that shows the explicit sequence of messages that are passed between objects in a defined interaction. Aid in understanding real-time specifications and complex use-cases. Generic diagram shows all scenarios for a use-case. Instance diagrams show a single scenario. Elements Sequence Diagrams : Actors and objects . lifeline. An execution occurrence. A message. A guard condition. For object destruction (X). A frame. Communication Diagrams: can show how the members of a set of objects collaborate to implement a use case or a use-case scenario. Depict the dependencies among the objects. An object diagram that shows message passing relationships. Emphasize the flow through a set of objects. Communication diagrams are very useful to show process . Crude Analysis: Labels object interaction in 5 possible ways: Create can one object create another? Read can one object read the attributes of another? Update can one object change values in another? Delete can one object delete another object? Execute can one object execute the operations of another? The Design Process: Verify and validate the analysis models. Evolve the analysis models into design models : Analysis models focused on functional requirements. Design models must include non- functional requirements as well. The system must be maintainable and affordable, efficient and effective. Utilize factoring, partitions & Factoring: Creating modules that account for similarities and differences between units of interest. New classes formed through a: Generalization (a-kind-of) relationship, or a Aggregation (has-parts) relationship. Abstraction create a higher-level class (e.g., create an Employee class from a set of job positions) Refinement create a detailed class (e.g., create a secretary or bookkeeper from the Employee class) Partition: create a sub-system of closely collaborating classes. Base partitions on patterns of activity (e.g., collaborations found in a communication diagram patient with receptionist with appointment) Greater coupling among classes may identify partitions (e.g., more messages passes between objects suggests that they belong in the same partition) Identifying partitions and collaborations determines which classes should be grouped together. Create packages and utilize package diagrams. Decide upon a design strategy(acquisition strategy for in- house development. Identify existing packages that satisfy the users’ needs. Locate companies who can build it under contract . Create an alternative matrix to organize the pros and cons of each possible choice (i.e., multi-attribute matrix). Incorporate technical,
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help