Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Introduction to UML & Software Development: Object-Oriented System Analysis & Design, Lecture notes of Object Oriented Analysis and Design

Database SystemsSoftware EngineeringData Structures and AlgorithmsObject-Oriented Programming

An introduction to object-oriented system analysis and design, focusing on the unified modelling language (uml) and various software development processes. Topics covered include the definition and basic concepts of systems, structured vs object-oriented approaches, process models, uml diagrams, and software development life cycles. The document also discusses the advantages and disadvantages of different process models such as the waterfall model, prototyping, and iterative development.

What you will learn

  • What are the different types of UML diagrams and their uses?
  • What are the advantages and disadvantages of the Waterfall Model?
  • What are the basic concepts of systems and software?
  • What is the role of UML in system analysis and design?
  • What is the difference between structured and object-oriented approaches?

Typology: Lecture notes

2018/2019

Uploaded on 05/08/2019

shimelis-tamiru
shimelis-tamiru 🇪🇹

4 documents

1 / 37

Toggle sidebar

Related documents


Partial preview of the text

Download Introduction to UML & Software Development: Object-Oriented System Analysis & Design and more Lecture notes Object Oriented Analysis and Design in PDF only on Docsity! CHAPTER ONE PART-II Object Oriented System Analysis and Design 1 Chapter One Topics Chapter I- Introduction: (2 weeks)  Definitions and basic concepts (system/software, system thinking..)  Structured Vs OO approaches  Basic object orientation concepts  Process models (waterfall, Prototyping, Iterative, RUP)  Work flows (Phases)- in object orientation 2 UML… It is a graphical language for  Visualizing  Specifying – building models that are precise, unambiguous, and complete  Constructing – possible to map from a model in the UML to a programming language  Documenting Intended for software-intensive systems WHAT UML IS NOT UML is not a method or methodology (Methododology= Notation (e.g.,UML) + Process) UML does not dictate a particular process UML can be used to record the resulting domain and design models, independent of the process Choose an appropriate process for a particular project, independent of the modeling language UML DIAGRAMS  Diagrams used to describe structure  Class diagram  Object diagram  Component diagram  Deployment diagram  Diagrams used to describe behavior  Use Case diagram (some says it is functional)  Sequence diagram  Activity diagram  Collaboration diagrams  Statechart diagram  More on these later- Chapter TWO Software process models? A simplified representation of a software process, presented from a specific perspective. Generic process models  Waterfall (linear sequential)  Prototyping  Iterative (Evolutionary)development- Spiral  RUP – Rational Unified Process Other process models  Agile  Cleanroom  DSDM - Dynamic Systems Development Method  RAD  - Rapid Application Development  XP – eXtreme Programming  V-Model  RUP – Rational Unified Process 10 Project planning pn Waterfall Model of SDLC Planning specifications frozen POE ECM re eT eer Vu Cueto) eg Finished system delivered exactly as specified Discussion of the Waterfall Model Advantages:  Process visibility  Dependence on individuals  Quality control  Cost control Disadvantages:  Inflexible partitioning of the project into distinct stages  This makes it difficult to respond to changing customer requirements This model is only appropriate when the requirements are well-understood Each stage in the process reveals new understanding of the previous stages, that requires the earlier stages to be revised. 12 Iterative and Incremental (Evolutionary) development is a cyclic software development process developed in response to the weaknesses of the waterfall model. starts with an initial planning and ends with deployment with the cyclic interaction in between. is an essential part of to days Rational Unified Process(RUP), the Dynamic Systems Development Method(DSDM), Extreme Programming(XP) and generally the agile software development. 15 Requirements Analysis & Design Implementation Planning Deployment Initial Planning Evaluation Testing Evolutionary development process Problems • Lack of process visibility • Systems are often poorly structured due to lack of proper planning • Special skills (e.g. in languages for rapid prototyping) may be required Applicability • For small or medium-size interactive systems • For parts of large systems (e.g. the user interface) • For short-lifetime systems 17 Spiral model- as part of evolutionary process is a software development process combining elements of both prototyping-in-stages and sequential waterfall models  combines advantages of top-down and bottom-up concepts. is intended for large, expensive and complicated projects. 20 Spiral development Process is represented as a spiral rather than as a sequence of activities with backtracking. Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. Risks are explicitly assessed and resolved throughout the process. The Spiral Life Cycle Model Sonstut fourth Proton. RUP phase model O C Phase iteration > Inception —_ Elaboration Construction Transition RUP phases Inception  Establish the business case for the system. Elaboration  Develop an understanding of the problem domain and the system architecture. Construction  System design, programming and testing. Transition  Deploy the system in its operating environment. Business Modeling Requirements Analysis & Design Implementation Test Deployment Configuration & Change Mgmt Project Management Environment Model The Unified Process Life Cycle Workflows | | Phases The workflows are: -  Requirements-elicitation (gathering)  Requirement definition captures the functional and non functional requirements of the new system  Tries to understand what users need  aims at building mainly the essential use case model and CRC  Outcome: Understanding users through Use- case Diagram, CRC, Essential UI prototyping , Supplementary specification Cont…  Analysis  Structuring, analyzing and modeling requirements  aims at understanding the system and building the analysis model  helps the developer refine and structure the functional requirements captured through essential use-case model  Outcome: Determining what the system should do and look like through System Use case, Class/Object Diagram, Sequence Diagram, Activity diagram and UI prototyping. 31  Design  Focus on how to make the analysis a reality  defines how things will be built  aims at building the design model describes the physical realisations of the use cases from the use-case models and the contents of the analysis model Outcome: Design level class diagram, Collaboration Diagram, sate chart diagram, component diagram, deployment diagram, persistent model; extending the UML The Unified Process captures many of modern software development's best practices in a form suitable for a wide range of projects and organizations:  Develop software iteratively.  Manage requirements.  Use component-based architectures.  Visually model software.  Continuously verify software quality.  Control changes to software. Summary Definitions and basic concepts  System/software, Quality software Structured vs OO technologies  Structured (process oriented) Vs OOT (object oriented) Basic object orientation concepts  Abstraction, Encapsulation, hierarchy, modularity, Class, Object, attribute, methods, …. Process models  Waterfall, prototype, Incremental, RUP Work flows- in object orientation  Elicitation, Analysis, Design, Implementation 36 End of 1st chapter 37