This document discusses system modeling techniques used in software engineering. It covers context models, behavioral models, data models, object models, and CASE workbenches. Different types of models present the system from external, behavioral, and structural perspectives. Common model types include data processing, composition, architectural, and classification models. The document provides examples of context models, state machine models, data flow diagrams, and object models. It also discusses semantic data models, object behavior modeling with sequence diagrams, and components of analysis and design workbenches.
This document provides an overview of UML class diagrams, including their purpose and essential elements. A UML class diagram visually describes the structure of a system by showing classes, attributes, operations, and relationships. Key elements include classes, associations, generalization, dependencies, and notes. The document also provides examples and tips for creating UML class diagrams.
Gives an overview about Process, PCB, Process States, Process Operations, Scheduling, Schedulers, Interprocess communication, shared memory and message passing systems
UML (Unified Modeling Language) is a diagramming language used for object-oriented programming. It can be used to describe the organization, execution, use, and deployment of a program. Design patterns describe common solutions to programming problems and always use UML diagrams. This document focuses on class diagrams, which show classes, interfaces, and their relationships. It provides examples of how to depict classes with variables and methods, and relationships between classes like inheritance.
Object Oriented Design in Software Engineering SE12
The document discusses object-oriented design (OOD) and describes its key characteristics and processes. Specifically, it covers:
1) Objects communicate by message passing and are self-contained entities that encapsulate state and behavior.
2) The OOD process involves identifying objects and classes, defining their interfaces, relationships, and developing models of the system.
3) The Unified Modeling Language (UML) is used to describe OOD models including classes, objects, associations, and other relationships.
Unit 3(advanced state modeling & interaction meodelling)
The document provides an overview of advanced state modeling and interaction modeling techniques in UML. It discusses nested state diagrams and concurrent state diagrams for controlling complexity in state diagrams. It also covers activity models, use case models, and sequence models for interaction modeling. The relationships between class models, state models, and interaction models are also briefly described.
Flow-oriented modeling represents how data objects are transformed as they move through a system. A data flow diagram (DFD) is the diagrammatic form used to depict this approach. DFDs show the flow of data through processes and external entities of a system using symbols like circles and arrows. They provide a unique view of how a system works by modeling the input, output, storage and processing of data from level to level.
This ppt covers the following topics
Introduction
The software component
Designing class-based components
Designing conventional components
Thus it covers Component level design
The document discusses software quality and defines key aspects:
- It explains the importance of software quality for users and developers.
- Qualities like correctness, reliability, efficiency are defined.
- Methods for measuring qualities like ISO 9126 standard are presented.
- Quality is important throughout the software development process.
- Both product quality and process quality need to be managed.
This document discusses function-oriented software design. It explains that function-oriented design represents a system as a set of functions that transform inputs to outputs. The chapter objectives are to explain function-oriented design, introduce design notations, illustrate the design process with an example, and compare sequential, concurrent and object-oriented design strategies. Topics covered include data-flow design, structural decomposition, detailed design, and a comparison of design strategies.
The document discusses use case diagrams and use case descriptions for modeling system requirements. It covers drawing use case diagrams to show functional requirements and actors, common mistakes, and writing use case descriptions including basic, alternate, and exception flows of events. The document provides examples and exercises to help understand use cases for requirements modeling.
Coupling refers to the interdependence between software modules. There are several types of coupling from loose to tight, with the tightest being content coupling where one module relies on the internal workings of another. Cohesion measures how strongly related the functionality within a module is, ranging from coincidental to functional cohesion which is the strongest. Tight coupling and low cohesion can make software harder to maintain and reuse modules.
The document discusses software architectural design. It defines architecture as the structure of a system's components, their relationships, and properties. An architectural design model is transferable across different systems. The architecture enables analysis of design requirements and consideration of alternatives early in development. It represents the system in an intellectually graspable way. Common architectural styles structure systems and their components in different ways, such as data-centered, data flow, and call-and-return styles.
This ppt covers the following
A strategic approach to testing
Test strategies for conventional software
Test strategies for object-oriented software
Validation testing
System testing
The art of debugging
Object Modeling Technique (OMT) is real world based modeling approach for software modeling and designing. It was developed basically as a method to develop object-oriented systems and to support object-oriented programming. It describes the static structure of the system.
Object Modeling Technique is easy to draw and use. It is used in many applications like telecommunication, transportation, compilers etc. It is also used in many real world problems. OMT is one of the most popular object oriented development techniques used now-a-days. OMT was developed by James Rambaugh.
Purpose of Object Modeling Technique:
To test physical entity before construction of them.
To make communication easier with the customers.
To present information in an alternative way i.e. visualization.
To reduce the complexity of software.
To solve the real world problems.
Object Modeling Technique’s Models:
There are three main types of models that has been proposed by OMT.
Object Model:
Object Model encompasses the principles of abstraction, encapsulation, modularity, hierarchy, typing, concurrency and persistence. Object Model basically emphasizes on the object and class. Main concepts related with Object Model are classes and their association with attributes. Predefined relationships in object model are aggregation and generalization (multiple inheritance).
Dynamic Model:
Dynamic Model involves states, events and state diagram (transition diagram) on the model. Main concepts related with Dynamic Model are states, transition between states and events to trigger the transitions. Predefined relationships in object model are aggregation (concurrency) and generalization.
Functional Model:
Functional Model focuses on the how data is flowing, where data is stored and different processes. Main concepts involved in Functional Model are data, data flow, data store, process and actors. Functional Model in OMT describes the whole processes and actions with the help of data flow diagram (DFD).
Phases of Object Modeling Technique:
OMT has the following phases:
Analysis:
This the first phase of the object modeling technique. This phase involves the preparation of precise and correct modelling of the real world problems. Analysis phase starts with setting a goal i.e. finding the problem statement. Problem statement is further divided into above discussed three models i.e. object, dynamic and functional model.
System Design:
This is the second phase of the object modeling technique and it comes after the analysis phase. It determines all system architecture, concurrent tasks and data storage. High level architecture of the system is designed during this phase.
FOR MORE INFORMATION CLICK ON THE LINK BELOW :
https://uii.io/programming
This document discusses distributed systems applications in real life, including three key areas: distributed rendering in computer graphics, peer-to-peer networks, and massively multiplayer online gaming. It describes how distributed rendering parallelizes graphics processing across multiple computers. Peer-to-peer networks are defined as decentralized networks where nodes act as both suppliers and consumers of resources. Examples of peer-to-peer applications include file sharing and content delivery networks. The document also outlines the challenges of designing multiplayer online games using a distributed architecture rather than a traditional client-server model.
The document discusses different types of system models used in requirements engineering including context models, behavioral models, data models, and object models. It describes modeling the system's context, data processing, behavior in response to events, logical data structure, and objects. The document also introduces the Unified Modeling Language (UML) and how computer-aided software engineering (CASE) workbenches support system modeling.
The document discusses different types of system models used in requirements engineering including context models, behavioral models, data models, and object models. It describes modeling the system's behavior using data flow diagrams and state machine diagrams. The document also introduces the Unified Modeling Language (UML) and how computer-aided software engineering (CASE) tools can support system modeling.
The document discusses system modeling as part of the requirements engineering process. It describes different types of models used to represent systems, including context models, behavioral models, data models, and object models. Specific modeling notations are introduced, such as data flow diagrams, state machines, and entity-relationship diagrams. Examples are provided to illustrate modeling concepts for systems like an ATM, order processing, and a microwave oven. The goal of system modeling is to help analysts understand system functionality from different perspectives to communicate requirements.
The document discusses various modeling techniques used in requirements analysis for web applications (WebApps), including:
1) Content modeling to identify and describe all content objects and their relationships.
2) Interaction modeling using use cases, sequence diagrams, state diagrams, and prototypes to describe how users interact.
3) Functional modeling to define all necessary operations and processing functions implied by usage scenarios.
The techniques help analysts understand WebApp requirements by modeling key elements like content, interactions, and functions.
System modeling techniques are used during requirements engineering and design to represent different perspectives of a system. Context models show the system and its environment, while process models illustrate system processes. Behavioral models include data flow diagrams for data processing and state machine diagrams for event-driven behavior. Semantic data models describe logical data structures. Object models represent system entities and relationships. CASE tools support creating and analyzing various system models during development. Prototyping, through evolutionary or throw-away approaches, helps validate requirements by allowing users to interact with early versions of the system. Rapid prototyping techniques include visual programming and reusing components.
Rumbaugh's Object Modeling Technique (OMT) is an object-oriented analysis and design methodology. It uses three main modeling approaches: object models, dynamic models, and functional models. The object model defines the structure of objects in the system through class diagrams. The dynamic model describes object behavior over time using state diagrams and event flow diagrams. The functional model represents system processes and data flow using data flow diagrams.
The document discusses various techniques for modeling software requirements including:
1) Entity-relationship diagrams (ERDs) which model data objects and their relationships to understand the data domain.
2) Use case modeling which describes scenarios of how external actors will use the system through use cases and diagrams.
3) Flow-oriented modeling using data flow diagrams (DFDs) which represent how data objects are transformed as they move through the system.
The document discusses various techniques for modeling software requirements including:
1) Entity-relationship diagrams (ERDs) which model data objects and their relationships to understand the data domain.
2) Use case modeling which describes scenarios of how external actors will use the system through use cases and diagrams.
3) Object-oriented modeling which defines classes, objects, attributes, methods, encapsulation, and inheritance.
4) Flow modeling using data flow diagrams (DFDs) which represent how data objects flow through the system as they are transformed.
Lab 3 Introduction to the UML - how to create a use case diagram
The document discusses use case diagrams and use case modeling. It provides an overview of use case diagrams, including their purpose and components. Key points include:
- Use case diagrams show interactions between actors and the system/software being modeled through use cases. They are used early in development to capture requirements and later to specify system behavior.
- Components of a use case diagram include actors, use cases, and relationships between them like generalization, include, and extend. Actors represent roles that interact with the system while use cases represent system functions/processes.
- Examples of a use case diagram for a vehicle sales system are provided to demonstrate how actors, use cases, and relationships can be modeled visually. Guidance is
The document discusses different types of system models used in requirements engineering, including context models, behavioral models, data models, and object models. It provides examples of each type of model, such as a data flow diagram of an order processing system and a state diagram for a microwave oven. The objectives are to explain why system context should be modeled, describe different modeling notations and perspectives, and discuss how computer-aided software engineering tools can support system modeling.
The document discusses different types of system models used in requirements engineering, including context models, behavioral models, data models, and object models. It provides examples of each type of model, such as a data flow diagram of an order processing system and a state diagram for a microwave oven. The objectives are to explain why system context should be modeled, describe different modeling notations and perspectives, and discuss how computer-aided software engineering tools can support system modeling.
The document discusses system modeling and different types of models used during requirements engineering including context models, data flow diagrams, state machine models, semantic data models, object models, and sequence diagrams. It also introduces the Unified Modeling Language (UML) notation and explains how analysis workbenches can support system modeling.
The document discusses system modeling and different types of models used during requirements engineering including context models, data flow diagrams, state machine models, semantic data models, object models, and sequence diagrams. It also introduces the Unified Modeling Language (UML) notation and explains how analysis workbenches can support system modeling.
System models abstractly describe systems being analyzed and are used to communicate with customers. Different models show the system from external, behavioral, and structural perspectives. Common system models include context models depicting system boundaries, data flow diagrams modeling data processing, state machine models representing system states and transitions, and object models describing the system in terms of object classes and relationships. The Unified Modeling Language provides standard notations for object-oriented modeling.
This chapter discusses analysis and design modeling. It describes various analysis modeling approaches like structured analysis and object-oriented analysis. Structured analysis uses diagrams like data flow diagrams, entity-relationship diagrams, and state transition diagrams. Object-oriented analysis focuses on identifying classes, objects, attributes, and relationships. The chapter also covers data modeling concepts, flow-oriented modeling using data flow diagrams, scenario-based modeling with use cases, and developing behavioral models to represent system behavior. Analysis modeling creates representations of the system to understand requirements and lay the foundation for design.
The document discusses the key activities in requirements engineering including inception, elicitation, analysis modeling, negotiation and validation. It describes techniques used in each stage such as use cases, class and state diagrams to model requirements. Quality function deployment and patterns are also discussed as tools to help define and organize requirements.
The document discusses the key activities in requirements engineering including inception, elicitation, analysis modeling, negotiation and validation. It describes techniques used in each stage such as use cases, class and state diagrams to model requirements. Quality function deployment and patterns are also discussed as tools to help define and organize requirements.
ADBMS ALL 2069-73 [CSITauthority.blogspot.com].pdf
The document contains questions from past exams for an Advanced Database Management Systems course at Tribhuwan University Institute of Science and Technology in Nepal. The questions cover a range of database topics including data mining, object-relational databases, temporal and mobile databases, XML, data warehousing, and distributed databases. Students are instructed to answer all questions in their own words drawing from their knowledge of database concepts and systems.
The document provides details about an advanced database management systems course including its objectives, course contents, and requirements. The course aims to study advanced database techniques beyond fundamental concepts. It contains 5 units covering relational and object-oriented database models, emerging technologies like data warehousing and data mining, and database standards. Students must complete a project using a commercial object-oriented database management system and model-view-controller framework.
Nepal has few internet service providers. A backbone interconnects different networks to exchange data between them. It can connect local area networks within offices or campuses. When multiple local area networks interconnect over a large area, it forms a wide area network or metropolitan area network for an entire city.
The document discusses topics related to rapid software development and evolution, including agile methods, extreme programming, rapid application development, and software prototyping. It provides details on characteristics of rapid application development processes like concurrent specification, design, and implementation. Iterative development approaches are covered along with advantages and challenges. Specific agile methods like extreme programming, with practices like test-driven development and pair programming, are also summarized.
Unit 5- Architectural Design in software engineering
This document provides an overview of architectural design for software systems. It discusses topics like system organization, decomposition styles, and control styles. The key aspects covered are:
1. Architectural design identifies the subsystems, framework for control/communication, and is described in a software architecture.
2. Common decisions include system structure, distribution, styles, decomposition, and control strategy. Models are used to document the design.
3. Organization styles include repository (shared data), client-server (shared services), and layered (abstract machines). Decomposition can be through objects or pipelines. Control can be centralized or event-based.
The document discusses software requirements including functional and non-functional requirements, user requirements, and system requirements. It covers topics like requirements engineering, the importance of requirements, problems that can arise from imprecise requirements, and how to classify and write good requirements. Functional requirements state what services the system should provide, how it should react to inputs, and how it should behave. Non-functional requirements constrain the system's operation and development. Good requirements are complete, consistent, understandable, and unambiguous.
Critical systems must be dependable to avoid catastrophic failures. Dependability encompasses availability, reliability, safety, and security. Availability refers to a system's ability to deliver services when requested, while reliability means delivering services correctly. Safety ensures excessive errors do not occur, as even one failure could endanger life. Development methods for critical systems aim to formally prove correctness due to high failure costs. An insulin pump example demonstrated how software controls a medical device, requiring stringent dependability to safely regulate insulin doses.
This document discusses key concepts in software engineering. It begins with definitions of software and software engineering. It then covers differences between software engineering and computer science/system engineering. Software processes and models are explained. Costs, methods, CASE tools, attributes of good software and challenges in the field are summarized. The document also discusses professional and ethical responsibilities of software engineers, including issues like confidentiality, competence, intellectual property and computer misuse. Finally, it outlines the eight principles of the ACM/IEEE Code of Ethics for software engineers.
The document discusses various topics related to computer networks including uses of networks in business, home, mobile applications and social issues. It also discusses different types of network hardware including personal area networks, local area networks, metropolitan area networks, wide area networks and the internet. Example networks covered include the ARPANET, NSFNET, the internet, wireless LANs, 3G mobile phone networks, and RFID and sensor networks.
The document discusses computer networks and their components. It describes end systems like clients and servers that run applications. Clients request services from servers. The network core uses either circuit switching or packet switching to move data through links and switches. Packet switched networks can be datagram networks, like the Internet, which forwards packets based on destination address, or virtual circuit networks which use preplanned routes. The document also covers network access technologies like dial-up connections and DSL internet access.
The document discusses use case diagrams in object oriented design and analysis. It defines use cases as descriptions of system functionality from a user perspective. Use case diagrams depict system behavior, users, and relationships between actors, use cases, and other use cases. The key components of use case diagrams are described as actors, use cases, the system boundary, and relationships. Common relationships include association, extend, generalization, uses, and include. An example use case diagram for a cellular telephone is provided to illustrate these concepts.
The document discusses various types of program security issues including:
1) Buffer overflow errors which occur when a program tries to store more data in a buffer than it was designed for, potentially allowing attackers to insert malicious code.
2) Incomplete mediation where programs do not properly check all user inputs, enabling attacks such as changing price values.
3) Time-of-check to time-of-use errors where access checks become out of date due to delays between the check and actual use.
Formal Specification in Software Engineering SE9koolkampus
This document discusses formal specification techniques for software. It describes algebraic techniques for specifying interfaces as abstract data types and model-based techniques for specifying system behavior. Algebraic specifications define operations and their relationships, while model-based specifications represent the system state using mathematical constructs like sets and sequences. Formal specification finds errors earlier and reduces rework, though it requires more upfront effort. The document also provides an example of formally specifying an air traffic control system and insulin pump.
This document provides an overview of UML class diagrams, including their purpose and essential elements. A UML class diagram visually describes the structure of a system by showing classes, attributes, operations, and relationships. Key elements include classes, associations, generalization, dependencies, and notes. The document also provides examples and tips for creating UML class diagrams.
Gives an overview about Process, PCB, Process States, Process Operations, Scheduling, Schedulers, Interprocess communication, shared memory and message passing systems
UML (Unified Modeling Language) is a diagramming language used for object-oriented programming. It can be used to describe the organization, execution, use, and deployment of a program. Design patterns describe common solutions to programming problems and always use UML diagrams. This document focuses on class diagrams, which show classes, interfaces, and their relationships. It provides examples of how to depict classes with variables and methods, and relationships between classes like inheritance.
Object Oriented Design in Software Engineering SE12koolkampus
The document discusses object-oriented design (OOD) and describes its key characteristics and processes. Specifically, it covers:
1) Objects communicate by message passing and are self-contained entities that encapsulate state and behavior.
2) The OOD process involves identifying objects and classes, defining their interfaces, relationships, and developing models of the system.
3) The Unified Modeling Language (UML) is used to describe OOD models including classes, objects, associations, and other relationships.
Unit 3(advanced state modeling & interaction meodelling)Manoj Reddy
The document provides an overview of advanced state modeling and interaction modeling techniques in UML. It discusses nested state diagrams and concurrent state diagrams for controlling complexity in state diagrams. It also covers activity models, use case models, and sequence models for interaction modeling. The relationships between class models, state models, and interaction models are also briefly described.
Flow-oriented modeling represents how data objects are transformed as they move through a system. A data flow diagram (DFD) is the diagrammatic form used to depict this approach. DFDs show the flow of data through processes and external entities of a system using symbols like circles and arrows. They provide a unique view of how a system works by modeling the input, output, storage and processing of data from level to level.
This ppt covers the following topics
Introduction
The software component
Designing class-based components
Designing conventional components
Thus it covers Component level design
The document discusses software quality and defines key aspects:
- It explains the importance of software quality for users and developers.
- Qualities like correctness, reliability, efficiency are defined.
- Methods for measuring qualities like ISO 9126 standard are presented.
- Quality is important throughout the software development process.
- Both product quality and process quality need to be managed.
This document discusses function-oriented software design. It explains that function-oriented design represents a system as a set of functions that transform inputs to outputs. The chapter objectives are to explain function-oriented design, introduce design notations, illustrate the design process with an example, and compare sequential, concurrent and object-oriented design strategies. Topics covered include data-flow design, structural decomposition, detailed design, and a comparison of design strategies.
The document discusses use case diagrams and use case descriptions for modeling system requirements. It covers drawing use case diagrams to show functional requirements and actors, common mistakes, and writing use case descriptions including basic, alternate, and exception flows of events. The document provides examples and exercises to help understand use cases for requirements modeling.
Coupling refers to the interdependence between software modules. There are several types of coupling from loose to tight, with the tightest being content coupling where one module relies on the internal workings of another. Cohesion measures how strongly related the functionality within a module is, ranging from coincidental to functional cohesion which is the strongest. Tight coupling and low cohesion can make software harder to maintain and reuse modules.
Architecture design in software engineeringPreeti Mishra
The document discusses software architectural design. It defines architecture as the structure of a system's components, their relationships, and properties. An architectural design model is transferable across different systems. The architecture enables analysis of design requirements and consideration of alternatives early in development. It represents the system in an intellectually graspable way. Common architectural styles structure systems and their components in different ways, such as data-centered, data flow, and call-and-return styles.
This ppt covers the following
A strategic approach to testing
Test strategies for conventional software
Test strategies for object-oriented software
Validation testing
System testing
The art of debugging
Object Modeling Technique (OMT) is real world based modeling approach for software modeling and designing. It was developed basically as a method to develop object-oriented systems and to support object-oriented programming. It describes the static structure of the system.
Object Modeling Technique is easy to draw and use. It is used in many applications like telecommunication, transportation, compilers etc. It is also used in many real world problems. OMT is one of the most popular object oriented development techniques used now-a-days. OMT was developed by James Rambaugh.
Purpose of Object Modeling Technique:
To test physical entity before construction of them.
To make communication easier with the customers.
To present information in an alternative way i.e. visualization.
To reduce the complexity of software.
To solve the real world problems.
Object Modeling Technique’s Models:
There are three main types of models that has been proposed by OMT.
Object Model:
Object Model encompasses the principles of abstraction, encapsulation, modularity, hierarchy, typing, concurrency and persistence. Object Model basically emphasizes on the object and class. Main concepts related with Object Model are classes and their association with attributes. Predefined relationships in object model are aggregation and generalization (multiple inheritance).
Dynamic Model:
Dynamic Model involves states, events and state diagram (transition diagram) on the model. Main concepts related with Dynamic Model are states, transition between states and events to trigger the transitions. Predefined relationships in object model are aggregation (concurrency) and generalization.
Functional Model:
Functional Model focuses on the how data is flowing, where data is stored and different processes. Main concepts involved in Functional Model are data, data flow, data store, process and actors. Functional Model in OMT describes the whole processes and actions with the help of data flow diagram (DFD).
Phases of Object Modeling Technique:
OMT has the following phases:
Analysis:
This the first phase of the object modeling technique. This phase involves the preparation of precise and correct modelling of the real world problems. Analysis phase starts with setting a goal i.e. finding the problem statement. Problem statement is further divided into above discussed three models i.e. object, dynamic and functional model.
System Design:
This is the second phase of the object modeling technique and it comes after the analysis phase. It determines all system architecture, concurrent tasks and data storage. High level architecture of the system is designed during this phase.
FOR MORE INFORMATION CLICK ON THE LINK BELOW :
https://uii.io/programming
This document discusses distributed systems applications in real life, including three key areas: distributed rendering in computer graphics, peer-to-peer networks, and massively multiplayer online gaming. It describes how distributed rendering parallelizes graphics processing across multiple computers. Peer-to-peer networks are defined as decentralized networks where nodes act as both suppliers and consumers of resources. Examples of peer-to-peer applications include file sharing and content delivery networks. The document also outlines the challenges of designing multiplayer online games using a distributed architecture rather than a traditional client-server model.
The document discusses different types of system models used in requirements engineering including context models, behavioral models, data models, and object models. It describes modeling the system's context, data processing, behavior in response to events, logical data structure, and objects. The document also introduces the Unified Modeling Language (UML) and how computer-aided software engineering (CASE) workbenches support system modeling.
The document discusses different types of system models used in requirements engineering including context models, behavioral models, data models, and object models. It describes modeling the system's behavior using data flow diagrams and state machine diagrams. The document also introduces the Unified Modeling Language (UML) and how computer-aided software engineering (CASE) tools can support system modeling.
The document discusses system modeling as part of the requirements engineering process. It describes different types of models used to represent systems, including context models, behavioral models, data models, and object models. Specific modeling notations are introduced, such as data flow diagrams, state machines, and entity-relationship diagrams. Examples are provided to illustrate modeling concepts for systems like an ATM, order processing, and a microwave oven. The goal of system modeling is to help analysts understand system functionality from different perspectives to communicate requirements.
The document discusses various modeling techniques used in requirements analysis for web applications (WebApps), including:
1) Content modeling to identify and describe all content objects and their relationships.
2) Interaction modeling using use cases, sequence diagrams, state diagrams, and prototypes to describe how users interact.
3) Functional modeling to define all necessary operations and processing functions implied by usage scenarios.
The techniques help analysts understand WebApp requirements by modeling key elements like content, interactions, and functions.
System modeling techniques are used during requirements engineering and design to represent different perspectives of a system. Context models show the system and its environment, while process models illustrate system processes. Behavioral models include data flow diagrams for data processing and state machine diagrams for event-driven behavior. Semantic data models describe logical data structures. Object models represent system entities and relationships. CASE tools support creating and analyzing various system models during development. Prototyping, through evolutionary or throw-away approaches, helps validate requirements by allowing users to interact with early versions of the system. Rapid prototyping techniques include visual programming and reusing components.
Rumbaugh's Object Modeling Technique (OMT) is an object-oriented analysis and design methodology. It uses three main modeling approaches: object models, dynamic models, and functional models. The object model defines the structure of objects in the system through class diagrams. The dynamic model describes object behavior over time using state diagrams and event flow diagrams. The functional model represents system processes and data flow using data flow diagrams.
The document discusses various techniques for modeling software requirements including:
1) Entity-relationship diagrams (ERDs) which model data objects and their relationships to understand the data domain.
2) Use case modeling which describes scenarios of how external actors will use the system through use cases and diagrams.
3) Flow-oriented modeling using data flow diagrams (DFDs) which represent how data objects are transformed as they move through the system.
The document discusses various techniques for modeling software requirements including:
1) Entity-relationship diagrams (ERDs) which model data objects and their relationships to understand the data domain.
2) Use case modeling which describes scenarios of how external actors will use the system through use cases and diagrams.
3) Object-oriented modeling which defines classes, objects, attributes, methods, encapsulation, and inheritance.
4) Flow modeling using data flow diagrams (DFDs) which represent how data objects flow through the system as they are transformed.
Lab 3 Introduction to the UML - how to create a use case diagramFarah Ahmed
The document discusses use case diagrams and use case modeling. It provides an overview of use case diagrams, including their purpose and components. Key points include:
- Use case diagrams show interactions between actors and the system/software being modeled through use cases. They are used early in development to capture requirements and later to specify system behavior.
- Components of a use case diagram include actors, use cases, and relationships between them like generalization, include, and extend. Actors represent roles that interact with the system while use cases represent system functions/processes.
- Examples of a use case diagram for a vehicle sales system are provided to demonstrate how actors, use cases, and relationships can be modeled visually. Guidance is
The document discusses different types of system models used in requirements engineering, including context models, behavioral models, data models, and object models. It provides examples of each type of model, such as a data flow diagram of an order processing system and a state diagram for a microwave oven. The objectives are to explain why system context should be modeled, describe different modeling notations and perspectives, and discuss how computer-aided software engineering tools can support system modeling.
The document discusses different types of system models used in requirements engineering, including context models, behavioral models, data models, and object models. It provides examples of each type of model, such as a data flow diagram of an order processing system and a state diagram for a microwave oven. The objectives are to explain why system context should be modeled, describe different modeling notations and perspectives, and discuss how computer-aided software engineering tools can support system modeling.
The document discusses system modeling and different types of models used during requirements engineering including context models, data flow diagrams, state machine models, semantic data models, object models, and sequence diagrams. It also introduces the Unified Modeling Language (UML) notation and explains how analysis workbenches can support system modeling.
The document discusses system modeling and different types of models used during requirements engineering including context models, data flow diagrams, state machine models, semantic data models, object models, and sequence diagrams. It also introduces the Unified Modeling Language (UML) notation and explains how analysis workbenches can support system modeling.
System models abstractly describe systems being analyzed and are used to communicate with customers. Different models show the system from external, behavioral, and structural perspectives. Common system models include context models depicting system boundaries, data flow diagrams modeling data processing, state machine models representing system states and transitions, and object models describing the system in terms of object classes and relationships. The Unified Modeling Language provides standard notations for object-oriented modeling.
This chapter discusses analysis and design modeling. It describes various analysis modeling approaches like structured analysis and object-oriented analysis. Structured analysis uses diagrams like data flow diagrams, entity-relationship diagrams, and state transition diagrams. Object-oriented analysis focuses on identifying classes, objects, attributes, and relationships. The chapter also covers data modeling concepts, flow-oriented modeling using data flow diagrams, scenario-based modeling with use cases, and developing behavioral models to represent system behavior. Analysis modeling creates representations of the system to understand requirements and lay the foundation for design.
The document discusses the key activities in requirements engineering including inception, elicitation, analysis modeling, negotiation and validation. It describes techniques used in each stage such as use cases, class and state diagrams to model requirements. Quality function deployment and patterns are also discussed as tools to help define and organize requirements.
The document discusses the key activities in requirements engineering including inception, elicitation, analysis modeling, negotiation and validation. It describes techniques used in each stage such as use cases, class and state diagrams to model requirements. Quality function deployment and patterns are also discussed as tools to help define and organize requirements.
ADBMS ALL 2069-73 [CSITauthority.blogspot.com].pdfarvind pandey
The document contains questions from past exams for an Advanced Database Management Systems course at Tribhuwan University Institute of Science and Technology in Nepal. The questions cover a range of database topics including data mining, object-relational databases, temporal and mobile databases, XML, data warehousing, and distributed databases. Students are instructed to answer all questions in their own words drawing from their knowledge of database concepts and systems.
The document provides details about an advanced database management systems course including its objectives, course contents, and requirements. The course aims to study advanced database techniques beyond fundamental concepts. It contains 5 units covering relational and object-oriented database models, emerging technologies like data warehousing and data mining, and database standards. Students must complete a project using a commercial object-oriented database management system and model-view-controller framework.
Internet service provider and network backbonearvind pandey
Nepal has few internet service providers. A backbone interconnects different networks to exchange data between them. It can connect local area networks within offices or campuses. When multiple local area networks interconnect over a large area, it forms a wide area network or metropolitan area network for an entire city.
The document discusses topics related to rapid software development and evolution, including agile methods, extreme programming, rapid application development, and software prototyping. It provides details on characteristics of rapid application development processes like concurrent specification, design, and implementation. Iterative development approaches are covered along with advantages and challenges. Specific agile methods like extreme programming, with practices like test-driven development and pair programming, are also summarized.
Unit 5- Architectural Design in software engineering arvind pandey
This document provides an overview of architectural design for software systems. It discusses topics like system organization, decomposition styles, and control styles. The key aspects covered are:
1. Architectural design identifies the subsystems, framework for control/communication, and is described in a software architecture.
2. Common decisions include system structure, distribution, styles, decomposition, and control strategy. Models are used to document the design.
3. Organization styles include repository (shared data), client-server (shared services), and layered (abstract machines). Decomposition can be through objects or pipelines. Control can be centralized or event-based.
Unit 3- requirements for software development arvind pandey
The document discusses software requirements including functional and non-functional requirements, user requirements, and system requirements. It covers topics like requirements engineering, the importance of requirements, problems that can arise from imprecise requirements, and how to classify and write good requirements. Functional requirements state what services the system should provide, how it should react to inputs, and how it should behave. Non-functional requirements constrain the system's operation and development. Good requirements are complete, consistent, understandable, and unambiguous.
Unit 2-software development process notes arvind pandey
Critical systems must be dependable to avoid catastrophic failures. Dependability encompasses availability, reliability, safety, and security. Availability refers to a system's ability to deliver services when requested, while reliability means delivering services correctly. Safety ensures excessive errors do not occur, as even one failure could endanger life. Development methods for critical systems aim to formally prove correctness due to high failure costs. An insulin pump example demonstrated how software controls a medical device, requiring stringent dependability to safely regulate insulin doses.
Unit 1-overview of software engineering arvind pandey
This document discusses key concepts in software engineering. It begins with definitions of software and software engineering. It then covers differences between software engineering and computer science/system engineering. Software processes and models are explained. Costs, methods, CASE tools, attributes of good software and challenges in the field are summarized. The document also discusses professional and ethical responsibilities of software engineers, including issues like confidentiality, competence, intellectual property and computer misuse. Finally, it outlines the eight principles of the ACM/IEEE Code of Ethics for software engineers.
The document discusses various topics related to computer networks including uses of networks in business, home, mobile applications and social issues. It also discusses different types of network hardware including personal area networks, local area networks, metropolitan area networks, wide area networks and the internet. Example networks covered include the ARPANET, NSFNET, the internet, wireless LANs, 3G mobile phone networks, and RFID and sensor networks.
The document discusses computer networks and their components. It describes end systems like clients and servers that run applications. Clients request services from servers. The network core uses either circuit switching or packet switching to move data through links and switches. Packet switched networks can be datagram networks, like the Internet, which forwards packets based on destination address, or virtual circuit networks which use preplanned routes. The document also covers network access technologies like dial-up connections and DSL internet access.
This document summarizes a presentation on brain-machine interfaces. It begins by defining a brain-machine interface as a direct communication link between the brain and external devices. It then outlines the main components of a BMI system, including neural signal acquisition from the brain, signal processing algorithms to extract commands, and using those commands to control external devices with feedback. Challenges discussed include the complexity of the brain, weak signal strengths, and ethical concerns about thought control and memory modification. The future of BMI is predicted to include thought-based communication devices and advanced cyborg technologies.
How to Configure Time Off Types in Odoo 17Celine George
Now we can take look into how to configure time off types in odoo 17 through this slide. Time-off types are used to grant or request different types of leave. Only then the authorities will have a clear view or a clear understanding of what kind of leave the employee is taking.
(T.L.E.) Agriculture: Essentials of GardeningMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 𝟏.𝟎)-𝐅𝐢𝐧𝐚𝐥𝐬
Lesson Outcome:
-Students will understand the basics of gardening, including the importance of soil, water, and sunlight for plant growth. They will learn to identify and use essential gardening tools, plant seeds, and seedlings properly, and manage common garden pests using eco-friendly methods.
Integrated Marketing Communications (IMC)- Concept, Features, Elements, Role of advertising in IMC
Advertising: Concept, Features, Evolution of Advertising, Active Participants, Benefits of advertising to Business firms and consumers.
Classification of advertising: Geographic, Media, Target audience and Functions.
Credit limit improvement system in odoo 17Celine George
In Odoo 17, confirmed and uninvoiced sales orders are now factored into a partner's total receivables. As a result, the credit limit warning system now considers this updated calculation, leading to more accurate and effective credit management.
Join educators from the US and worldwide at this year’s conference, themed “Strategies for Proficiency & Acquisition,” to learn from top experts in world language teaching.
Views in Odoo - Advanced Views - Pivot View in Odoo 17Celine George
In Odoo, the pivot view is a graphical representation of data that allows users to analyze and summarize large datasets quickly. It's a powerful tool for generating insights from your business data.
The pivot view in Odoo is a valuable tool for analyzing and summarizing large datasets, helping you gain insights into your business operations.
Webinar Innovative assessments for SOcial Emotional SkillsEduSkills OECD
Presentations by Adriano Linzarini and Daniel Catarino da Silva of the OECD Rethinking Assessment of Social and Emotional Skills project from the OECD webinar "Innovations in measuring social and emotional skills and what AI will bring next" on 5 July 2024
Ardra Nakshatra (आर्द्रा): Understanding its Effects and RemediesAstro Pathshala
Ardra Nakshatra, the sixth Nakshatra in Vedic astrology, spans from 6°40' to 20° in the Gemini zodiac sign. Governed by Rahu, the north lunar node, Ardra translates to "the moist one" or "the star of sorrow." Symbolized by a teardrop, it represents the transformational power of storms, bringing both destruction and renewal.
About Astro Pathshala
Astro Pathshala is a renowned astrology institute offering comprehensive astrology courses and personalized astrological consultations for over 20 years. Founded by Gurudev Sunil Vashist ji, Astro Pathshala has been a beacon of knowledge and guidance in the field of Vedic astrology. With a team of experienced astrologers, the institute provides in-depth courses that cover various aspects of astrology, including Nakshatras, planetary influences, and remedies. Whether you are a beginner seeking to learn astrology or someone looking for expert astrological advice, Astro Pathshala is dedicated to helping you navigate life's challenges and unlock your full potential through the ancient wisdom of Vedic astrology.
For more information about their courses and consultations, visit Astro Pathshala.
How to Install Theme in the Odoo 17 ERPCeline George
With Odoo, we can select from a wide selection of attractive themes. Many excellent ones are free to use, while some require payment. Putting an Odoo theme in the Odoo module directory on our server, downloading the theme, and then installing it is a simple process.
Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...Murugan Solaiyappan
Title: Relational Database Management System Concepts(RDBMS)
Description:
Welcome to the comprehensive guide on Relational Database Management System (RDBMS) concepts, tailored for final year B.Sc. Computer Science students affiliated with Alagappa University. This document covers fundamental principles and advanced topics in RDBMS, offering a structured approach to understanding databases in the context of modern computing. PDF content is prepared from the text book Learn Oracle 8I by JOSE A RAMALHO.
Key Topics Covered:
Main Topic : DATA INTEGRITY, CREATING AND MAINTAINING A TABLE AND INDEX
Sub-Topic :
Data Integrity,Types of Integrity, Integrity Constraints, Primary Key, Foreign key, unique key, self referential integrity,
creating and maintain a table, Modifying a table, alter a table, Deleting a table
Create an Index, Alter Index, Drop Index, Function based index, obtaining information about index, Difference between ROWID and ROWNUM
Target Audience:
Final year B.Sc. Computer Science students at Alagappa University seeking a solid foundation in RDBMS principles for academic and practical applications.
About the Author:
Dr. S. Murugan is Associate Professor at Alagappa Government Arts College, Karaikudi. With 23 years of teaching experience in the field of Computer Science, Dr. S. Murugan has a passion for simplifying complex concepts in database management.
Disclaimer:
This document is intended for educational purposes only. The content presented here reflects the author’s understanding in the field of RDBMS as of 2024.
Feedback and Contact Information:
Your feedback is valuable! For any queries or suggestions, please contact muruganjit@agacollege.in
How to Show Sample Data in Tree and Kanban View in Odoo 17Celine George
In Odoo 17, sample data serves as a valuable resource for users seeking to familiarize themselves with the functionalities and capabilities of the software prior to integrating their own information. In this slide we are going to discuss about how to show sample data to a tree view and a kanban view.
No, it's not a robot: prompt writing for investigative journalismPaul Bradshaw
How to use generative AI tools like ChatGPT and Gemini to generate story ideas for investigations, identify potential sources, and help with coding and writing.
A talk from the Centre for Investigative Journalism Summer School, July 2024
3. System modelling
System modelling helps the analystanalyst to understand
the functionality of the system and modelsmodels are usedy y
to communicatecommunicate with customerscustomers..
Different models present the system from differentDifferent models present the system from different
perspectives
•• ExternalExternal perspectiveperspective showing the system’s context or
environment;
Beha io ralBeha io ral perspecti eperspecti e sho ing the beha io r of the s stem•• BehaviouralBehavioural perspectiveperspective showing the behaviour of the system;
•• StructuralStructural perspectiveperspective showing the system or data
architecture.architecture.
4. Model types
DataData processingprocessing modelmodel showing how the datadata isis
processedprocessed at different stages.
CompositionComposition modelmodel showing how entitiesentities areare
composedcomposed of other entitiescomposedcomposed of other entities.
ArchitecturalArchitectural modelmodel showing principal sub-systems.
ClassificationClassification modelmodel showing how entitiesentities havehave
commoncommon characteristicscharacteristics.
Stimulus/responseStimulus/response model/Statemodel/State showing the
system’s reaction to eventssystem s reaction to events.
5. Context models-External perspectiveExternal perspective
Context models are used to illustrate the
operationaloperational contextcontext of a system - they show whatpp y y
lies outsideoutside thethe systemsystem boundariesboundaries.
6. The context of an ATM system
Security
system
Account
da tabase
Branch
accounting
system
Auto-teller
system
Branch
M i t
Usage
database
Branch
counter
system
Maintenance
system
7. Behavioural models
Behavioural models are used to describe the overall
behaviour of a system.
Two types of behavioural model are:
•• DataData processingprocessing modelsmodels that show how data•• DataData processingprocessing modelsmodels that show how data
is processed as it moves through the system;
•• StateState machinemachine modelsmodels that show the systems
response to events.
8. Process models
Data flow models may be used to show the
processes and the flowflow ofof informationinformation fromfrom oneonep
processprocess toto anotheranother..
9. Data-processing models
Data flow diagrams (DFDs) may be used to model
the system’s data processing.y p g
These show the processing steps as data flows
through a systemthrough a system.
DFDs are an intrinsic part of many analysis
methods.
Simple and intuitive notation that customers canp
understand.
Sh d t d i f d tShow end-to-end processing of data.
10. Equipment procurement process
Equipment
Checked
spec
Deli very
note
Deli very
note
Get cost
estima tes
Accept
deli very of
equipment
Check
delivered
items
Valida te
specification
Specify
equipment
requir ed
spec.
spec.
Or der
Installa tion
i t ti
Spec. +
supplier +
estima teEquipment
Choose
supplier
Place
equipment
order
Install
equipment
Find
suppliers
Supplier
da tabase
Or der
notifica tion
instructions
Order
details plus
estima te
Supplier list
Equipment
spec.
Accept
deli vered
Installa tion
acceptance
Ch k d d
p
blank or der
for m
equipment
Equipment
details
Check ed and
signed or der f orm
Equipment
da tabase
11. State machine models
These model the behaviour of the system inThese model the behaviour of the system in
response to external and internal events.
They show the system’s responses to stimuli (Stimuli are
events in the environment that influence behavior.)so are often used for
modelling real-time systems.
State machine models show systemsystem statesstates asState machine models show systemsystem statesstates as
nodesnodes and eventsevents as arcsarcs between these nodes.
When an e ent occ rs the s stem mo es from oneWhen an event occurs, the system moves from one
state to another.
State charts are an integral part of the UML and are
used to represent state machine models.
12. State charts
Allow the decomposition of a model into sub-models
A brief description of the actions is includedA brief description of the actions is included
following the ‘do’ in each state.
Can be complemented by tablestables describingdescribing the
states and the stimuli.
13. Microwave oven state table description
State Description
Waiting The oven is waiting for input. The display shows the current time.g g p p y
Half power The oven power is set to 300 watts. The display shows ‘Half power’.
Full power The oven power is set to 600 watts. The display shows ‘Full power’.
Set time The cooking time is set to the user’s input value. The display shows the cooking
time selected and is updated as the time is set.
Disabled Oven operation is disabled for safety. Interior oven light is on. Display shows ‘Not
ready’.
Enabled Oven operation is enabled. Interior oven light is off. Display shows ‘Ready top g p y y
cook’.
Operation Oven in operation. Interior oven light is on. Display shows the timer countdown.
On completion of cooking, the buzzer is sounded for 5 seconds. Oven light is on.
Display shows ‘Cooking complete’ while buzzer is sounding.
14. Microwave oven model
Full power
Full
pow er
do: set power
= 600
do: operate
Full
power
Number
Set time
do: get number
Operation
Waiting
do: display
time
Timer
do: operate
oven
Half
power
Half
power
p
Door
Door
closed
Start
do: get number
exit: set time
CancelTimer
Enabled
Door
open
Door
closed
Door
openHalf power
do: set power
= 3 00
Waiting
do: display
time
do: display
'Ready'
Disabled
do: display
'Waiting'
15. Microwave oven stimuli
Stimulus Description
Half power The user has pressed the half power button
Full power The user has pressed the full power button
Timer The user has pressed one of the timer buttons
Number The user has pressed a numeric key
Door open The oven door switch is not closed
Door closed The oven door switch is closedDoor closed The oven door switch is closed
Start The user has pressed the start button
Cancel The user has pressed the cancel button
16. Microwave oven operation
C k
Checking
Time
Operation
Cook
do: run
generator
do: check
status
g
Turntable Emitter
OK
Timeout
Done
do: buzzer on
f 5
Alarm
do: display
Turntable
fault
Emitter
fault
Timeout
for 5 secs.
do: display
event
Door open Cancel
WaitingDisabled
17. Semantic data models
Used to describe the logicallogical structurestructure ofof datadata
processedprocessed by the system.pp y y
An entity-relation-attribute model sets out the
entities in the system the relationships betweenentities in the system, the relationships between
these entities and the entity attributes
Widely used in database design. Can readily be
implemented using relational databases.
19. Data dictionaries
Data dictionaries are listslists ofof allall of the names used
in the system models. Descriptions of the entities,y p ,
relationships and attributes are also included.
AdvantagesAdvantages
• Support name management and avoid duplication;
• Store of organisational knowledge linking analysis, design
and implementation;
Many CASE workbenches support data dictionaries.
20. Data dictionary entries
Name Description Type Date
Article Details of the published article that may be ordered by
people using LIBSYS.
Entity 30.12.2002
authors The names of the authors of the article who may be due Attribute 30 12 2002authors The names of the authors of the article who may be due
a share of the fee.
Attribute 30.12.2002
Buyer The person or organisation that orders a copy of the
article.
Entity 30.12.2002
fee-payable-
to
A 1:1 relationship between Article and the Copyright
Agency who should be paid the copyright fee.
Relation 29.12.2002
Address
(Buyer)
The address of the buyer. This is used to any paper
billing information that is required.
Attribute 31.12.2002
y g q
21. Object models
“Object", refers to a particular instance of a ClassClass
Object models describe the system in terms ofObject models describe the system in terms of
object classes and their associations.
An object class is an abstraction over a set of
objects with common attributes and the services
(operations) provided by each object.
Various object models may be producedj y p
• Inheritance models;
• Aggregation models;• Aggregation models;
• Interaction models.
22. Object models
Natural ways of reflecting the realreal--worldworld entitiesentities
manipulated by the systemp y y
Object class identification is recognised as a difficult
process requiring a deep understanding of theprocess requiring a deep understanding of the
application domain
Object classes reflecting domain entities are
reusablereusable acrossacross systemssystems
23. Inheritance models
Classes at the top of the hierarchy reflect the
common features of all classes.
Object classes inherit their attributes and services
from one or more super classesfrom one or more super-classes.
24. Object models and the UML
Th UML i t d d t ti d i d b thThe UML is a standard representation devised by the
developers of widely used object-oriented analysis and design
methodsmethods.
It has become an effective standard for object-oriented
modellingmodelling.
Notation
Object classes are rectanglesrectangles ith the name at the top• Object classes are rectanglesrectangles with the name at the top,
attributesattributes inin thethe middlemiddle sectionsection and operationsoperations inin thethe bottombottom
section;
• Relationships between object classes (knownknown asas associationsassociations)
are shown as lines linking objects;
• Inheritance is referred to as generalisation and is shown
‘upwards‘upwards’ rather than ‘downwards’downwards’ in a hierarchy.
27. Multiple inheritance
Rather than inheriting the attributes and services
from a single parent class, a system which supportsg p , y pp
multiple inheritance allows object classes to inherit
fromfrom severalseveral supersuper--classesclassesfromfrom severalseveral supersuper--classesclasses..
This can lead to semantic conflicts where
attributes/services with the same name in different
super-classes have different semantics.
Multiple inheritance makes class hierarchy
reorganisation more complex.reorganisation more complex.
31. Structured methods
Methods define a set of models, a process for
deriving these models and rules and guidelines thatg g
should apply to the models.
CASE tools support system modelling as part of aCASE tools support system modelling as part of a
structured method.
32. Method weaknesses
They do not model non-functional system
requirements.q
They do not usually include information about
whether a method is appropriate for a givenwhether a method is appropriate for a given
problem.
The may produce too much documentation.
The system models are sometimes too detailed andy
difficult for users to understand.
33. CASE workbenches
A coherent set of tools that is designed to support
related software process activities such as analysis,p y ,
design or testing.
Analysis and design workbenches support systemAnalysis and design workbenches support system
modelling during both requirements engineering and
system design.
These workbenches may support a specific design
method or may provide support for a creating
several different types of system modelseveral different types of system model.
35. Analysis workbench components
Diagram editors
Model analysis and checking toolsModel analysis and checking tools
Repository and associated query language
Data dictionary
Report definition and generation toolsp g
Forms definition tools
I t/ t t l tImport/export translators
Code generation tools
38. Software project management
Concerned with activitiesactivities involved in ensuring
that software is delivered onon timetime and onon
scheduleschedule and in accordance with the
requirements of the organisations developingrequirements of the organisations developing
and procuring the software.
Project management is needed because software
development is always subject to budget and
schedule constraints that are set by the
organisation developing the software.g p g
39. Software Project Management activities
Proposal writing.
Project planning and schedulingProject planning and scheduling.
Project costing.
Project monitoring and reviews.
Personnel selection and evaluation.
Report writing and presentations.
40. Project staffing
May not be possible to appoint the ideal people to work
on a project
• Project budget may not allow for the use of highly-paid
staff;;
• Staff with the appropriate experience may not be
available;available;
• An organisation may wish to develop employee skills
on a software projecton a software project.
Managers have to work within these constraints
i ll h th h t f t i d t ffespecially when there are shortages of trained staff.
41. Project planning
Probably the most time-consuming project
management activity.g y
Continuous activity from initial concept through
to system delivery Plans must be regularly revisedto system delivery. Plans must be regularly revised
as new information becomes available.
Various different types of plan may be developed to
support the main software project plan that is
concerned with schedule and budget.
42. Types of project plan
Plan Description
Quality plan Describes the quality procedures and standards that will
b d i jbe used in a project. .
Validation plan Describes the approach, resources and schedule used for
system validation.
Configuration
management plan
Describes the configuration management procedures and
structures to be used.
Maintenance plan Predicts the maintenance requirements of the system,
maintenance costs and effort required.
Staff development Describes how the skills and experience of the projectp
plan.
p p j
team members will be developed.
43. Project planning process
E t bli h th j t t i tEstablish the project constraints
Make initial assessments of the project parameters
Define project milestones and deliverables
while project has not been completed or cancelled loop
Draw up project schedule
Initiate activities according to scheduleg
Wait ( for a while )
Review project progress
Revise estimates of project parametersRevise estimates of project parameters
Update the project schedule
Re-negotiate project constraints and deliverables
if ( problems arise ) then
Initiate technical review and possible revision
end if
end loop
44. The project plan
The project plan sets out:
• The resources available to the project;The resources available to the project;
• The work breakdown;
• A schedule for the work.
45. Project plan structure
Introduction.
Project organisationProject organisation.
Risk analysis.
Hardware and software resource requirements.
Work breakdown.
Project schedule.
M it i d ti h iMonitoring and reporting mechanisms.
46. Activity organization
Activities in a project should be organised to
produce tangible outputs for management to judgep g p g j g
progress.
Milestones are the end point of a process activityMilestones are the end-point of a process activity.
Deliverables are project results delivered to
customers.
The waterfall process allows for the straightforwardp g
definition of progress milestones.
47. Project scheduling
Split project into tasks and estimate time and
resources required to complete each task.q p
Organize tasks concurrently to make optimal
use of workforceuse of workforce.
Minimize task dependencies to avoid delays
caused by one task waiting for another to complete.
Dependent on project managers intuition andp p j g
experience.
49. Scheduling problems
Estimating the difficulty of problems and hence the
cost of developing a solution is hard.p g
Productivity is not proportional to the number of
people working on a taskpeople working on a task.
Adding people to a late project makes it later
because of communication overheads.
The unexpected always happens. Always allowp y pp y
contingency in planning.
50. Bar charts and activity networks
Graphical notations used to illustrate the project
schedule.
Show project breakdown into tasks. Tasks should
not be too small They should take about a week ornot be too small. They should take about a week or
two.
Activity charts show task dependencies and the the
critical path.
Bar charts show schedule against calendar time.
55. Risk management
Risk management is concerned with identifying risks and
drawing up plans to minimise their effect on a project.
A risk is a probability that some adverse circumstance will
occur
• Project risks affect schedule or resources;
• Product risks affect the quality or performance of the
software being developed;
• Business risks affect the organisation developing or
procuring the software.
56. Software risks
Risk Affects Description
Staff turnover Project Experienced staff will leave the project before it is finished.
Management change Project There will be a change of organisational management with
different priorities.
Hardware unavailability Project Hardware that is essential for the project will not be
delivered on schedule.
Requirements change Project and
product
There will be a larger number of changes to the
requirements than anticipated.
Specification delays Project and
product
Specifications of essential interfaces are not available on
schedule
Size underestimate Project and
product
The size of the system has been underestimated.
CASE tool under-
performance
Product CASE tools which support the project do not perform as
anticipated
Technology change Business The underlying technology on which the system is built is
superseded by new technology.
Product competition Business A competitive product is marketed before the system is
completed.
58. The risk management process
Risk identification
• Identify project, product and business risks;
Risk analysis
• Assess the likelihood and consequences of these risks;
Risk planning
• Draw up plans to avoid or minimise the effects of the risk;p p ;
Risk monitoring
• Monitor the risks throughout the project;Monitor the risks throughout the project;
60. Risks and risk types
Risk type Possible risks
Technology The database used in the system cannot process as many transactions per second
as expected.as expected.
Software components that should be reused contain defects that limit their
functionality.
People It is impossible to recruit staff with the skills required.
Key staff are ill and unavailable at critical times.
i d i i f ff i il blRequired training for staff is not available.
Organisational The organisation is restructured so that different management are responsible for
the project.
Organisational financial problems force reductions in the project budget.
Tools The code generated by CASE tools is inefficient.
CASE tools cannot be integrated.
Requirements Changes to requirements that require major design rework are proposed.
Customers fail to understand the impact of requirements changes.
Estimation The time required to develop the software is underestimated.
The rate of defect repair is underestimated.
The size of the software is underestimated.
61. Risk analysis
Assess probability and seriousness of each risk.
Probability may be very low low moderate high orProbability may be very low, low, moderate, high or
very high.
Risk effects might be catastrophic, serious, tolerable
or insignificant.
62. Risk analysis (i)
Risk Probability Effects
Organisational financial problems force reductions in Low CatastrophicOrganisational financial problems force reductions in
the project budget.
Low Catastrophic
It is impossible to recruit staff with the skills required
for the project.
High Catastrophic
Key staff are ill at critical times in the project. Moderate Serious
Software components that should be reused contain
defects which limit their functionality.
Moderate Serious
Changes to requirements that require major design
rework are proposed.
Moderate Serious
The organisation is restructured so that different
ibl f h j
High Serious
management are responsible for the project.
63. Risk analysis (ii)
Risk Probability Effects
The database used in the system cannot process as Moderate Serious
many transactions per second as expec ted.
The time required to develop the software is
underestimated.
High Serious
CASE tools cannot be integrated High TolerableCASE tools cannot be integrated. High Tolerable
Customers fail to understand the impact of
requirements changes.
Moderate Tolerable
Required training for staff is not available. Moderate Tolerableq g
The rate of defect repair is underestimated. Moderate Tolerable
The size of the software is underestimated. High Tolerable
The code generated by CASE tools is inefficient. Moderate Insignificantg y g
64. Risk planning
Consider each risk and develop a strategy to manage that risk.
Avoidance strategies
• The probability that the risk will arise is reduced;
Minimisation strategies
• The impact of the risk on the project or product will be
reduced;
Contingency plans
• If the risk arises, contingency plans are plans to deal with, g y p p
that risk;
65. Risk management strategies (i)
Risk Strategy
Organisational
financial problems
Prepare a briefing document for senior management
showing how th e project is making a very important
contribution to the goals of the business.
Recruitment
problems
Alert customer of potential difficulties and the
possibility of delays, investigate buying-in
components.
Staff illness Reorganise team so that there is more overlap of work
and people therefore understand each other’s jobs.
Defective Replace potentially defective components with bought-Defective
components
Replace potentially defective components with bought-
in components of known reliability.
66. Risk management strategies (ii)
Risk Strategy
Requirements
changes
Derive traceability information to assess requirements
change impact, maximise information hiding in the
design.
O i ti l P b i fi d t f i tOrganisational
restructuring
Prepare a briefing document for senior management
showing how th e project is making a very important
contribution to the goals of the business.
Database Investigate the possibility of buying a higherDatabase
performance
Investigate the possibility of buying a higher-
performance database.
Underestimated
development time
Investigate buying in components, investigate use of a
program generatordevelopment time program generator
67. Risk monitoring
Assess each identified risks regularly to decide
whether or not it is becoming less or more probable.g p
Also assess whether the effects of the risk have
changedchanged.
Each key risk should be discussed at management
progress meetings.
68. Risk indicators
Risk type Potential indicators
T h l L d li f h d f dTechnology Late delivery of hardware or support software, many reported
technology problems
People Poor staff morale, poor relationships amongst team member,
job availabilityjob availability
Organisational Organisational gossip, lack of action by senior management
Tools Reluctance by team members to use tools, complaints about
CASE tools demands for higher powered workstationsCASE tools, demands for higher-powered workstations
Requirements Many requirements change requests, customer complaints
Estimation Failure to meet agreed schedule, failure to clear reported
d f tdefects
69. Chapter Review Questions
1.Explain different types of system model in details.
2.Define Context model. Draw a context model for library system.
3.Explain semantic data model with suitable example.
4.Describe the state machine model with example.
5 W it h t t5. Write short note on
a. Ethnography b.Use case c.Sequence diagram d.CASE workbench
e. Risk planning f. Data dictionaryp g y
6. Describe the software project management activities in details.
7. Explain the importance of planning and scheduling in software project
management.
8. Discuss the importance of risk management in software project. Explain
various risk management strategiesvarious risk management strategies.