(Complex) Problem domain Requirements Specification

Slides:



Advertisements
Similar presentations
Software Development Practices and Methodologies Svetlin Nakov Telerik Corporation
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz

Software Testing and Quality Assurance
Course Instructor: Aisha Azeem
By Bob Bunson  Simulation of software development project  Fictitious system from Concept to Code  Oriented around the.
Software Development Process
UML - Development Process 1 Software Development Process Using UML (2)
Todd Snyder Development Team Lead Infragistics Experience Design Group.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010/2013.
Unified Modeling Language, Version 2.0
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Course Overview & Topics CSc 335: Object-Oriented Programming and Design © Rick Mercer 1.
Object-Oriented Software Testing ICS 224A Joachim Feise
Software testing Main issues: There are a great many testing techniques Often, only the final code is tested.
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
Introduction to Design Patterns Part 1. © Lethbridge/Laganière 2001 Chapter 6: Using design patterns2 Patterns - Architectural Architectural Patterns:
Introducing Allors Applications, Tools & Platform.
Part I Heading text 1 Part II Heading text 2 Kristian Sandahl Part III Heading text 3 1 Requirements  Elicitation  Analysis  Specification.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
XXX, Inc. 1 Technical Capabilities  Requirements Engineering  Analysis and Design  Implementation  Quality Assurance  Project Life Cycle  Requirements.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010/2013.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Basic Characteristics of Object-Oriented Systems
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing.
Principles of Programming & Software Engineering
Software Development Framework
Process 4 Hours.
Module Recap Visited bullet format Highlighted bullet format
Software Testing.
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
CS 325: Software Engineering
Chapter 1: Introduction to Systems Analysis and Design
Designing software applications
TESTING TOOLS MANUAL APPROACH BY J.ADI SESHU.
Review for Final, Fall 2010 Close book, Close notes
Object-Oriented Analysis and Design
Chapter ? Quality Assessment
Chapter 1: Introduction to Systems Analysis and Design
Introduction to Design Patterns
OO Methodology OO Architecture.
Chapter 13 & 14 Software Testing Strategies and Techniques
Mid-term Exam Account for 20% of the grade 100 points in total
The Object Oriented Approach to Design
Chapter 13 Logical Architecture.
Introduction to Design Patterns Part 1
Object-Oriented Design
Chapter 13 Logical Architecture.
Software Design Lecture : 14.
Software Engineering Fundamentals
Chapter 1: Introduction to Systems Analysis and Design
Systems development life cycle (SDLC)
Chapter 7 Software Testing.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Executable Specifications
Chapter 1: Introduction to Systems Analysis and Design
Chapter 8, DesignPatterns Facade
Software Development Process Using UML Recap
Chapter 13 Logical Architecture.
Logical Architecture & UML Package Diagrams
Chapter 10 – Component-Level Design
Presentation transcript:

(Complex) Problem domain Requirements Specification We use OO to ‘align the view’. We use UML as the standard notation. ANALYSIS DESIGN IMPLEMENTATION QUALITY ASSURANCE Stakeholders (Complex) Problem domain RCS = Validation & Verification System Specification Establish requirements… brainstorming Focus groups User surveys Product surveys Observations Interviews Prototyping B A C D C A B D Sequence diagrams Architecture Unit testing Integration Can be late-one-time, or early-and-continuous Can be top-down, bottom-up, sandwich, big-bang Can use styles such as n-tier, client-server, peer-to-peer, broker, pipes-and-filters, service-oriented, transaction-processing, and MVC Combat complexity… Use abstraction, build models Developer testing Other V&V techniques: formal verification static analyzers code reviews … Specify requirements… Textual descriptions Feature list User stories Use cases OO domain models Object diagrams State machine diagrams Activity diagrams UI prototypes Glossary Supplementary requirements … Integration testing Top-down design Testing B API (Application Programming interface) After modifications… Regression testing y x z operations Class diagrams QA Framework System testing Detailed design Test cases Bottom-up design System Library More agile -> less upfront detailed design Platform Made up as you go → Exploratory testing Predetermined → Scripted testing Can be created in these ways: Black-box, Glass-box, Grey-box User Acceptance testing Alpha/beta testing Detailed design Possible Improvements: Refactor code Coding standards and good coding practices Protect code using assertions, exceptions, logging, and defensive coding. Build automation Continuous Integration Possible Improvements: Automate testing Use Test-Driven Development Increase efficiency and effectiveness of testing (Equivalence partitioning, Boundary Value analysis) Increase test coverage (function/entry/exit/statement/branch/ condition/path coverage) isolate SUT using drivers, stubs and dependency injection Possible Improvements: ↑Cohesion, ↓Coupling Apply design patterns (Abstraction Occurrence, Singleton, Command, Observer) Apply design principles (Open/close, Law of Demeter, Separation of concerns, …) Use polymorphism (inheritance, interfaces, dynamic binding) Good product design guidelines (e.g., usability, …) Possible Improvements: Apply OO principles e.g. SOLID Apply analysis patterns Categorize and prioritize requirements Requirements Specification Sequential Iterative Breadth-first Depth-first Project plans Unified process Team structures CMMI Work-breakdown structures PROJECT MANAGEMENT Agile processes Chief-programmer Issue trackers Includes buffers and milestones Egoless XP Scrum Strict hierarchy