ICare Software Architecture Description: Principles, Decisions and Contradictions Team A Aggarwal Ashutosh Alungh Suman Appiah Stella Baddam Bhaskar Baghaie.

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Lecture # 2 : Process Models
Ch 3 System Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Software Architecture Design Instructor: Dr. Jerry Gao.
The Architecture Design Process
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Week 8 Implementation Design Alex Baker. Implementation Design System Design – Describes what the system should do Implementation Design – Describes what.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
Systems Design. Analysis involves understanding and documenting user requirements in a clear and unambiguous way. It focuses on the business side and.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Quality SEII-Lecture 15
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system design 1 what is systems design? preparation of the system’s specifications with.
Software Project Management Fifth Edition
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
An Introduction to Software Architecture
CSE 303 – Software Design and Architecture
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
This chapter is extracted from Sommerville’s slides. Text book chapter
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Architectural Design Identifying system components and their interfaces.
Chapter 6 Architectural Design.
1 Introduction to Software Engineering Lecture 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
GRASP: Designing Objects with Responsibilities
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Software Design: Principles, Process, and Concepts Getting Started with Design.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSE 303 – Software Design and Architecture
MVC WITH CODEIGNITER Presented By Bhanu Priya.
CS223: Software Engineering Lecture 14: Architectural Patterns.
 System Requirement Specification and System Planning.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Chapter 2 Object-Oriented Paradigm Overview
TOTAL QUALITY MANAGEMENT
The Components of Information Systems
The Development Process of Web Applications
Software Design and Architecture
Software Quality Engineering
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
The Components of Information Systems
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Charakteristiky kvality
CS223: Software Engineering
Software Architecture
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Software Requirements Specification (SRS) Template.
Presentation transcript:

iCare Software Architecture Description: Principles, Decisions and Contradictions Team A Aggarwal Ashutosh Alungh Suman Appiah Stella Baddam Bhaskar Baghaie Ali Bansal Dollar Kumar Behrouzy Niloufar

Agenda  Introduction  Why Lyme Disease  iCare Features  Stakeholders and Concerns  Architecture Views and Viewpoints  Architectural Principles, Decisions & Patterns  Contradictions to Architecture Description Review  Lessons Learned

Introduction What is iCare? iCare is a mobile based Health Information System.  Enables exchange of information between patient and doctor.  Automates patients and staff management process.  Specific to medical ailments related to Lyme Disease.

Why Lyme Disease  Prominent disease in Montreal.  Long lasting disease requiring continuous supervision.  Wide spreading due to rapid environmental changes.

iCare Features  Maintaining patients health record.  Manage tests.  Schedule appointments.  Retrieve medical information like ePrescription etc.

Stakeholders and Concerns Based on the ISO/IEC/IEEE 42010:2011 standard the stakeholder classes identified in the current context are:  User  Acquirer  Operator  Owner  Developer  Maintainer  Negative Stakeholder

Users StakeholderConcernsQuality Attributes Stakeholder Class: User  Patient  Hospital Administration  Doctor  Nurse  iCare should be easy to learn and use.  Data must be accessible and modifiable by only appropriate users.  Track medical history of the patient.  Must have constraint on wrong data input.  iCare must check for availability of doctor in hospital.  iCare should guide the patient appropriately.  Accessibility  Availability  Privacy  Modifiability  Traceability  Functionality Accuracy Security  Usability Understandability Learnability Operability

Acquirer, Operator & Owner StakeholderConcernsQuality Attributes Stakeholder Class: Acquirer  Hospital Stakeholder Class: Operator  Hospital iCare Administrator Stakeholder Class: Owner  Local Government  Organization  iCare should be easy to access data.  Should provide security and safety.  Must be reliable.  Ease in data upload/update.  iCare should be easy to maintain.  Must be traceable.  Should provide brief set of rules and regulations for hospital, pharmacy and insurance company.  Should exemplify policies that are effective.  Security  Safety  Reliability  Functionality Accuracy Security Interoperability  Reliability Fault-Tolerance Recoverability  Standard Compliance

Developer StakeholdersConcernsQuality Attributes Stakeholder Class:  Developer  Access to the functional requirements of the users.  Knowledge about the external interface of iCare.  Access to the information to be added in the database.  Access to the source code of iCare.  System Properties  Efficiency  Reusability  Portability Adaptability Installability  Modularity

Maintainer Stakeholder Class: MaintainerConcernsQuality Attributes Stakeholder Class:  Maintainer  Knowledge about the organization of different modules.  Ability to recover the information.  Access to the data archives.  System should be adaptable to new environments.  Maintainability Testability Changeability Analyzability  Modifiability  Adaptability

Architecture Views and Viewpoints iCare architecture is expressed using 4+1 View Model. The view is expressed by considering the concerns of the associated stakeholders. S.NOStakeholder ClassView Model 1.User, MaintainerLogical View 2.Hospital iCare AdministratorProcess View 3.DeveloperImplementation View 4.OperatorDeployment View 5.User, AcquirerUse Case View

System Functionality

Architectural Decisions Principles  Separation of Concerns: This principle reduces dependency and overlapping to ease maintenance.  Maximize Cohesion and Minimize Coupling: This principle aims to reduce ripple effects or cascading effects in the system.  Maximize Modularity and Reusability: This principle aims to reuse a particular business concern and apply it to other health care customers.  Abstraction: This principle aims to reduce complexity and reduces the data to simplified representation for different stakeholders.  Don’t repeat yourself: The functionality should not be repeated across the components.

Architectural Patterns Model View Controller Pattern Problem: To support principles viz., Separation of Concerns, Abstraction etc. The idea is to separate user interface from application data and logic. Testing of model and controller is possible without depending on the view. Solution: The Model-view-controller separates the application into three different components i.e., Model, View, Controller. The view can be changed without impacting the model, as the view is separated from the model. Strengths of the solution  Supports Separation of Concerns.  Promotes organization, extensibility, scalability, flexibility and reuse.  Makes Parallel Development possible.

Layers Pattern Problem: Increasing users should not lead to system faults. The addition or modification of functionalities should not lead to failure of other components. Minimum effort is required to reuse different modules. Solution: The system is structured into layers: each layer provides a set of services to the layer above and uses the services of the layer below. In each layer, all constituent components work at the same level of abstraction. Strengths of the solution:  Supports Abstraction and Encapsulation.  Provides clearly defined functional layers.  Supports reusability. Architectural Patterns Contd..

Pipes and Filters Pattern Problem: Conventional approach reduces the opportunities for refactoring the code, optimizing it, or reusing it if parts of the same processing are required elsewhere within the application. Solution: Use of Layers Pattern, where, a complex task is divided into several sequential subtasks. This division eases refactoring and enables reuse of filters. Filters are independent, which means different combination of filters can yield different results. Strengths of the solution:  Process division into discrete and independent steps.  Supports processing that requires scalability requirements.  Supports distribution and processing in different servers. Architectural Patterns Contd..

Contradictions to Architecture Description Review CriteriaQuestionWeightScoreRemarks ConsistencyAre views presenting different viewpoints in the description consistent with each other? The viewpoints mentioned describes the concerns of the stakeholders. Intuitiveness of the presentation Does the description have an intuitive structure for the stakeholder? The stakeholder’s classes are well structured as per ISO/IEC/IEEE 42010:2011 standard.

CriteriaQuestionWeightScoreRemarks Definition of the notation and structures Does the description use a defined notation? 4.774Notation structure is clearly defined and well understood by the stakeholders. As per the questions framework citations are not part of structure definition. Clarity of the vocabulary and concepts Are the terms used defined? Are the (new) concepts defined and explained? 4.773Stakeholders and concerns are clearly mapped. However, the 4+1 view model needs to be elaborated. Contradictions Contd..

CriteriaQuestionWeightScoreRemarks Architectural views Are the suitable architectural views chosen for the company or for the project? Are the viewpoints well defined? A Viewpoint name? The stakeholders the viewpoint is aimed at? The concerns the viewpoint addresses? 4.773Architectural views are well described and focused towards mapping the concerns of the stakeholders. Contradictions Contd..

Lessons Learned The following enhancements will be applied in response to the feedback regarding our architecture description document.  To achieve higher consistency in views, we will add Data Flow diagram in the next iteration of the document.  A domain diagram will be added to the document to communicate a certain level of domain knowledge.

References  P.Kamthan, Winter /#resources  Architecture Patterns  Lyme Disease, Government of Canada: Public Health Agency of Canada Act, 2006 Available at:  Lyme Disease information, CBC News Available at:  Deliverable Template

Thank you