Software Engineering: Question Set – 26

Software Engineering: Question Set – 26

What is RUP and PSP?

RUP stands for Rational Unified Process. It deals with:

  • Iterative software development process.
  • Visual Modeling of Systems
  • Quality Management
  • Change Control Management
  • Deals with the role, the activity, and the artifact
  • For managing OO Software Development

Some Features of RUP are:

  • Online Repository of Process Information and Description
  • Templates for all major artifacts, including:
    • Requirements tracking (RequisitePro templates)
    • Use Cases (Word Templates )
    • Project Management (Project Templates)
    • Process Manuals describing key processes

PSP stands for Personal Software Process
PSP Objectives are –

  • To introduce individuals to a process-based approach to developing software
  • To show individuals how to measure, estimate, schedule, and track their work
  • To show individuals how to improve the quality of their programs
  • In general, PSP improves quality and productivity
  • The time saved in testing because of better quality reduces time across the project by 20-40%

Advantages of PSP:

  • To manage your work & assess/build your talents/skills
  • To plan better
  • To track your performance precisely
  • To measure the quality of your software products

What are the characteristics of good design? Name some Design Tools?

  • Object Oriented Design Tools – Rational Rose, Rhapsody, Telelogic Tau G2
  • UI Design Tools – Rapid/Paper prototypes, Simple
  • SUMI (Software Usability Measurement Inventory ) – It will tell you how your product compares to this standardization base: whether you are about average for the market, below, or above.

What is Requirement Engineering?

  • Software requirements are a system’s descriptions and specifications; a requirement is a condition or capability that the system must meet in order to function.
  • Requirement engineering is the process of coming up with a specified feature and its specification at the outset of the design process for a system.
  • Software requirements should be established through the process of requirements engineering, which involves eliciting, organising, and documenting the system’s requirements.
  • This process establishes the services that customers require from a system and the constraints under which it operates and is developed.
  • Software requirements should be:
    • Clear
    • Complete
    • Unambiguous
    • Quantitative

Explain What are Design patterns?

Design patterns are straightforward and tasteful answers to problems that crop up frequently in software development. Reusing the successful designs and structures of seasoned and qualified designers is made simpler by design patterns.

There are three types of Patterns –

  1. Creational – Concerned with the creation of objects
  2. Structural – Concerned with the composition of classes or objects
  3. Behavioural – characterize the ways in which classes and objects interact and distribute responsibility.

What are sequence diagram? What are package diagram? What are collaboration diagram?

  • Sequence diagrams are visual representations of events taking place in chronological order. We display the corresponding class names in sequence diagrams as a little box and the event as an arrow.
  • Sequence diagrams are useful for outlining both the typical and alternative path of usage situations.
  • A consolidated representation (display) of all classes is provided by the VOPC (View of Participating Classes) on a single page.
  • A different way to illustrate a sequence diagram is with a collaboration diagram. Boxes are used to represent objects, lines indicating object collaboration between them, and a multiplicity factor “*” designating that all components of the aggregation receive a message are used to represent object designation.
  • A package diagram is the entire collection of the system’s sequence diagrams or collaboration diagrams.

What are use cases and class diagrams in Software Engineering?

  • Use cases are visual representations of system components and the interactions between them. Typically, we refer to the components of a system that are engaged in action as actors.
  • Designing includes the use of class diagrams. Following the creation of the system’s use cases, we break down each use case and create the classes required to carry out that functionality. Each class will have a Class Name, associated Attributes, and associated Operations.
  • The following are some of the characteristics of the classes:
    • Each class should have clearly defined duties
    • These duties ought to flow together so that the system as a whole appears cohesive and logical.

What are the Different types of Architecture in Software Engineering?

For software systems, an architecture expresses a basic structural organisation schema. It offers a collection of pre-established subsystems, outlines their roles, and contains regulations and instructions for setting up the connections between them.

Object-Oriented/Abstract Data Style
* Layered Hierarchies
* Blackboard architecture
– involving shared access to data with loosely coupled agents
* Client/Server
* Three tier Client/Server architectures
* Peer-to-Peer Architecture

I have no previous programming experience. Can I still be a successful Software Engineer?

You do not need to have any prior programming experience in order to be hired; however, if you do have any, that will certainly be an asset. It is a widespread misconception that the primary focus of SE is programming. In point of fact, software engineering programmes place a much greater emphasis on the practise and process of software development. This emphasis extends to more advanced aspects of software architecture, requirements management, quality assurance, and process improvement.