[Software construction] Chapter 1 multi-dimensional view of software architecture
Chapter 1 multidimensional view Outline constructed by software
- Describes three dimensions of a software system.
Dynamic: moment & period
Level: code & component
- Element, relationship, and various view Modes
- Conversion between different perspectives
Notes
[Software components]
-Software = Algorithm + Data Structure
-Software = program + Data + documentation (January 1, 1980s)
-Software = Modules (Components) + Data/Control Flow Module (Component) + Data Flow/Control Flow
[Composition of software systems]Software system =
Programs (UI, algorithm, utilities (utility function), APIs, test cases)
+ Data (files, database) + requirements ents (SRS (Requirement Specification statement), SDD (Design Specification statement), user manuals) + Users (who will use it) + Business Objective (why use it) + Social Environment (Regulation) + semantic Environement (how to deploy) + Hardware/Network (Hardware) (the first three are the main ones)[Multidimensional view of software architecture]1. Phase: Build | run 2. Dynamic: moment | cycle 3. Level: Code | component
[Buildtime overview]Idea-> requirement-> Design-> code-> executable packages can be installed-how can code be set up? (Dependency)-system architecture Source Code Composition file-Time Perspective source code at specific time and how it changes with time[Code-level; Build-time; Moment]Three interrelated forms-lexical-oriented semi-structured source code-syntax-oriented (AST abstract syntax tree) semi-structured source code into a syntax tree (the compiler can handle) -https://www.cnblogs.com/lightsong/p/6107310.html for more information about lexical, syntax, and semantics in semantic UML (reference software engineering course content)[Code-level; Build-time; Period -- Code church N (Code change )]-Church n Trends-code changes include addition, modification, and deletion.[Component-level; Build-time; Moment]-How to organize source code into files-dictionary-compressed files into package, logically entering components (components) and sub-systems (subsystems)-link technology (Dynamic/static)[Library )]Source-OS-SDK-Third-Party-write links to class libraries-the compiler forms a linked list of external libraries. The Compiler finds the target file of the library and copies it to the program.Static Link]-The class library is like a collection of special object files-the file corresponding to the method needs to be known before compilation-during the construction, the file is extracted from the class library and copied to the executable file[Component-level; Build-time; Period]-Version Control-Software Configuration Item (the product of activities at various stages of the Software life cycle, which can be called Software Configuration items after review)-version: major. minor. patch
----------- To be continued ------------