The first chapter

Overview of System Analysis and Design

  1. What is a system? What are the general characteristics of information systems? (1.1.1 System Concepts and Features)

    Reference answer:

    A system is an assemblage of interrelated and interacting components to achieve some outcome. The system we discuss in this book refers to the information management system, which is a group of interconnected and interactive components based on the collection, processing and storage of information and submitted by the output of the information required to complete the business task. As an independent practical application system, information system generally has two characteristics: decomposability and boundary.

  2. From the perspective of application scope, what types of information systems can be divided into? (1.1.2 Classification and Environment of the system)

    Reference answer:

    From the point of view of application scope, information system can be divided into the following types: transaction processing system, management information system, intelligent decision support system and office automation system.

  3. What is the System development lifecycle? What are the main activities involved in the start-up phase of the project?

    Reference answer:

    System development life cycle refers to the process that system development generally needs to go through, usually including system project initiation, business requirement analysis, detailed technical design, system implementation and maintenance four processes, respectively called system development life cycle initiation stage, analysis stage, design stage, implementation and maintenance stage.

    The main task of system startup stage is to establish the goals and plans of the system. It is to determine the scope of the new system and make project planning, which mainly involves five activities: defining the problem domain, making the project schedule, confirming the feasibility of the project, arranging project personnel, and launching the project.

The second chapter

System static analysis modeling (key, know the concept of drawing)

  1. What is the relationship between use cases and scenarios?

    Reference answer:

    A use case is an abstraction of a set of use case instances, also known as scenarios or scripts. A scenario or script is an actual scene in which a user uses the system and refers to a specific set of interactions between actors and the system. A scenario is a complete, concrete execution of a use case.

    A use case is related to a scenario just as a class is to an instance, that is, a use case is an abstraction of a scenario, and a scenario is an instance of a use case.

  2. What is a component? What are the similarities and differences between components and ordinary classes? What kinds of components are there in UML?

    Reference answer:

    (1) Component is a physical implementation unit that defines a good interface. It is a replaceable part of the system and a physical module packaged by logical elements such as classes and interfaces.

    (2) Similarities between components and classes: they both have names; Can implement a set of interfaces; Can participate in dependency, generalization, and association relationships; Can be nested; You can have instances; Can participate in the interaction.

    (3) Differences between components and classes:

    In other words, classes represent logical abstractions and cannot exist alone on nodes. A component is a physical abstraction that exists in a computer and can reside on a node (computer).

    There are different levels of abstraction: a component represents a physical module that can contain multiple classes, and the component depends on the classes it contains. A class represents a logical module that can only be subordinate to a component.

    Access is different: Typically, a component’s services can only be accessed through its interfaces, whereas a class has its own operations and properties that can be accessed directly.

    (4) In UML, components can be divided into deployment components, work product components and executable components according to their roles.

  3. Compare the deployment diagram and the component diagram and describe their respective characteristics.

    Component diagrams and deployment diagrams are two types of diagrams used to model the physical implementation of object-oriented systems. Component diagrams describe components and the relationships between components and are used to model a static implementation of the system. A deployment diagram describes the configuration of nodes and the components running on them, and is used to simulate the static deployment of a system.

  4. What is a node in a deployment diagram? There are several nodes in UML. What are the differences between them? Please give an example.

    Reference answer:

    (1) Node is a physical unit during the operation of the system. It represents computer resources, such as a computer, printer and other hardware devices. Components of the system can be configured on the node.

    (2) There are two types of nodes in UML: processors and devices. A processor is a piece of hardware that can execute software and has some computing power. Such as servers, workstations, etc. A device is a piece of hardware that has no computing power and typically provides services externally through its interfaces. Such as printers, scanners, IC card readers and so on.

  5. Describe the five basic steps of object-oriented analysis (OOA)

    Reference answer:

    1. Object identification includes identifying potential objects and filtering objects
    2. Identify the properties of the object
    3. Identify the behavior of an object
    4. Identifies the class to which the object belongs
    5. Defining subject terms
  6. Briefly describe the components of the use case model and the modeling steps

    The components are: actors, use cases, communication associations, and use case conventions

    Steps to build a use case model:

    1. Participants are identified according to system boundaries

    2. Determine the use cases associated with each actor

    Write out the use case specification document for each use case and adjust the use case model (optimizing the relationship between actors and between use cases)

  7. What is the difference between aggregation and composition? Please give some examples.

    Reference answer:

    Aggregation and combination belong to correlation relation, and both represent the relationship between part and whole. Aggregation: The parts can exist independently of the whole; Composition: Also known as strong aggregation, in composition, it is emphasized that the parts have the same life cycle as the whole, and that the “part” object is completely dependent on the “whole” object.

    To determine whether an aggregation or composite relationship is appropriate, the developer depends on the context in which the requirements analysis is described. For example, the computer is the whole class, memory, CPU, etc. relative to the computer are partial classes. In a fixed asset management system, they are composite relationships, whereas in an online DIY system, aggregation is more appropriate.

The third chapter

  1. In dynamic modeling, what kinds of graphs are used to describe object interaction?

    Reference answer:

    In dynamic modeling, there are sequence diagram and communication diagram to describe object interaction behavior.

  2. There are major differences and advantages and disadvantages between sequence diagrams and collaboration diagrams

    Reference answer:

    Collaboration diagrams visually represent interactions between objects over time, showing not only associations between objects, but also messaging between objects. Like sequence diagrams, collaboration diagrams show the interaction between objects. Sequence diagrams emphasize the chronological order of interactions, while collaboration diagrams emphasize the context of the interaction and the overall organization of the objects involved in the interaction. Sequential diagrams are arranged chronologically, while collaborative diagrams are organized spatially.

    A sequence diagram can clearly represent the sequential and temporal relationships between messages, but requires more horizontal space.

    A collaboration diagram is easier to add objects and has fewer branches, but it is difficult to represent the order between messages if there are many.

  3. What are the functions and characteristics of communication diagrams? From the perspective of dynamic modeling, what are the similarities and differences between sequence diagrams and communication diagrams?

    Reference answer:

    A communication diagram is an interaction diagram that emphasizes the objects that send and receive messages and their organizational structure. It is used to describe objects and their interaction relationships. Communication diagrams, like sequence diagrams, are used to show links between objects and organizational interactions, but the emphasis is different. The sequence diagram focuses on the chronological order of interactions, while the communication diagram focuses on the interactions and links between collaborating objects. That is to say, the communication map is different from the sequence diagram when analyzing the system. The sequence diagram describes the system according to the time advance, while the communication map analyzes the system from the perspective of spatial layout.

  4. What is the core idea of the GRASP model?

    Reference answer:

    The core idea of GRASP is “assignment of responsibility”. The main feature of GRASP is the basic principle of assignment of object responsibility, which is mainly used in analysis and modeling. GRASP does not provide programming developers with specific examples of program code in the form of templates. Rather, GRASP proposes some basic principles that application developers should follow in the process of abstracting real-world business functions into concrete software objects of application systems.

  5. What are the principles of bag design? What are the principles related to package cohesion? What are the principles associated with package coupling?

    Reference answer:

    The principles related to package cohesion include reuse release equivalence principle common reuse principle and common closure principle. The principles related to package coupling include acyclic dependency, stable dependency and stable abstraction.

  6. What is human-machine interface?

    Reference answer:

    Man-machine interface is the operation mode of interaction between human and machine, that is, the medium of information transfer between user and machine, including information input and output

  7. What are the categories of HMI design? What’s the relationship between them?

    Reference answer:

    The design interface is divided into functional design interface, emotional design interface and environmental design interface. Human-machine interface design is based on functional interface, premise of environmental interface, and focus on emotional interface. They form organic and systematic connections.

  8. What are the characteristics of human-computer interaction?

    Reference answer:

    Human-computer interaction has two distinctive features:

    (1) Information feedback: people can transfer information to objects in time, objects can feedback information to people in time, and people can make judgments according to the feedback information.

    (2) People’s participation and initiative: People are participants in the interaction process and have the right to accept, judge, make decisions and operate. At the same time, they are active rather than passive to receive information.

  9. What tasks are required for system maintenance?

    Reference answer:

    System maintenance consists of four tasks, that is, identifying problems, establishing evaluation benchmarks for procedures, researching and fixing problems, and testing procedures.

  10. Concepts and applications of all static and dynamic models corresponding to their respective models.

    Reference answer:

    Static model: divided into object model (package, class, object diagram) and functional model (use case diagram) and physical model (component diagram, deployment diagram)

    Dynamic models: Describe how and when the system does it? There are: sequence, communication, status, activity diagram

  11. With the popularization of network, people have more ways to learn, and then “distance Network teaching system” which manages distance network teaching comes into being.

    The functional requirements of the “remote Network teaching System” are as follows:

  • After logging in, students can browse courseware, search courseware, download courseware and watch teaching videos.
  • After logging into the website, teachers can upload courseware, upload teaching videos, release teaching experience, view teaching experience, modify teaching experience.
  • The system administrator is responsible for the maintenance of the website page, checking illegal courseware and illegal teaching information, and approving user registration.
  1. Students need to log in to the remote Network teaching system to use all the functions of the system. If you forget your password, you can use the Retrieve Password function to recover your password. Draw a use case diagram of the student participant.
  2. If you forget your password, you can retrieve it through the “Retrieve password” function. Draw a use case diagram of the teacher participant.

  1. Draw an E-R diagram of student management.

    The e-R diagram must contain:

  • Class (Class Number, class name, major, Number of students)
  • Student (Student ID, name, sex, age)
  • Course (Course Number, Course name, hours, credits)
  • Teacher (No., title, name, age, sex)

The class consists of students, who select courses and teachers teach courses.

  1. The functional requirements of the library management system are described as follows:

The library management system can serve a certain number of borrowers. Each borrower can have a number that uniquely identifies his or her existence. The library issues a library card to each borrower, which contains each borrower’s number and personal information. The services provided include: to provide query book information, query personal information services and book reservation services.

When the borrower needs to borrow books and return books, it needs to be carried out through the librarian, that is, the borrower does not directly interact with the system, but through the librarian as the agent of the borrower and the system interaction.

The system administrator is mainly responsible for the management and maintenance of the system, including the addition, deletion and modification of books, numbers and borrowers. And can query borrower, book and librarian information.

Books can be found by their name or by the book’s ISBN/ISSN number.

Answer the following questions:

  1. Who are the players in the system?

  2. Identify the classes in the system, find out the relationship between the classes and draw the class diagram

  3. Draw a sequence diagram of the context “borrower book reservation”

Reference answer:

1) Who are the players in the system

  1. borrowed

  2. librarian

  3. System administrator

2) Determine the classes in the system, find out the relationship between the classes and draw the class diagram

  1. User classes
  2. User role class
  3. The book class
  4. Booking class
  5. Borrowing class
  6. The bibliography

The class diagram

3) Draw a sequence diagram of the context “borrower book”

  1. Read the instructions below as well as the UML class diagram and answer questions 1, 2, and 3. Fill in the corresponding columns on the answer sheet.

[that]

In a customer information management system, there are two types of customer information: (1) individual customers. For these customers, the system stores their customer id (generated by the system) and basic information (including name, home phone, and email). (2) Group customers. Group customers can create and manage several contacts of their own. For such customers, the system saves the customer id (generated by the system) as well as the information of their contacts. Contact information includes name, home phone, email, office phone, and position. In addition to saving customer information, the system also has the following functions: (1) addCustomer to the system; (2) According to the given customer id, find the customer (getCustomer) in the system; (3) Delete the customer from the system according to the given customer id (removeCustoner); (4) Create a new contact. (5) Find the specified contact (getContact) in the system; (6) Delete the specified contact from the system (removeContact).Copy the code

The system is developed by object – oriented method. In the stage of object-oriented analysis, according to the above description, the classes as shown in Table 2-1 are obtained.

Table 2-1

The name of the class instructions
CustomerlnformationSystem Customer information management system
IndividualCustomer Individual customers
InstitutionalCustomer The client group
Contact The contact

Figure 2-1 shows the UML class diagram that describes the customer information management system.

  

Figure 2-1 UML class diagram of the customer information management system

Answer the following questions:

  1. Use the terminology in the instructions to give the attributes of class Customer and class Person as shown in Figure 2-1.

  2. Identifying how heavy an association is is an important step in object-oriented modeling. Complete (1) to (6) in the picture according to the description given in the instructions.

  3. According to the instructions of the narrative, abstracts as shown in table 2-2, please point out the classes in figure 2-1 CustomerlnformationSystem and InstitutionalCustomer should have which of these methods respectively.

Table 2-2

Functional description The method name
Add customers to the system addCustomer
Finds the customer in the system based on the given customer identity getCustomer
Deletes the customer from the system based on the given customer identity removeCustomer
Creating a New contact addContact
Finds the specified contact in the system getContact
Deletes the specified contact from the system removeContact

Multiple choice