Object Oriented Analysis and Design Using UML A Whitepaper by Mark Collins- Cope of Ratio Group. DOWNLOAD PDF The following Object Model shows a simple Banking System, containing classes for Head-Office, Branch, Accounts. Syllabus MIS and Systems Analysis and Design & Project Management Fall T-Th, a.m. (class) T-Th, p.m. (lab) . Systems analysis and design /Alan Dennis, Barbara Haley Wixom, Roberta M. through UML , the new standard for object-oriented analysts and design.
|Language:||English, Spanish, Arabic|
|ePub File Size:||23.52 MB|
|PDF File Size:||17.83 MB|
|Distribution:||Free* [*Sign up for free]|
Systems analysis & design: an object-oriented approach with UML/Alan Dennis, Systems Analysis and Design (SAD) is an exciting, active field in which. Systems analysis and design /Alan Dennis, Barbara Haley Wixom, through UML , the new standard for object-oriented analysts and design, as .. business analysis benchmark - full scretch.info; accessed February,. Systems analysis design, UML version an object oriented approach/Alan Dennis, Barbara .. oriented systems analysis, the Unified Process, and the UML .
Skip to main content. Log In Sign Up. Systems analysis and design with UML version 2. Betty Nalugya. Chudoba, Ph. BUS Office Hours:
Everything you learn in this class should be applied to the project. Include as many project management tools as possible; for example, one of the first things to create for your project will be a Gantt chart. Specific guidelines for projects will be discussed in class and posted on Blackboard. Project ideas from the past: I expect everyone to be active contributors to the project, in terms of quality and quantity of input and by helping other team members to do their best.
Unprofessional performance and free-riding will be reflected in a student earning a lower grade for the project and its associated deliverables, and may mean that one or more members of the team will receive a failing grade. Special Topic Presentation Two people who are in different project teams will select a topic, conduct research about the topic, and make a presentation to the class.
If appropriate to your topic, include an interactive element to your presentation. In addition, you must create two questions about the material covered in your presentation that are appropriate for inclusion on one of the two tests. Presentations should be minutes long.
PowerPoint slides and questions must be sent to me no later than 9 a. I will post your presentation to Blackboard so that it is available to your classmates. Executive Presence Much of your learning will occur as you prepare for and participate in class discussions. Most people in business are evaluated on what they say, how they say it, and how they present themselves.
The classroom gives you the opportunity to hone your discussion, debating, and impression management skills. Your participation will be evaluated based on what you contribute, not just what you know. Effective participation has much more to do with quality than quantity. In other words, those who dominate air time without contributing to the advancement of the discussion will not be rewarded.
Executive presence also includes not engaging in activities that show disrespect to me or to your fellow students, including talking on cell phones, texting, or browsing the Internet during class.
I realize that individuals come to this class with different backgrounds in technology topics. The field is constantly changing. No one can possibly know all there is to know. The way to learn is to dive right in.
You can expect to receive the following grades for executive presence if your contributions are concise and illustrate critical thinking that is, they go beyond the stated facts.
I evaluate performance after each class. If I believe that preparation is not up to my standards, I reserve the right to administer unannounced quizzes. These quizzes will cover the material assigned for the class session and no make-up quizzes will be given. The quiz scores will be used to partly determine the executive presence grade. Attendance Policy Arrive on time and stay for the duration of each class.
A student may be dropped from a course by the Dean if absences are repeated and the instructor recommends this action. A student can gain re-admission only with permission of both the Dean and the instructor. Missed classes can be for any reason e. Class members including the instructor are to treat each other politely, both in word and deed. Offensive humor and aggressive personal advances are specifically forbidden.
If you feel uncomfortable with a personal interaction in class, see me for help to solve the problem. Disability Accommodation Students with ADA-documented physical, sensory, emotional or medical impairments may be eligible for reasonable accommodations. Veterans may also be eligible for services. Please contact the DRC as early in the semester as possible. Alternate format materials Braille, large print or digital are available with advance notice. Ethical Conduct Ethical conduct means communicating honestly and politely with fellow students and with the instructor; it means planning and writing your own projects, and it means relying solely on your own memory to answer test questions.
Students who engage in unethical behavior connected with this class will receive a grade of F for the course and may be referred to other appropriate authorities. Grievance Process Student Code Students who feel they have been unfairly treated [in matters other than i discipline or ii admission, residency, employment, traffic, and parking - which are addressed by procedures separate and independent from the Student Code] may file a grievance through the channels and procedures described in the Student Code: Grievances, pages Discuss potential projects.
Develop meeting template. Think about topic presentations and form Tuesday Lab dyads. Select presentation topics. SAD 1: Develop Thursday Lab questions to ask potential stakeholder s. Submit as email attachment. Behavioral modeling Chapter 7 pp.
These last point brings out an interesting feature of what is being shown on an Object Model: clearly it wouldn't make sense for each Transaction to be "debit ed -from" and "credit ed -to" the same Account no money would be transferred! Obviously, although the lines relationships are shown to the same Account class, they do not necessarily represent links to the same Account object at run-time. A relationship shown on an Object Model indicates that some kind of run-time link will exist between two instances of the classes shown on the Object Model.
Thus the Branch to Accounts relationship should be read as follows: An instance of the class Branch will be linked to zero to many instances of the class Account, whilst an instance of the class Account will be linked to one and only one instance of the class Branch. They assist in the clarification of the relationships that should be somehow represented in a software system. The important point to note hear is that we are first working out what relationships we need to represent in our system "belongs-to", etc.
Put another way, Object Modelling allows us to focus on exactly what problem we are trying to solve, before we look at the best way of implementing our model in a particular programming language. Lets take a look at a sub-set of our previous example: Figure 4 - Subset of Banking Model Our Object Model shows us that we need four classes: Transaction; Account; Current Account and Savings Account, and that our implementation must enable us to represent the fact that any particular Account has two sets of Transactions associated with it - which will be needed to implement the PrintStatement method.
Here we have a number of choices: linked-lists; collection-classes; dynamically bounded arrays of pointers; etc. Of course, better implementations of the "debit-from" relationship are possible, but the fact that the Account class interface completely hides the underlying implementation of this relationship means that we can improve on our first cut implementation at a later date with little impact on our overall system code.
In other words, use of the Account class interface has limited the impact of the relationship implementation method: something we strive to achieve when writing OO based applications.
This is implicit in our Object Model, and is what the system's users would expect to see. To see why, consider the case when a new Transaction value is entered in error. The Transaction is linked to two accounts "debit-from" and "credit-to". If the Transaction object is shared, only one object need be modified to rectify the situation. Using two objects would either mean that either the system has to update two objects equals more coding work , or that the user has to update two Transactions equals greater potential for mistakes.
Although our Object Model "debit-from" relationship uses a linked list, there are many alternatives to this choice - including the use of a relational database to underpin the system.
The point is, however, no matter what mechanism is used, we are actually trying to implement a "many-to-one" relationship between an Account and a Transaction.
It is this relationship that exists in the banking problem domain - not a relationship involving linked lists or collection classes. Object Modelling enables us to spot the relationship required by the problem domain, and then choose the best way of implementing it.
So far, we have only implemented the "debit-from" relationship in one direction- from the Account class to the Transaction class. Our model does not yet specify in which direction the relationship will be traversed.
If we need to traverse the relationship in both directions - getting from the Transaction to the related Account - our implementation will prove insufficient, and some form of double pointer schema may be needed. Much work would have been saved if we had known this fact before we had started writing the code. Although our Object Model provided a starting point for our implementation, it was not complete, for example new methods have been added to the Account class.
Other factors may also influence our choice of implementation: do we need a direct form of access - for example using a Transaction number to go directly from the Account to the relevant Transaction? If we do, then a linked-list will prove an inefficient choice of implementation.
Again, it would be very useful to know this type of information before we start trying to implement the relationship.
From these points we can see that we need to consider the wider requirements of our system before we can come up with the right implementation of our "debit-from" relationship not to mention the many other classes and relationships that might be required. We can't produce a good design for a system unless we consider all the required functionality - in detail.
Use Cases provide the mechanism for doing this.
They provide a useful technique which, in conjunction with Object Modelling, help us to clarify exactly what the system is supposed to do. Each type of user typically has their own particular set of requirements for a system: hence identify user types assists in identifying all the required system functions. The Use Case diagramming technique allows us to make a first cut at defining the system requirements, and will help us in presenting these requirements back to the users of the system.
It also partitions the system into single atomic business functions, which may be used as a basis for costing the system, or for planning a phased system delivery. In this case each successive phase would deliver further batches of Use Cases. Further information is still required, however, to tie down the detail of what each businese function does. Outputs: Details what information flows from the system to the external environment, in this case the printer!
Pre-Conditions: What validity checks or constraints apply on the inputs or the internal system as a whole, in some cases. Post-Condition: What changes does the Use Case make to the internal system state. Updates the reportedOnDate field of overdrawn accounts. As work progresses on the Use Cases, the requirements of the system become clearer enabling the Object Model to be updated in parallel, helping us make sure our model and the subsequent implementation in the chosen language contains all the necessary classes and class inter-links.
Whilst we're nearer to resolving some of the issues identified at the end of the discussion of implementing Object Models, a number are still outstanding: we still can't be sure in what direction the relationships must be implemented, whether we have identified all the methods; or what implementation of the links will best suit the use to which they'll be put.
To sort out the remaining issues we'll need to look in more detail exactly how each Use Case will be implemented, using Sequence Diagrams. Sequence Diagrams Sequence diagrams, performed on a per Use Case basis, examine the flow of method call calls within a system.