SlideShare a Scribd company logo
1 of 8
Download to read offline
UNIT I


   1.     What is a system life cycle?
         Ans: In software system development, a framework has traditionally
         been known as a system life cycle model.

   2. What are the main stages of a traditional system life cycle?
      Ans:
           Requirements
           Analysis
           Design
           Implementation
           Installation
   3. List four life cycle models that are based on the traditional approach to
      developing software systems
      Ans:

                 Waterfall
                 V-model
                 Spiral
                 Prototyping.

   4. What are the main phases of object-oriented system development?
      Ans: The phases in object-oriented development are known as inception,
            elaboration, construction and transition, indicating the state of the
            system, rather than what happens at that point in development.

   5. In object-oriented development, what is the relationship between phases and
      workflows?
      Ans: The object-oriented approach to development views the relationships
      between
             workflows and phases of development rather like the spider’s web,
             where any phase may involve all workflows, and a workflow may be
             carried out during any phase.


   6. What are (a)RUP and (b) UML?
        a) RUP incorporates not only modelling techniques from the UML,but
            also guidelines, templates and tools to ensure effective and successful
            development of software systems. The tools offered by RUP allow a
            large part of the development process to be automated, including
            modelling, programming, testing, managing the project and managing
            change.
b) The Unified Mode]ling Language, or UML, is a set of diagrammatic
          techniques, which are specifically tailored for object-oriented
          development, and which have become an industry standard for
          modelling object-oriented systems.



7. What do we mean by (a) abstraction and (b) decomposition in the context of
   modelling software systems?
   a) The characteristic of a model to provide some but not all the
      information about the person or thing being modelled is known as
      abstraction. Abstraction provides a means of concentrating on only those
      aspects of the system that are
      currently of interest, and putting other details to the side for the time
      being
   b) equally important tool for modelling software systems is decomposition.
      This is the breaking down of a large, complex problem or system into
      successively smaller parts, until each part is a 'brain-size' chunk and can
      be worked on as an independent unit.

8. What is a CASE tool?
   One of the advantages of a standardized language for producing diagrams
   during system development is that a number of CASE tools have been
   developed to provide automated support for developers.

9. What are the main stages of requirements engineering?
   Ans: Requirements engineering is traditionally divided into three
         main stages:
       Elicitation, when information is gathered relating to the existing
         system, current problems and requirements for the future
       Specification, when the information that has been collected is
         ordered and documented
       Validation, when the recorded requirements are checked to
         ensure that they are consistent with what the clients and users
         actually want and need.

10. When are questionnaires useful?
    Ans: In order to build up a comprehensive list of requirements for the
          new system, it is important for the developer to find out as much as
          possible about what the bike shop customers think about the current
          bike hire procedures.

11. What is a scenario?
    Ans: A scenario is a sequence of interactions between a user and the
           system carried out in order to satisfy a specified goal
12. What features of a requirement should be recorded in the problems and
    requirements list?
    One of these is the problems and requirements list, and the other is the problem
    definition

13. What is the purpose of a Fagan inspection?
    Ans: This is a systematic and structured method of checking the
           documented output from any stage of the system development
           process in order to identify omissions and errors


14. What aspect of a system does the use case model?
    Each of the UML models concentrates on modelling its ownparticular aspects of
    the system while ignoring others: theyprovide complementary views of the
    system. The use case modelgives the user coherent and detailed documentation of
    what thesystem does or will do.
         Checking the system using the use case model
         Estimating using use cases.
         Basis for interaction diagrams
         Starting point for the identification of classes

15. Suggest two ways of identifying use cases.
        Identifying use cases from the actors.
        Identifying use cases from scenarios.

16. What is the relationship between scenarios and use cases?
    Each use case represents a group of scenarios. Scenarios belonging to the same
    use case have a common goal - each scenario in the group describes a different
    sequence of events involved in achieving (or failing to achieve) the use case goal.


17. Describe the typical contents of a high-level use case description
    and an expanded use case description.

   High-level description. It is useful to have two distinct types of use case
   description. In the early stages of software development, when no detailed
   decisions have been made about the design of the system and particularly the
   design of the user interface, it is enough to have short unstructured descriptions,
   known as highlevel descriptions.These descriptions need only document the
   purpose of the use case, the actors involved and give
   a general overview of what happens. Subsequently it is useful to have more
   detailed structured descriptions known as expanded use case descriptions
Expanded use case description. This description is more detailed and structured
   than the high-level use case description. It should document:

          What happens to initiate the use case
          Which actors are involved
          What data has to be input
          The u.se case output
          What stored data is needed by the use case
          What happens to signal the completion of the use case
          Minor variations in the sequences of events


18. What is the relationship between an actor and a use case?
    Generalization. Both use cases and actors can be specialized, i.e. we can use an
    inheritance relationship between actors and between use cases. In object-oriented
    development inheritance is primarily associated with class diagrams If
    aninheritance relationship exists between two entities it means thatone inherits the
    characteristics of the other.

19. You can use four types of relationship on a use case diagram; list
    them and give a brief description of each one.
    Communication association. In a use case diagram the line linkingan actor to a
    use case is called a communication association (see Communication associations
    tell us which actors areassociated with which use cases. Each actor may be
    associated withmany use cases and each use case may be associated with many
    actors.
            Include. Two other types of relationship may be used on a use
            casediagram- <<include>> and <<extend>>. Both <dnclude>> and
            <<extend>>are relationships between use cases. An <dnclude>>
            relationship isuseful when you find you have a chunk of behaviour that
            iscommon to several use cases. Rather than repeat a description ofthat
            behaviour in several use case descriptions, the commonbehaviour can be
            split off into a separate use case which is then
            linked to all relevant use cases with an <dnclude>> relationship.
            Extend. The <<extend>> relationship is used as a way of
            specifyingsignificant alternative behaviour in a use case. It
            usuallydocuments functionality that the user can opt to use over andabove
            the norm. The practice of using an <<extend>> relationship inthis way is
            only for documenting important variations from thenormal course of
            events.
            We would use an <<extend>>relationship if we want to describe:
                   • Extra functionality that is available if required, for example
                       printing a list rather than just viewing it on the screen.
                   • Behaviour done only under certain conditions, for example
                       printing an extra receipt if the whole deposit is not returned.
Documenting <<include>> and <<extend>> in the use case description. If
         we have added <<include>> or <<extend>> relationships to a use case
         diagram, we must document them in the use case description. This
         is done using the keyword 'initiate'.
   UNIT II

1. Developing systems using a structured approach can result in problematic
   software. List three problems associated with the structured approach.
        • Functional decomposition
        • Maintenance
        • Poor modularity
        • Testing
        • Software reuse
        • Data versus function
2. List four qualities that are desirable in a software construct.
         Problem domain.
         Functionality.
         Cohesion.
         Substitutability
3. What is meant by the term seamless development?
   The seamless development also provides traceability of user requirements from
   initial identification through to the code. In the traditional structured approach to
   development some of the models that were used to capture user requirements
   (such as the data flow diagram) were abandoned at the design stage where a new
   modelling technique was used to specify the structure of the code


4. What is meant by the term encapsulation?
   Data can be hidden inside an object in such a way that it is protected and cannot
   be directly accessed by other parts of the program. The big advantage of this is
   that it cannot be accidentally corrupted.

5. What is instantiation?
   Objects are sometimes called instances of classes; the process of creating a new
   object belonging to a class is called instantiation.


6. What is dynamic binding?
   The program works its way through the array, it only knows which methods will
   be executed when it gets to the next object and works out which class it belongs
   to. This is known as late or dynamic binding..
UNIT III

   1. What aspect of a class is captured on a CRC card?
      The CRC technique to allocate responsibilities to classes and work out the
      interaction
      between classes that is required to implement the use case scenarios.

   2. How does a class deal with a responsibility that it cannot fulfil on its own?

   3. What are the two types of interaction diagram?
      sequence and collaboration.

   4. What do interaction diagrams model?
      Interaction diagrams model the messaging between a collaboration of objects that
      will take place in the execution of a specific scenario

   5. What does the thin rectangle on an object lifeline indicate?
      Object activation is shown by a thin rectangle on the object lifeline. An object
      becomes active as soon as it receives a message. This means that the object is
      computing; processing is taking place in the object as the invoked operation
      executes. The activation continues until the operation finishes processing when
      control returns to the object that sent the message. If an active object, in turn,
      sends a message, it remains active while it waits for a response. While it waits for
      a response it cannot, itself, do any computing. Showing activation is an optional
      feature of sequence diagrams


   6. What features of an operation are defined in specification by contract?

           •   The signature of the operation (its name, any arguments, and the type of
               values it returns)
           •   The purpose of the operation
           •   What the client object must provide in order to obtain the required service
           •   A description of the internal logic of the operation
           •   Any other operations that are called by this operation
           •   Any attributes of objects whose values are changed by the
           •   operation.

   7. What is meant by 'state' in this context?
      The model that illustrates all possible behaviours of a class of objects is called a
      state diagram
      The state of the object here refers to the situation it is in while satisfying some
      condition (such as a bank account having some money) or waiting for an event

   8. What is meant by 'event' in this context?
      the events that cause an object to move from one state to another.
An event is something that happens which has significance for the system and
   affects an object of at least one of the System’s classes.


9. What is a self-transition on a state?
   No change of state. E.g.: While in the 'In credit' state the 'deposit money' event
   leaves a
   Bank Account object in the same state.
Software System Life Cycle Models and Object-Oriented Development

More Related Content

What's hot

JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...ijseajournal
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineeringVarsha Ajith
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...IJSEA
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSijseajournal
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilersijseajournal
 
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...IJERA Editor
 
MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...
MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...
MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...ijseajournal
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxAmr E. Mohamed
 
Comparison Of Methodologies
Comparison Of MethodologiesComparison Of Methodologies
Comparison Of Methodologiesguestc990b6
 
Software Engineering Large Practical coursework
Software Engineering Large Practical courseworkSoftware Engineering Large Practical coursework
Software Engineering Large Practical courseworkStephen Gilmore
 
A review of slicing techniques in software engineering
A review of slicing techniques in software engineeringA review of slicing techniques in software engineering
A review of slicing techniques in software engineeringSalam Shah
 

What's hot (19)

JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
 
Object oriented analysis and design unit- ii
Object oriented analysis and design unit- iiObject oriented analysis and design unit- ii
Object oriented analysis and design unit- ii
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilers
 
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMSDEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
 
Sdlc
SdlcSdlc
Sdlc
 
Ch7 implementation
Ch7 implementationCh7 implementation
Ch7 implementation
 
Object oriented analysis and design unit- i
Object oriented analysis and design unit- iObject oriented analysis and design unit- i
Object oriented analysis and design unit- i
 
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...
 
MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...
MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...
MASRML - A DOMAIN-SPECIFIC MODELING LANGUAGE FOR MULTI-AGENT SYSTEMS REQUIREM...
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and Design
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
 
Comparison Of Methodologies
Comparison Of MethodologiesComparison Of Methodologies
Comparison Of Methodologies
 
Software Engineering Large Practical coursework
Software Engineering Large Practical courseworkSoftware Engineering Large Practical coursework
Software Engineering Large Practical coursework
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
A review of slicing techniques in software engineering
A review of slicing techniques in software engineeringA review of slicing techniques in software engineering
A review of slicing techniques in software engineering
 

Viewers also liked

Viewers also liked (8)

Data Warehousing & Basic Architectural Framework
Data Warehousing & Basic Architectural FrameworkData Warehousing & Basic Architectural Framework
Data Warehousing & Basic Architectural Framework
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
3 tier data warehouse
3 tier data warehouse3 tier data warehouse
3 tier data warehouse
 
2 tier and 3 tier architecture
2 tier and 3 tier architecture2 tier and 3 tier architecture
2 tier and 3 tier architecture
 
Introduction to Data Warehousing
Introduction to Data WarehousingIntroduction to Data Warehousing
Introduction to Data Warehousing
 
Data warehouse architecture
Data warehouse architectureData warehouse architecture
Data warehouse architecture
 
Components of a Data-Warehouse
Components of a Data-WarehouseComponents of a Data-Warehouse
Components of a Data-Warehouse
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
 

Similar to Software System Life Cycle Models and Object-Oriented Development

Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Dr Sukhpal Singh Gill
 
A Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case PointsA Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case Pointsijtsrd
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxKimberly Jones
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Kuwait10
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEWrizki adam kurniawan
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineeringTechglyphs
 
Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyEswar Publications
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxTangZhiSiang
 
Use Case Modeling In UML
Use Case Modeling In UMLUse Case Modeling In UML
Use Case Modeling In UMLSyed Hassan Ali
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTijseajournal
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 

Similar to Software System Life Cycle Models and Object-Oriented Development (20)

Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
 
Sdlc
SdlcSdlc
Sdlc
 
M azhar
M azharM azhar
M azhar
 
A Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case PointsA Study of Software Size Estimation with use Case Points
A Study of Software Size Estimation with use Case Points
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White Box
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
81-T48
81-T4881-T48
81-T48
 
Chapter five HCI
Chapter five HCIChapter five HCI
Chapter five HCI
 
SE-Lecture-4.pptx
SE-Lecture-4.pptxSE-Lecture-4.pptx
SE-Lecture-4.pptx
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
 
Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and Taxonomy
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptx
 
Software Engineering CSE/IT.pptx
 Software Engineering CSE/IT.pptx Software Engineering CSE/IT.pptx
Software Engineering CSE/IT.pptx
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
 
Use Case Modeling In UML
Use Case Modeling In UMLUse Case Modeling In UML
Use Case Modeling In UML
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 

Software System Life Cycle Models and Object-Oriented Development

  • 1. UNIT I 1. What is a system life cycle? Ans: In software system development, a framework has traditionally been known as a system life cycle model. 2. What are the main stages of a traditional system life cycle? Ans:  Requirements  Analysis  Design  Implementation  Installation 3. List four life cycle models that are based on the traditional approach to developing software systems Ans:  Waterfall  V-model  Spiral  Prototyping. 4. What are the main phases of object-oriented system development? Ans: The phases in object-oriented development are known as inception, elaboration, construction and transition, indicating the state of the system, rather than what happens at that point in development. 5. In object-oriented development, what is the relationship between phases and workflows? Ans: The object-oriented approach to development views the relationships between workflows and phases of development rather like the spider’s web, where any phase may involve all workflows, and a workflow may be carried out during any phase. 6. What are (a)RUP and (b) UML? a) RUP incorporates not only modelling techniques from the UML,but also guidelines, templates and tools to ensure effective and successful development of software systems. The tools offered by RUP allow a large part of the development process to be automated, including modelling, programming, testing, managing the project and managing change.
  • 2. b) The Unified Mode]ling Language, or UML, is a set of diagrammatic techniques, which are specifically tailored for object-oriented development, and which have become an industry standard for modelling object-oriented systems. 7. What do we mean by (a) abstraction and (b) decomposition in the context of modelling software systems? a) The characteristic of a model to provide some but not all the information about the person or thing being modelled is known as abstraction. Abstraction provides a means of concentrating on only those aspects of the system that are currently of interest, and putting other details to the side for the time being b) equally important tool for modelling software systems is decomposition. This is the breaking down of a large, complex problem or system into successively smaller parts, until each part is a 'brain-size' chunk and can be worked on as an independent unit. 8. What is a CASE tool? One of the advantages of a standardized language for producing diagrams during system development is that a number of CASE tools have been developed to provide automated support for developers. 9. What are the main stages of requirements engineering? Ans: Requirements engineering is traditionally divided into three main stages:  Elicitation, when information is gathered relating to the existing system, current problems and requirements for the future  Specification, when the information that has been collected is ordered and documented  Validation, when the recorded requirements are checked to ensure that they are consistent with what the clients and users actually want and need. 10. When are questionnaires useful? Ans: In order to build up a comprehensive list of requirements for the new system, it is important for the developer to find out as much as possible about what the bike shop customers think about the current bike hire procedures. 11. What is a scenario? Ans: A scenario is a sequence of interactions between a user and the system carried out in order to satisfy a specified goal
  • 3. 12. What features of a requirement should be recorded in the problems and requirements list? One of these is the problems and requirements list, and the other is the problem definition 13. What is the purpose of a Fagan inspection? Ans: This is a systematic and structured method of checking the documented output from any stage of the system development process in order to identify omissions and errors 14. What aspect of a system does the use case model? Each of the UML models concentrates on modelling its ownparticular aspects of the system while ignoring others: theyprovide complementary views of the system. The use case modelgives the user coherent and detailed documentation of what thesystem does or will do.  Checking the system using the use case model  Estimating using use cases.  Basis for interaction diagrams  Starting point for the identification of classes 15. Suggest two ways of identifying use cases.  Identifying use cases from the actors.  Identifying use cases from scenarios. 16. What is the relationship between scenarios and use cases? Each use case represents a group of scenarios. Scenarios belonging to the same use case have a common goal - each scenario in the group describes a different sequence of events involved in achieving (or failing to achieve) the use case goal. 17. Describe the typical contents of a high-level use case description and an expanded use case description. High-level description. It is useful to have two distinct types of use case description. In the early stages of software development, when no detailed decisions have been made about the design of the system and particularly the design of the user interface, it is enough to have short unstructured descriptions, known as highlevel descriptions.These descriptions need only document the purpose of the use case, the actors involved and give a general overview of what happens. Subsequently it is useful to have more detailed structured descriptions known as expanded use case descriptions
  • 4. Expanded use case description. This description is more detailed and structured than the high-level use case description. It should document:  What happens to initiate the use case  Which actors are involved  What data has to be input  The u.se case output  What stored data is needed by the use case  What happens to signal the completion of the use case  Minor variations in the sequences of events 18. What is the relationship between an actor and a use case? Generalization. Both use cases and actors can be specialized, i.e. we can use an inheritance relationship between actors and between use cases. In object-oriented development inheritance is primarily associated with class diagrams If aninheritance relationship exists between two entities it means thatone inherits the characteristics of the other. 19. You can use four types of relationship on a use case diagram; list them and give a brief description of each one. Communication association. In a use case diagram the line linkingan actor to a use case is called a communication association (see Communication associations tell us which actors areassociated with which use cases. Each actor may be associated withmany use cases and each use case may be associated with many actors. Include. Two other types of relationship may be used on a use casediagram- <<include>> and <<extend>>. Both <dnclude>> and <<extend>>are relationships between use cases. An <dnclude>> relationship isuseful when you find you have a chunk of behaviour that iscommon to several use cases. Rather than repeat a description ofthat behaviour in several use case descriptions, the commonbehaviour can be split off into a separate use case which is then linked to all relevant use cases with an <dnclude>> relationship. Extend. The <<extend>> relationship is used as a way of specifyingsignificant alternative behaviour in a use case. It usuallydocuments functionality that the user can opt to use over andabove the norm. The practice of using an <<extend>> relationship inthis way is only for documenting important variations from thenormal course of events. We would use an <<extend>>relationship if we want to describe: • Extra functionality that is available if required, for example printing a list rather than just viewing it on the screen. • Behaviour done only under certain conditions, for example printing an extra receipt if the whole deposit is not returned.
  • 5. Documenting <<include>> and <<extend>> in the use case description. If we have added <<include>> or <<extend>> relationships to a use case diagram, we must document them in the use case description. This is done using the keyword 'initiate'. UNIT II 1. Developing systems using a structured approach can result in problematic software. List three problems associated with the structured approach. • Functional decomposition • Maintenance • Poor modularity • Testing • Software reuse • Data versus function 2. List four qualities that are desirable in a software construct.  Problem domain.  Functionality.  Cohesion.  Substitutability 3. What is meant by the term seamless development? The seamless development also provides traceability of user requirements from initial identification through to the code. In the traditional structured approach to development some of the models that were used to capture user requirements (such as the data flow diagram) were abandoned at the design stage where a new modelling technique was used to specify the structure of the code 4. What is meant by the term encapsulation? Data can be hidden inside an object in such a way that it is protected and cannot be directly accessed by other parts of the program. The big advantage of this is that it cannot be accidentally corrupted. 5. What is instantiation? Objects are sometimes called instances of classes; the process of creating a new object belonging to a class is called instantiation. 6. What is dynamic binding? The program works its way through the array, it only knows which methods will be executed when it gets to the next object and works out which class it belongs to. This is known as late or dynamic binding..
  • 6. UNIT III 1. What aspect of a class is captured on a CRC card? The CRC technique to allocate responsibilities to classes and work out the interaction between classes that is required to implement the use case scenarios. 2. How does a class deal with a responsibility that it cannot fulfil on its own? 3. What are the two types of interaction diagram? sequence and collaboration. 4. What do interaction diagrams model? Interaction diagrams model the messaging between a collaboration of objects that will take place in the execution of a specific scenario 5. What does the thin rectangle on an object lifeline indicate? Object activation is shown by a thin rectangle on the object lifeline. An object becomes active as soon as it receives a message. This means that the object is computing; processing is taking place in the object as the invoked operation executes. The activation continues until the operation finishes processing when control returns to the object that sent the message. If an active object, in turn, sends a message, it remains active while it waits for a response. While it waits for a response it cannot, itself, do any computing. Showing activation is an optional feature of sequence diagrams 6. What features of an operation are defined in specification by contract? • The signature of the operation (its name, any arguments, and the type of values it returns) • The purpose of the operation • What the client object must provide in order to obtain the required service • A description of the internal logic of the operation • Any other operations that are called by this operation • Any attributes of objects whose values are changed by the • operation. 7. What is meant by 'state' in this context? The model that illustrates all possible behaviours of a class of objects is called a state diagram The state of the object here refers to the situation it is in while satisfying some condition (such as a bank account having some money) or waiting for an event 8. What is meant by 'event' in this context? the events that cause an object to move from one state to another.
  • 7. An event is something that happens which has significance for the system and affects an object of at least one of the System’s classes. 9. What is a self-transition on a state? No change of state. E.g.: While in the 'In credit' state the 'deposit money' event leaves a Bank Account object in the same state.