Software Modeling and Architecture (PDF)

Summary

This document discusses models and modeling in software development, including object-oriented methods and the Unified Modeling Language (UML). It also covers software architectural design, programming in the small and large, and software design notation. It further elaborates on levels of software architecture, multiple views, software types, and software engineering.

Full Transcript

Models / Modeling - provide abstractions of a system at some level of precision and detail. Object-oriented methods - they address fundamental issues of software modifiability, adaptation, & evolution Unified Modeling Language (UML) - a graphical language and notation for describing models. Softw...

Models / Modeling - provide abstractions of a system at some level of precision and detail. Object-oriented methods - they address fundamental issues of software modifiability, adaptation, & evolution Unified Modeling Language (UML) - a graphical language and notation for describing models. Software Architetural Design - separates the overall structure of the system and their interconnections Programming-in-the small - detailed design of individual components. Programming-in-the large- emphasis on the components and their interconnections. Software design notation- describing a software design either graphically, textually or both. Levels of Software Architecture\'s 1\. High level - describes the decomposition of the software system into subsystem. 2\. Low level- the decomposition of subsystems into components. Multiple views of software Architecture; 1\. use case view - an input to develop NG \| 2\. static view - relationships associations. 3\. Dynamic state machine view - internal control and sequencing 4\. Structural component view - interconnected through their parts. 5\. Dynamic Concurrent view distributed modes, communicating by messages.p 6\. Deployment view - components assigned to hardware tools. - SOFTWARE - a set of machine-readable instructions to perform specific functions/operations. Types: 1\. System software (e.g. Operating System) 2\. Programming Tools & Language Translators 3\. Application Software a\. custom software b\. generic Software c\. embedded software - Software Engineering - analytical approach to the design, development, use & maintenance. - Ad hoc programming style - build & fix, code and fix - Software Crisis - projects failed to be reliable, be on time & budget - Architecture - design of application software, protocols, means for expansion - System - collection of components, items or equipment to accomplish a specific function. - Architectural Design- used for defining complex systems used for processors. Comon activities to software projects: 1\. Requirement and Specification- 2 Domain Analysis - understanding the background 3\. Defining the problem - determing precise problem to solve. (JM) owned M 4\. Requirement Gathering - obtaining all the ideas, N 5\. Requirement Analysis - organizing the information. 4\. Requirement Specification- set of instructions that define what and how the software 7\. Design 8\. Modeling a\. use case modeling - representing the sequence of actions performed. b\. structural modeling - representing things as classes and objects present. c\. Dynamic & Behavioral Modeling the activities it can perform. 9\. Programming - translation of design into programming language. 10\. Quality Assurance - Review and inspections \| testing 11\. Deployment - distributing and installing the software. - Requirement Modeling - actors and use cases, Describe what the user expects from the system Quality attributes: 1\. Correct 2\. Complete 3\. Unambiguous 4\. Consistent 5\. Verifiable 6\. Understandable by non-computer specialist 7\. Modifiable 9\. Traceable - USE CASE MODELING - the functional requirement of the system in terms of the actors and the use cases. - use case - defines a sequence of interactions between one or more actor in the system. \- represented by ovals. - main sequence - the most common sequence of interactions between the actor and the system. - alternative sequence- frequent interactions between the actor and the system. - scenario- each sequence through the use case. - Association- a communication between actor and use case \- represented by lines - Actors - an external user. A role played in the application domain. \- represented by stick figures, a\. Primary actors- initiates a use case b\. Secondary actors - participates in the sequence - System Boundary- the scope or limits of the system. - Software Requirement specification -- document, traceable - Relationships - dependencies between use cases a. include - occurs when there is \"common sequence\" b. extend-model alternative paths that a use case might take - Activity Diagram - the flow of control and sequencing among activities, shows the sequence of activities, decisions, nodes, loops.

Use Quizgecko on...
Browser
Browser