440 likes | 476 Views
MIS 161 Systems Development Life Cycle II Lecture 2: Design Issues and OO Design. DESIGN CRITERIA. Principles of Well Designed Systems. Decoupling Separate modules are relatively independent loose coupling allow one module to be repaired with minimum disruption to others
E N D
MIS 161Systems Development Life Cycle IILecture 2:Design Issues and OO Design Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
DESIGN CRITERIA Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Principles of Well Designed Systems • Decoupling • Separate modules are relatively independent • loose coupling • allow one module to be repaired with minimum disruption to others • overlapping/duplicate functions • independence Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Principles of Well Designed Systems • Cohesion • How well activities within a single module are related to one another • Functional cohesion • containing all, and only, those tasks contributing to the generation of a single information function/ product • Method cohesion • Class cohesion • Generalization/specialization cohesion Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Principles of Well Designed Systems • Modularity • design of a system in relatively small chunks • allows assignment of developers to different tasks • sections of system can be developed independently • maintenance can occur without disturbing other modules • User involvement • throughout SDLC • sense of ownership • real, not simulated Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Principles of Well Designed Systems • Satisficing • “better” not “best” solution • “best” solution not feasible • resource constraints • Human Interface • human factors • ergonomics Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
How closely modules are related Literally means “having been born together” OR “having intertwined destinies in life” Changing one module creates the need to change another module as a result of changing one Minimize overall connascence Minimize across encapsulation boundaries Maximize within encapsulation boundary Connascence Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Coordination • Project Scheduling • e.g., Gantt Chart • deliverables/milestones • User Participation • Design Teams • Structured Walkthrough Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Structured WalkThroughs • A way of using peer reviews to monitor the system’s development, point out problems, and allow the analyst responsible to make suitable changes • Can be done when any portion of the system is complete • Normally have at least four individuals • Each person has a special role; for example: • Person responsible for that part of the system • Walkthrough coordinator • Programmer or anlayst peer • A note taker Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Avoid Classic Design Mistakes • Reducing design time • Reducing time spent on design in order to jump directly into programming • Feature creep • Additional features added to the system during design • Don’t add any unless they are vital • Silver bullet syndrome • No one tool can solve all the problems and magically reduce time and costs. • Switching tools in mid-project • Switching design tools only adds more time the project due to the time it takes to learn the new tool Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Business need In-house experience Project skills Project management Time frame Selecting a Design Strategy Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Strategies Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Custom Development • Allows for meeting highly specialized requirements • Allows flexibility and creativity in solving problems • Easier to change components • Builds personnel skills • May tax firm’s resources • May add significant risk Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Packaged Software • Software already written • May be more efficient • May be more thoroughly tested and proven • May range from components to tools to whole enterprise systems • Must accept functionality provided • May require change in how the firm does business • May require significant “customization” or “workarounds” Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
The process of combining packages, legacy systems, and new software Key challenge is integrating data Write data in the same format Revise existing data formats Develop “object wrappers” System Integration Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Hire external firm to create system May have more skills May extend existing resources Never outsource what you don’t understand Carefully choose vendor Prepare contract and payment style carefully Outsourcing Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Infrastructure Considerations Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Realities of Infrastructure Design • Most often the infrastructure will be in place • Coordination of infrastructure components is very complex • The application developer will need to coordinate with infrastructure specialists Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Selecting an Architecture • Cost of infrastructure • Cost of development • Ease of development • Interface capabilities • Control and security • Scalability Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Hardware and Software Specification • Used if new hardware or software must be purchased • Actual acquisition of hardware and software usually left to a purchasing department -- especially in larger firms Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Steps in Hardware and Software Specification • Describe equipment in as much detail as possible • Consider whether increased processing and traffic will absorb unused hardware capacity • Note all software running on each hardware component Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Object-Oriented Design Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
OBJECT DESIGN ACTIVITIES Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Key Ideas • The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is to figure out how to provide it. • The steps in both analysis and design phases are highly interrelated and may require much “going back and forth” Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Additional Specification • Review the current set of models • Signatures for each method • Define constraints • Identify Opportunities for Reuse • Restructure the Design Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Optimizing the Design • Review access paths • Review attributes of each class • Consider execution order of statements in often-used methods • Avoid recomputation by creating derived attributes and triggers Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
OO Life Cycle Using UML • Planning • High level (project identification and selection) • Low level (project initiation and planning) • Analysis • Determine system requirements • Use cases • Structure requirements • Preliminary class diagram • State diagrams • Preliminary interaction diagrams • Activity diagrams • Package diagrams • Design • Logical • screens, reports, etc. • Physical • Detailed interaction diagrams • Add layers • data management • user interface • Class interface documentation • Deployment diagrams • Component diagrams • Implementation • Code, test, debug, install Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
P h a s e s C o r e W o r k f l o w s I n c e p t i o n E l a b o r a t i o n C o n s t r u c t i o n T r a n s i t i o n A n i t e r a t i o n i n t h e e l a b o r a t i o n p h a s e P r e l i m i n a r y i t e r . i t e r . i t e r . i t e r . i t e r . i t e r . i t e r . I t e r a t i o n ( s ) # 1 # 2 # n # n + 1 # n + 2 # m # m + 1 I t e r a t i o n s Iterations and Workflow Requirements Analysis Design Implementation Test Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
From OO Analysis Models to Design Models Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
The Problem Domain • The term "problem domain" refers to the area that encompasses real-world things and concepts related to the problem that the system is being designed to solve. • Domain modeling is the task of discovering "objects" (classes, actually) that represent those things and concepts. • This was your focus in MIS 160. • Now we move away from this and into the logical design. Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
From Analysis Classes to Design Classes • Analysis classes captured some physical aspects of the system • A design class diagram shows the data types of the attributes, the return types and arguments of the operations, and the visibility specifications for all attributes and operations. • From physical to logical Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Classes • Each design class should specify: • Each attribute • Type • Visibility • Responsibilities translated into specific operations Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
PACKAGES AND PACKAGE DIAGRAMS Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Package • UML Packages are a grouping of objects into sets of objects that provide related services. • The package has responsibilities that are strongly related. • The package has low coupling and low cohesion with respect to interfacing with other packages in the system. Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Sample Package Diagram Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
A PACKAGE Package A DEPENDENCY RELATIONSHIP Syntax for Package Diagram Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Modification Dependency • Indicates that a change in one package could cause a change to be required in another package. • Example: • A change in one method will cause the interface for all objects of this class to change. Therefore, all classes that have objects that send messages to the instances of the modified class could have to be modified. Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
In UML, packages are represented as rectangles with tabs in the top left corner. Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Set the context Cluster classes together based on shared relationships Model clustered classes as a package Identify dependency relationships among packages Place dependency relationships between packages Steps for Identifying Packages and Building Package Diagrams Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Example Class Diagram Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Package Diagram of the PD Layer for the Appointment System Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
METHOD SPECIFICATION Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Structured English Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
(Get CD-info module) Accept (CD_title) {Required} Accept (CD_artist) {Required} Accept (CD_category) {Required} Accept (CD_length) Return Pseudocode Example Sylnovie Merchant, Ph.D. MIS 161 Spring 2005