CS/SE ADVANCED SOFTWARE ARCHITECTURE AND DESIGN FALL 2015

Slides:



Advertisements
Similar presentations
SOFTWARE ARCHITECTURE FOR CYBERMINER GLOBAL 14. Agenda Problem, Process and Solution Phase-wise Discussion o Requirements Analysis o Architecture o Quality.
Advertisements

Object-Oriented Software Development CS 3331 Fall 2009.
Alternate Software Development Methodologies
Hestia: Aarthi Giridharan Govindarajan Panneerselvam Nirmal Chander Shesha Chandrika Moka Sriram Rajendran Suryanarayanan Ganesh Melarkode Vignesh Swaminathan.
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Architectural styles and Case studies 1 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
Data Structures and Programming.  John Edgar2.
KWIC Project – Part 1 Mini-Project to Evaluate Architectural Patterns(Styles) Carl Chesser Ji Li EECS 761.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
26 June 2008 DG REGIO Evaluation Network Meeting Ex-post Evaluation of Cohesion Policy Programmes co-financed by the European Fund for Regional.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Key Principles of Software Architecture and Design (I) adapted from Dave Penny’s.
Project Methodology May 2, System Development Life Cycle Overview.
Systems Analysis and Design in a Changing World, Fourth Edition
When buying a product in today’s marketplace, an individual is faced with the challenge of remembering an abundance of information about the product that.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lesson 13 Databases Unit 2—Using the Computer. Computer Concepts BASICS - 22 Objectives Define the purpose and function of database software. Identify.
SOFTWARE ARCHITECTURE FOR A KWIC SYSTEM TEAM: GLOBAL 14.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
“Architecture” The outcome of top-level design, reflecting principal design decisions Can (and should) be modified and updated Analogous to architecture.
Comparing Designs By Chris McCall. Comparing Designs A decision-making method for deciding between many designs for a single specification Provides a.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
HighImpact Soft Final Presentation Dare Famodimu Eric Deshazer Sergio Loza Scott Willock.
NAVSEA Liaison Scott Huseth Faculty Advisor Dr. Jiang Guo Team Members Areg Abcarians David Ballardo Niteen Borge Daniel Flores Constance Jiang June 3,
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
 System Requirement Specification and System Planning.
KWIC example The KWIC [key word in context] system accepts an ordered set of lines; each line is an ordered set of words, and each word is an ordered set.
DARE: Domain analysis and reuse environment Minwoo Hong William Frakes, Ruben Prieto-Diaz and Christopher Fox Annals of Software Engineering,
Project management processes of a project
Principles of Programming & Software Engineering
Software Architecture
Software Specification Tools
Computer Aided Software Engineering (CASE)
Software Architecture
Principles of Programming and Software Engineering
Prepared by Charlie Meyer, May 2009
Lecture 2 of Computer Science II
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
CYBERMINER WEB SEARCH ENGINE
Increased Efficiency and Effectiveness
Chapter 4 Automated Tools for Systems Development
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Documenting an Architecture
Software Requirements Specification Document
On the Criteria To Be Used in Decomposing Systems into Modules D. L
Software Design Lecture : 15.
Software Design Lecture : 14.
Review CSE116 2/21/2019 B.Ramamurthy.
Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract, Computer,
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
Lecture # 7 System Requirements
CyberMiner Software Architecture Group
Final Project Presentation
PHASE 1 - PRESENTATION Presented By - Karthik Kannambadi Sridhar
CIS 375 Bruce R. Maxim UM-Dearborn
Modern Systems Analysis and Design Third Edition
Indexes Copyright © 2007 Hong Kong Society of Medical Informatics
UML Design for an Automated Registration System
Module Structure David Parnas Discusses “modularization”
Software Architecture
Presentation transcript:

CS/SE 6362 - ADVANCED SOFTWARE ARCHITECTURE AND DESIGN FALL 2015 KWIC INDEX SYSTEM CS/SE 6362 - ADVANCED SOFTWARE ARCHITECTURE AND DESIGN FALL 2015 team is to architect a simple KWIC software system and implement it, which later will be used for a web search engine Task is to build a contextualized index for the text

TEAM - $QUICK SEARCH Sruthi Chappidi Barbara Maweu Maryellen Oltman Twinkle Sharma

TABLE OF CONTENTS System Requirements Problem Statement Specifications Functional Requirements Non-Functional Requirements Design Architectural Design Implementation Test Plan Summary

REQUIREMENTS Accept an ordered input of lines, words and characters from the user. The sets of lines are delimited by the $ symbol. The sets of words are delimited by a single space. All character values are supported and delimited by the ASCII character set. After the input has been given, the user will select an action that enables the program to perform the functions of the KWIC system. The KWIC system is to read in the input and generate an ordered list of circularly shifted lines, by removing the first word in the line and appending it to the end of the line. The circularly shifted lines are then sorted in increasing order based on the character alphabet precedence. The system has pre-defined set of noise words, against which the circularly shifted lines are compared. The KWIC system will eliminate circularly shifted lines starting with these noise words.

PROBLEM STATEMENT The problem of affects the impact of which is Not having a search engine that outputs an indexed search that is generated from user input (list of strings) affects users of the search engine the impact of which is unrelated, unordered search engine result set. A successful solution will be a KWIC index search engine that accepts: an ordered set of lines the lines may be “circularly shifted” outputs a list of all circular shifts of all lines in alphabetical order.

PURPOSE The purpose of our project is: Develop KWIC Software System (Keyword In Context) Using Java Applet Utilizing Object Oriented Software Architecture(ADT) Produce a system that provides a convenient search mechanism for a list of lines, such as book titles, or online documentation entries. Develp Architecture and implement KWIC software system

FUNCTIONAL REQUIREMENTS FR1.0 – The KWIC system shall provide an input field that accepts an ordered set of lines. FR2.0 – The KWIC system shall accept an ordered set of lines. FR2.1 – Each ordered set of lines are an ordered set of words. FR2.2 – Each ordered set of words are an ordered set of characters. FR3.0 – The KWIC system shall output a listing of all circular shifted lines in ascending alphabetical order.

NON-FUNCTIONAL REQUIREMENTS NFR1.0 – User-Friendly Display should use easy to understand icons. NFR2.0 – Modifiability There must be separation of concern in each process modules NFR2.0 – Enhanceable The components of the system should be easy to enhance and update. NFR4.0 – Performance The overall system should minimize processing overhead in terms of criteria and measure

TRACEABILITY NFR/FR FR1.0 FR2.0 FR3.0 NFR1.0 X NFR2.0 NFR3.0 NFR4.0

ARCHITECTURAL DESIGN ABSTRACT DATA TYPE MODEL(ADT) Design 1

ALTERNATIVE ARCHITECTURAL DESIGN ABSTRACT DATA TYPE MODEL(ADT) Design2

TRADEOFF ANALYSIS Design1 Design2 Modifiability [algorithm] + +- Modifiability [data structure] Enhanceability ++ Reusability Performance -- Uniformity -+ Rationale uniformity of interfaces which will make the design highly understandable.

KWIC CLASS DIAGRAM

ARCHITECTURAL RATIONALE Abstraction and Encapsulation – ADT Implementation of Interface Advantages of ADT Reusability Portability Robustness Maintainability Advantages of UML Understandability

IMPLEMENTATION/ PROTOTYPE Java Web application Internet Access Prototype: http://www.utdallas.edu/~maryellen.oltman/ example input: Please enter some lines$With a dollar sign$In between each one

Implementation Prototype

SUMMARY What has been done Requirements Elicited Requirement Specification Functional and Non -Functional Traceability Architectural Design Tradeoff Analysis Implementation/ Prototype Phase 1 Interim Deliverables: http://www.utdallas.edu/~maryellen.oltman/

FUTURE TASKS What has to be done Testing Documentation Refinement Enhancements Final Deliverables

WHY WE ARE BEST We are best because our system is Easy to use - the description on the pages make it easy for the user to navigate the application. Performance - the response time is <5 seconds for each input line. The team has covered all the functional requirements.

REFERENCES Dr. Lawrence Chung Textbook Professor - CS/SE 6362 Advanced Software Architecture & Design – Fall 2015 Textbook Mary Shaw & David Garlan. Software Architecture: Perspectives on an Emerging Discipline

QUESTIONS