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