CS计算机代考程序代写 Excel database scheme gui data structure flex 300144

300144
Object Oriented Analysis
Dr Mahsa Razavi

Lecture 3
Process, Prioritisation and Package diagrams
References
Textbook Chapter 17 Bhuvan’s Book Chapter 3 Booch’s book Chapter 6
Object Oriented Analysis, 300144 2

Things in Last Lecture
• ClassesandObjects
• FundamentalsofObjectOrientation – Classification
– Abstraction
– Encapsulation
– Inheritance
– Polymorphism
Object Oriented Analysis, 300144 3

Main Topics of Lecture
• Understanding Software Processes and Lifecycles
– Phases of Software Development
– Iterative and Incremental Development – The Unified Process
• Business Evaluation and Scoping Requirements
– Critical Requirement Analysis
– Package Diagrams As Sub-systems – Common Interview Techniques
4
Object Oriented Analysis, 300144

Software Process
Wikipedia definition:
Software development process, also known as a software development life-cycle (SDLC), is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.
Object Oriented Analysis, 300144 5

Software Process (Cont.)
• A software process model is an abstract representation of a process, presenting a description of a process from a particular perspective : a structured set of activities required to develop a software system
• Good/poor practice for development of large software systems that should be repeated/avoided
– The development team for Windows 95 followed their success to develop Windows 98
– The development team for Windows 8 would probably draw lessons from what they have done for future development of Windows 10?
Object Oriented Analysis, 300144 6

When we need a software process?
• Do we need a software process for
– Developing a “Hello, world!” program?
– Developing a program for web scraping?
– Developing a paint application?
– Developing a hospital management system?
– Developing an operating system such as Windows 10 system?
• Programs/systems can grow in scale and complexity
• We need a structure for organising/managing the
practice of building complex systems
Object Oriented Analysis, 300144 7

Phases of Software Development
What makes software development different (say, from the building industry)?
• Vaguedescriptionofrequirements
– “I need Caesar-stone benchtops in my kitchen and vinyl
tiles in my bathroom …”
– “I want a software for me to cheat in playing an online game…”
• Changingrequirement
– “I want ceramic benchtops instead …” – are you
insane? No can do unless much more $$$!
– “I need to invoke this at the same time I login in the server of the online game …” – let’s try figuring this out…
Object Oriented Analysis, 300144 8

Phases of Software Development (Cont.)
• Doesnotnecessarilyfollowthesequentialorder, i.e., phases not having to follow one another. But you don’t lay the bricks at a certain floor before you have done that at lower levels.
• Different phases do not have to strictly follow the order. You could go back to any phases of development if necessary, providing more flexibility and more error tolerance to poor designs.
Object Oriented Analysis, 300144 9

Software Development Models
• Software development models (or SDLC) provide an understanding of the nature of the overall development processes
• With SDLC, we understand where and how analysis (and other stages in software development) fits within the context of overall development
• SDLC provide a theoretical understanding
– that helps improve and mature software processes – that helps understand “how to build a system”
Object Oriented Analysis, 300144 10

Evolutionary Development
• Problems of Waterfall model
– Takes no account of evolutionary change
– System is characterised by a single function – a questionable concept
– Based on functional mindset; data structure aspect often neglected
– Does not encourage reusability
Object Oriented Analysis, 300144 11

Evolutionary Development (Cont.)
• Fountain SDLC reflects the essence of evolutionary development paradigm (A.D.MacCormack, 2001)
–Interleave between specification and development
–Work with client and evolve a final system from an initial outline specification by adding new features as they are proposed by client.
–Getting a low-functionality version of the product into customer’s hands at the earliest opportunity improves quality dramatically.
Object Oriented Analysis, 300144 12

Iterative
• Iterative: Update the same entity (e.g. a use case, package or a class)
– Example within a use case
• Do not be in a hurry to mature a use case to its final status.
First assign it ‘Initial’
• GofromoneUseCasetoanother;oneusecasediagramto another
• Iterative between various diagrams namely class and sequence diagrams
– Gradually mature the deliverable
– Validate and verify at predetermined steps
→ gradually refine the strategic and tactical decision, converging on a solution that meets the user’s requirement and yet is simple, reliable and adaptable
Object Oriented Analysis, 300144 13

Advantages of Iterative Development Process
• Requirements changes are accommodated. Each iteration focuses on a specific set of requirements
• There is no “big bang” integration effort at the end of the project. Each iteration involves the integration of the elements included in the release.
• Risks are addressed early.
• Tactical changes to the product are possible
• Enhance the reusability. Key components of the architecture are actually built early, so the identification of reusable elements and also reuse of existing elements
• Defects can be found earlier and corrected.
• Project personnel are employed more effectively.
• Team members learn along the way
• The development process can be refined and improved.
Object Oriented Analysis, 300144 14

Incremental
• Incremental:Extendthecurrentmodelsby adding new entities / things to them
– Example: add use cases and classes to existing diagrams
– Adding new modules, as new requirements are discovered – Existing/implemented functionalities are not affected
• Verifyandvalidateatpredeterminedsteps
Object Oriented Analysis, 300144 15

Iterations and increments
Itr 1
Itr 2
Itr 1
Itr 2
Itr 3
Itr 3
Increment 1 (Patient Package)
Increment 2 (Consulting Package)
Object Oriented Analysis, 300144 16

Parallel
• Parallel:whentwoormoreprocess-components are executed together (but usually by separate teams)
– Made possible for OO nature of software wherein so long as Interfaces remain the same, implementation can go on in Parallel. Examples:
• Build modules (packages) in parallel
• Requirements modeling and test planning
• Final Stages of design and early programming
• Final programming and early testing
• Again, validate and verify at predetermined steps Object Oriented Analysis, 300144 17

Development Processes
• Multiple software development processes: the Rational Unified Process (RUP), eXtreme Programming (XP), SCRUM, Crystal, etc.
• The choice of the process is based on its key themes and its overall strategy.
• Twomaincategories:
– Agile processes
– Plan-driven processes
Object Oriented Analysis, 300144 18

Agile
Agile and Plan-Driven Project
Plan-Driven
• Project is small (5-10 people)
• Experienced teams with a wide range of abilities and skills take part
• Team are self-starters, independent leaders and others who are self-directing
• Project is an in-house project and the team is co- located
• System is new, with lots of unknowns
• Requirements must be discovered
• Requirements and environment are volatile, with high change rates
• End-user environment is flexible
• Relationship with customer is close and collaborative
• Customer is readily available, dedicated and co- located
• High trust environment exists within the development teams.
• Rapid value and high-responsiveness are required
• Project is large (>10 people)
• Teams includes varied capabilities and skill sets
• Teams are geographically distributed and/or outsources
• Project is of strategic importance, scope crosses the organisation
• System is well understood, with a familiar scope and feature set
• Requirement is fairly stable
• System is large and complex, with critical safety
or high reliability requirements
• Project stakeholders have a weak relationship with the development team
• External legal concern
• Focus is on strong, quantitative process
improvement
• Definition and management of process are important
• Predictability and stability of process are important
Object Oriented Analysis, 300144 19

The Unified Process
• Widely adopted process model suited for the object orientation technology
• Defines an iterative process
• Provides an example structure of the process
model to talk about how to do OOA/D
Object Oriented Analysis, 300144 20

Phases of Unified Process
• Inception—approximatevision,businesscase, scope, vague estimates.
• Elaboration — refined vision, resolution of high risks, iterative implementation of core architecture, identification of most requirements and scope, more realistic estimates.
• Construction — iterative implementation of the remaining lower risk and easier elements, and preparation for deployment.
• Transition — beta tests, deployment.
Object Oriented Analysis, 300144 21

Inception
• Most of projects require a short initial step to ask questions as listed below:
– What is the vision and business case for this project?
– Feasible?
– Buy and/or build?
– Rough (order of magnitude) range of cost: Is it 10K, 100K or in the millions?
– Proceed or stop?
Object Oriented Analysis, 300144 22

Deliverable
Descriptions
23
Vision and Business Case
High level goals and constrains, business case, and provide an executive summary
Use Case Model
Functional requirements, identify most of use cases with about 10% being analysing in details
Supplementary Specification
Other requirements, mostly non-functional ones
Glossary
Key domain terminology and data dictionary
Risk List & Risk Management Plan
Risk and ideas for mitigation
Prototype & Proof-of-concept
Clarify vision and validate technical ideas
Iteration Plan
What to in 1st elaboration iteration
Phase Plan& Software Development Plan
Guess for elaboration phase duration
Development Case Customised UP steps and
Object Oriented Analysis, 300144
artifacts of the project
Inception (Cont.)
Sample Deliverables of Inception

Elaboration
• Inception is a short step to Elaboration
• Elaboration is the initial series of iterations
during which, on a normal project:
– Overall schedule and resources are estimated
– Core, risky software is programmed and tested – Most of requirements are identified and
stabilised
– Major risks are mitigated or retired
Object Oriented Analysis, 300144 24

Deliverable
Descriptions
Domain Model
Visualisation of domain concepts, similar to a static information model of domain entities
Design Model
Set of design diagrams describing logic design, including package, software class and object interaction diagrams and so forth
Software Architecture Documents
A learning aid summarising the key architectural issues their resolution in the design
Data Model
Database scheme, mapping strategies between object and non-object representations
Use case storyboards, UI prototypes
User interface, paths of navigation, usability models and so forth
Object Oriented Analysis, 300144 25
Elaboration (Cont.)
Sample Deliverables of Elaboration

Construction
• Once the architecture has stabilized, the focus shifts from understanding key elements of the solution to the development of a deployable product
• During the Construction phase, the development of the system is completed, based on the baselined architecture produced during the Elaboration phase.
Object Oriented Analysis, 300144 26

Construction (Cont.)
Deliverable
Descriptions
Software Product
Software product integrated on the adequate platform
User Manuals
Guide to end users of the software
Explanation of Current Release
Changes and new features of the release compared with old versions
Sample Deliverables of Construction
Object Oriented Analysis, 300144 27

Transition
• Transition the software to the user community.
– Beta testing.
– Parallel operation with any existing legacy system. – Conversions of operational databases.
– Training of users.
– Product rollout.
Object Oriented Analysis, 300144 28

Sample Unified Process Artifacts and Timing (C. Larman)
29
Object Oriented Analysis, 300144

Rational Unified Process (RUP)
• A refinement of the unified Process created by the Rational Software Corporation, a division of IBM
• RUP Building blocks
– Main building blocks: Roles, Work products and Tasks
– Each iteration tasks are categorised into six engineering and three supporting disciplines
• Four Project Phases
• Six Best Practices
– Develop iteratively
– Management requirements – Use components
– Model visually
– Verify quality
– Control changes
Object Oriented Analysis, 300144 30

Business Evaluation Process-Component
Object Oriented Analysis, 300144 31

Identify Business Objectives of HMS
Business Objective:
To Enable Online Hospital Management in a Cost-effective way (WHAT)
By Implementing a Comprehensive e-Business System (HOW)
To Ensure Excellent Patient and Staff support anytime anyplace (WHY)
Object Oriented Analysis, 300144 32

Roles in OO Analysis
The core role with business and technical skills
Object Oriented Analysis, 300144 33

Critical Requirements Analysis
• Good Requirement Analysis requires:
– Understanding the problem by breaking it down
– Prioritisation of the problem by evaluating the various sub-components of the problem
• A formal way of doing it is called Critical Requirement Analysis (CRA)
• CRA is vital for any analysis process
– Helps creation of manageable chunks (sub-systems) – Helps understand which chunks to develop first
Object Oriented Analysis, 300144 34

Dividing the Business Objective into Performance Areas (Prioritisation – Step 1)
Business Objective: To Enable Online Hospital Management in a Cost Effective Way…….
CPA 1 Consultation
CPA 2 Hospital
Staff Maintenance
CPA 3 Patient
Maintenance
…….
CPA 1.1 Enquiries
CPA 1.2 Scheduling
CPA 1.3 CPA 3.1 Payment Changing Contact
Details
CPA 3.2 Changing Medical
Profile
Object Oriented Analysis, 300144
35

Critical requirements analysis helps in Prioritisation of packages
Business Objective: To Enable Online Hospital Management in a Cost Effective Way…….
100%
CPA 1.1
CPA 1.3
CPA 1 Consultations
CPA 2
Staff Maintenance
CPA 3 Patient Maintenance
CPA 4 Operational Costs etc..
35%
25%
25%
15%
CPA 1.2
Enquiries Scheduling Payments
CPA 3.1 Changing Contact Details
CPA 3.2 Changing Profile
20%
10%
5% 10%
36
Object Oriented Analysis, 300144
15%

What is a Package?
• A Logical Collection of anything – of Classes; of Components;
– of Use cases etc.
• A Package may map to a Component, but is usually treated differently from a Component
– a package may not be an executable entity
• Increasingly, a Package is considered a good
starting point for Business Analysis
• Package diagram is treated as a separate diagram in UML 2.0
Object Oriented Analysis, 300144 37

Packages: Tips
• Packages may be the first diagrams created in the modeling work
• Domain experts can start with Package Diagrams
• Package Diagrams can have levels
– Packages within Packages
• Relationship on Package Diagram during analysis is not mandatory
Object Oriented Analysis, 300144 38

Benefit of Package Diagrams
• Provides clarity and understanding in a complex systems development
• Supports concurrent model use by multiple users
• Supportversioncontrol
• Provide abstraction at multiple levels, from
systems to classes in a component
• Provides encapsulation and containment, support modularity
Object Oriented Analysis, 300144 39

Major Ingredients of a Package Diagram
Package –
Represents a Subsystem
Dependency – Optional
<>
Staff
Note –
Clarifies the Diagram
Object Oriented Analysis, 300144 40

Somecity Train System
The Somecity Train System is divided into three logical packages: a main processing subsystem, a web site subsystem, and a train pass subsystem. on the diagram.
Note: A package can contain a diagram of sub-packages
Object Oriented Analysis, 300144 41

Hospital Management System Package Diagram at Inception Phase
Online Hospital
Consultation
Patient
Operation Cost
Staff
Object Oriented Analysis, 300144 42

Hospital Management System Package Diagram at Elaboration Phase
<> GUI
<> Staff
<> Consultation
<> Surgery
<> Patient
<> Account
<> Pharmacy
<> Database
<> System Administration
Object Oriented Analysis, 300144 43

Exercise – A Sample Package Diagram for OOTrust System
OOTrust System
Business Banking
Risk Manage ment
Personal Banking
Human Resource
Object Oriented Analysis, 300144 44

Exercise – A Sample Package Diagram for Great Western Real Estate Management System
Object Oriented Analysis, 300144 45

Common Analysis Techniques
Workshop
Interview
Research
Object Oriented Analysis, 300144 46

Interview
• Interviewing is the ‘bread and butter’ technique of Analysis
– Main purpose is to extract as much information from the user/business sponsor
• All questions should be subjective
• Never ask questions with ‘yes/no’ answers
• Encourage the users to be descriptive
• Preparation before interviews is helpful
• Face to face interviews should always be preferred to phone and email chats
Object Oriented Analysis, 300144 47

Workshop
• Prepare for the workshops, and timebox them – ideally 2 hours per session
• Business Analysts should call for workshops, and involve users in them
• Limit workshops to 7 +/- 2 people. Keep facilitator’s role separate.
• Ensure a separate “parking lot” for difficult issues, that may hamper progress
• Circulate the resultant models, and base subsequent workshops on them
• Subject the models to Quality process – remember, it is Iterative and Incremental
Object Oriented Analysis, 300144 48

Research
• Analysts will have to do large amount of investigations and research on their own
• Sources of research include:
• Existing systems
• User guides and documentation • URLs providing information
• Prototypes are extremely helpful – but again in an Iterative and Incremental manner
• Don’t ignore the Grapevine in communication Object Oriented Analysis, 300144 49

Conclusions
• Softwaredevelopmentprocessmodelsare important in organising the process of the development of large software systems
• Iterative and incremental process models can better accommodate for changes in requirement and address risks/defects in early stages
• Critical Requirement Analysis helps in creation and prioritisation of Packages;
• Package diagrams were presented as Higher-level organisational diagrams of the UML
Object Oriented Analysis, 300144 50

Homework
• Review this lecture note
• Complete the specified readings
• Complete the exercises in the 2nd tutorial.
• Prepare your answers to the tutorial and project work of next week.
51