SE549 Lecture 2
Terms
undefined, object
copy deck
- Models can be constructed
- before or in parallel with the development of the system
- Models provide
- Better understand the system Perform some preliminary checks Concretized into actual code
- Primary Deficiencies in Requirements
- Far too many requirements Unstable due to late changes Ambiguous Incomplete
- NO Silver Bullet
- Software is a result of human intellectual activity that requires creativity there for No solution is possible that would cause the cost of software drop significantly at once
- Analysis Difficulties
- Essential difficulties Accidental difficulties
- Essential difficulties
- Inherent in the nature of requirements engineering Interactions between humans during the requirements engineering process
- Accidental difficulties
- Attend requirements engineering, but not inherent More room for automation
- Accidental Difficulties Issues
- Written as an afterthought Confused in purpose Not designed to be useful Lacks essential properties
- Essential Difficulties issues
- Comprehension Communication Control Inseparable concerns
- Types of Software Systems
- Sequential Concurrent Reactive
- Sequential system
- Describes conditions that connect the possible initial states to the possible results of the computation
- Concurrent
- Use parallelism to make computations more efficient Include sequential components (processes) that interact with each other
- Reactive
- Sequential or concurrent systems in which the interaction between the different components or between the system and its environment is important
- What are the modes of concurrent systems
- Multiprogramming multiprocessing
- Multiprogramming mode
- A scheduler controls the execution time by preempting one process for a nother
- Multiprocessing mode
- Distrbutive components collaborate to preform a join task composed of multiple process
- Nondeterminism
- at some points of execution there is mored proceed
- How to represent concurrency
- Interleaving model: one transition at a time Maximal concurrency model: multiple transitions to change the state
- Granularity
- level of description of transitions
- Global states represent
- an instantaneous description of the entire system
- Local states represent
- assignments of values to variables of a single concurrent processor
- States capture
- some information about the programat acertainmoment intheexecutionprogram at a certain moment in the execution
- Types of states
- Inital, Final, intermedate
- Commutative
- he ability to change the order of something without changing the end result.
- Noncommutative
- inability to change the order of execution and not alter the result
- model =
- inital states final states intermetat states with labels assigned transitions constraints on transtitions
- Views
- Linear Branching Partial Order
- Linear View
- ï±Don’ttakeintoaccountanyrelationbetweenthe ï±Dont take into account any relation between the different executions
- Branching View
- We can specify that a system can make a choice
- Partial order
- Takesintoconsiderationthateventscanoverlap Takes into consideration that events can overlap in time Describes what can happen concurrently, but does not impose simultaneity