Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Error:

Errors in software engineering:


Error:
• Definition: An error is a mistake made during the software development process. It occurs when a programmer or
developer introduces a flaw in the code or logic, leading to unintended results when the software is executed.
• Nature: Errors are human-made and are a natural part of the software development process.
• Causes:
◦ Misunderstanding Requirements: Errors can arise when the development team or the developer fails to fully
understand a requirement definition. This misunderstanding gets translated into buggy code.
◦ Wrong Logic or Syntax: Errors can result from incorrect logic, syntax, or loops, impacting the end-user
experience.
• Detection:
◦ Errors are detected by comparing the expected results (as per requirements) with the actual results produced
by the software.
• Examples:
◦ Logical Errors: These cause the code to break or produce incorrect results.
◦ Syntax Errors: Typos or incorrect language constructs.
◦ Design Issues: Misaligned architecture or flawed design decisions.
• Importance: Identifying errors early allows for timely resolution before software delivery.
Errors are part of the learning process, and addressing them improves the overall quality of software!

Effort Distribution:
• Definition: Effort distribution refers to how development or testing effort is allocated across different phases or
activities within a software project.
• Phases: Effort is distributed across phases like requirements analysis, design, coding, testing, and deployment.
• Factors Influencing Distribution:
◦ Project Size: Larger projects may allocate more effort to requirements and design.
◦ Project Type: Agile projects emphasize iterative development, while traditional projects follow a sequential
approach.
◦ Team Expertise: Effort distribution depends on team skills and familiarity with specific phases.
• Challenges:
◦ Estimation: Accurate effort estimation for each phase is challenging due to uncertainties.
◦ Adaptability: Effort distribution may change during the project lifecycle.
• Benefits:
◦ Resource Allocation: Proper effort distribution ensures optimal resource utilization.
◦ Risk Management: Focusing effort on critical phases mitigates project risks.

Explain coding and testing phase of software development.


1. Design Phase:
• Definition: The design phase is where the blueprint of the software system is created. It involves planning how the
software will be structured, what components it will have, and how they will interact.
• Key Activities:
◦ Architectural Design: Deciding on the overall system architecture, including high-level components, data flow, and
interfaces.
◦ Detailed Design: Creating detailed specifications for each module or component, including data structures,
algorithms, and user interfaces.
◦ User Experience (UX) Design: Focusing on how users will interact with the software, ensuring usability and
aesthetics.
• Importance: A well-designed system sets the foundation for efficient development and maintenance.
2. Coding Phase:
• Definition: The coding phase is where the actual creation of the software takes place. It involves programmers and
developers writing code based on the requirements and design specifications outlined in earlier phases.
• Analogy: Imagine building a house—this phase is where the actual structure is put together, brick by brick. Similarly, in
software terms, this is where the real coding magic happens.
• Key Steps:
◦ Coding: Developers write the actual code for the software, creating its features and functionality.
◦ Integration: Different parts of the software, often developed separately, are combined to work together as a whole.
◦ Component Testing: Each part of the software is tested individually to ensure it works correctly.
• Importance: The success of this phase lays the foundation for how well the software will work.
3. Testing Phase:
• Definition: After coding, the software enters the testing phase. Here, it is thoroughly tested for bugs, defects, and
compliance with requirements.
• Key Activities:
◦ Functional Testing: Verifies that the software functions as expected.
◦ Regression Testing: Ensures that new code changes do not break existing functionality.
◦ Performance Testing: Evaluates system responsiveness, scalability, and resource usage.
◦ User Acceptance Testing (UAT): Involves end-users validating the software against their needs.
• Fixing Issues: Any defects found during testing are fixed until the software is ready for deployment.

Explain the verification techniques for Detailed design.


1. Design Walkthrough:
• Description: A design walkthrough is a manual methodof verification.
• Process:
◦ The designer or the leader of the designer’s group organizes an informal meeting.
◦ The walkthrough group typically includes the designer and other team members.
◦ Participants review the detailed design, discussing its consistency with system specifications.
• Purpose: Identify any discrepancies or issues early in the design process.
• Note: Fixing errors discovered during the walkthrough occurs later, not during the meeting.
2. Critical Design Review (CDR):
• Objective: Ensure that the detailed design adheres to the system design specifications.
• Participants:
◦ Author of the detailed design.
◦ Member of the system design team.
◦ Programmer responsible for coding the module(s) under review.
◦ Independent software quality engineer.
• Focus: Detect design errors or undesirable properties.
• Mindset: The meeting aims to uncover issues, not necessarily fix them immediately.
• Action Items: The meeting concludes with a list of action items for later resolution.
3. Consistency Checkers:
• Automated Approach: Consistency checkers act like compilers, analyzing the design specified in a formal language
(e.g., PDL).
• Detection: These tools identify design defects by checking for consistency and adherence to rules.
• Advantages: Useful when the design is expressed in a formally defined language.

Define: Module and Modular System.


a. Module:
• A module is a physical or conceptual grouping of components within a larger system.
• It represents a self-contained unit responsible for a specific functionality.
• Modules can be developed, tested, and maintained independently.
• Examples of modules include software libraries, hardware components, or subsystems.
b. Modular System:
• A modular system is a design approach that breaks down a complex system into smaller, independent, and
interchangeable modules.
• Each module performs a specific function and has well-defined interfaces to communicate with other modules.
• Benefits of modular systems include reusability, scalability, and ease of maintenance.
• Examples include car platforms (where different car models share common components) or the USB port in computer
engineering platforms.

Differentiate between Top-down and Bottom-up approaches


a. Top-Down Approach:
• Flow of Communication and Decision-Making:
◦ Direction: In the top-down approach, communication and decision-making flow from top to bottom.
◦ Leadership Role: Leaders or executives set goals, objectives, and strategies for the organization.

2
◦ Assumption: Leaders have the best knowledge and vision of the organization and its environment.
◦ Use Cases: Top-down approach is suitable for situations requiring speed, efficiency, consistency, and control (e.g.,
product launches, crisis management).
• Employee Participation and Autonomy:
◦Low Participation: Employees have low participation and autonomy.
◦ Expectation: They follow orders and instructions without questioning or challenging them.
• Culture and Environment Created: Often results in a structured, hierarchical culture.
b. Bottom-Up Approach:
• Flow of Communication and Decision-Making:
◦ Direction: In the bottom-up approach, communication and decision-making flow from bottom to top.
◦ Employee Involvement: Employees or lower levels of the organization actively participate in decision-making.
◦ Assumption: Employees have valuable knowledge and experience of daily operations and challenges.
◦ Use Cases: Bottom-up approach is useful for fostering innovation, creativity, diversity, and empowerment (e.g.,
process improvement, problem-solving).
• Employee Participation and Autonomy:
◦ High Participation: Employees contribute ideas, opinions, and take initiative.
◦ Expectation: Their insights improve decision quality.
• Culture and Environment Created: Encourages a collaborative, inclusive culture.
Differentiate between System design and Detailed design
a. System Design:
• Objective: System design focuses on creating a high-level plan for the entire software system.
• Scope:
◦ Overview: System design outlines the overall structure, architecture, and major components of the system.
◦ Emphasis: It addresses system-wide concerns, such as scalability, reliability, and performance.
• Activities:
◦ Architectural Design: Defining the system’s structure, including modules, interfaces, and their interactions.
◦ Database Design: Designing the database schema, relationships, and constraints.
◦ User Interface Design: Specifying how users will interact with the system.
• Output: The output of system design is a high-level blueprint that guides subsequent development phases.
• Audience: Stakeholders, project managers, and architects.
• Purpose: Ensure alignment with requirements and establish a solid foundation for detailed design.
b. Detailed Design:
• Objective: Detailed design focuses on the specifics of individual system components.
• Scope:
◦ Granularity: Detailed design drills down into the implementation details of each module or subsystem.
◦ Emphasis: It addresses low-level aspects, such as algorithms, data structures, and coding standards.
• Activities:
◦ Component-Level Design: Defining the functionality of each module, including algorithms and data flow.
◦ Interface Design: Specifying how modules communicate with each other.
◦ Data Structure Design: Designing data structures used within modules.
• Output: Detailed design produces specifications that guide programmers during coding.
• Audience: Developers, programmers, and testers.
• Purpose: Enable efficient coding, minimize defects, and ensure adherence to standards.
List the names of verification techniques for System and Detailed design.
a. Peer Reviews:
• Description: An informal method where documents or software programs are reviewed by peers to find faults during
the verification process.
• Purpose: Identify issues early and improve quality without significant resource expenditure.
• Advantages: Efficient, significant, and resource-friendly.
• Disadvantages: Results may suffer if reviewers lack sufficient knowledge.
b. Walk-Throughs:
• Description: A formal and systematic method where the author presents the document to a group (2 to 7 participants).
• Process: Participants ask questions and clarify doubts during the meeting.
• Advantages: Helps find potential faults and facilitates document sharing.
• Disadvantages: Authors may emphasize specific areas of interest or hide critical ones.
c. Inspections:
• Description: The most structured and formal verification method.
• Process: Rigorous examination of the design against specifications.

3
• Purpose: Ensure consistency with system design and adherence to standards.
• Advantages: Thorough and reliable.

List and explain the type of system.


1. Product System:
• Definition: A product system refers to a complete and integrated solution that provides specific functionality or
services.
• Characteristics:
◦ It includes both hardware and software components.
◦Examples: A smartphone, a car, or a home security system.
• Focus: Delivering a tangible product with defined features and capabilities.
2. Service System:
• Definition: A service system focuses on providing intangible services or functions to users.
• Characteristics:
◦ It relies heavily on software and network infrastructure.
◦ Examples: Online banking services, cloud-based storage, or ride-sharing platforms.
• Focus: Offering seamless, reliable services to end-users.
3. Enterprise System:
• Definition: An enterprise system supports the entire organization’s operations and processes.
• Characteristics:
◦ It integrates various business functions (e.g., finance, HR, inventory management).
◦ Examples: Enterprise resource planning (ERP) systems or customer relationship management (CRM) systems.
• Focus: Enhancing efficiency, data consistency, and collaboration across the organization.
4. System of Systems (SoS):
• Definition: A system of systems comprises multiple independent systems that work together to achieve a higher-level
goal.
• Characteristics:
◦ Each subsystem remains autonomous but collaborates with others.
◦ Examples: Smart cities (combining transportation, energy, healthcare, etc.), military command and control systems.
• Focus: Coordinating interactions among diverse systems.

List and explain the characteristics Of system.


1. Organization:
• Definition: Organization implies structure and order within a system.
• Explanation: It refers to the arrangement of components that work together to achieve objectives. In an organization,
hierarchical relationships exist, starting from top-level executives (e.g., the president) down to blue-collar workers. The
organization structure defines roles, responsibilities, and reporting lines.
2. Interaction:
• Definition: Interaction refers to how each component within the system communicates with other components.
• Explanation: In an organization or any system, different parts interact to achieve common goals. For example,
purchasing interacts with production, advertising with sales, and payroll with personnel. Effective interaction ensures
smooth operations.
3. Interdependence:
• Definition: Interdependence means that system components rely on each other.
• Explanation: Subsystems within a system are coordinated and linked according to a plan. One subsystem’s output
becomes the required input for another subsystem. For proper functioning, parts depend on each other. Independence
is limited; instead, components work together.
4. Integration:
• Definition: Integration refers to how a system’s parts are tied together.
• Explanation: Integration goes beyond sharing physical parts or a location. It involves making different components
work together seamlessly. Even though each part performs a unique function, they collaborate within the system.
Integration ensures holistic functioning.
5. Central Objective:
• Definition: The central objective represents the purpose or goal of the system.
• Explanation: Whether real or stated, the objective is determined by higher management. Users must be aware of the
central objective in advance. All system activities align with achieving this objective.

4
Business System: Meaning, Objectives and Types (With Diagram)
Meaning of Business System:
The system helps the business organisations to achieve their goals.

A business system is a combination of policies, personnel, equipment and computer facilities to co-ordinate the activities of a
business organisation.

It establishes the rules and procedures of that organisation, which are to be governed.

Business system decides how data must be handled and is methodically processed. It also controls the procedures of the processed
data and the results to be displayed. For e.g. a system may automatically order parts for an inventory, monitor future corporate
profits or post credit card sales to the on line customer accounts. The overall nature of the business system will reflect the efficiency
of its designers.

Objectives of Business System:


The objectives of business system are:
1. To meet the user and customer needs.

2. To cut down the operating costs and increase savings.

3. To smooth the flow data through various levels of the organisation.

4. To speed up the execution of results with the reliable data available in a system.

5. To handle data efficiently and provide timely information to the management.

6. To establish the most desirable distribution of data, services and equipment’s throughout the organisation.

7. To define a proper method of handling business activities.

8. To eliminate duplicated, conflicting and unnecessary services.

Types of Business Systems:


There are five major types of business systems (Fig. 13.6).

1. Payroll business system


2. Personnel business system
3. Accounts receivable system
4. Accounts payable system
5. Inventory system.

5
1. Payroll Business System:
A payroll system consists of all forms, procedures, files, equipment’s, personnel, and computer support necessary to completely
process the payment of employees. A payroll system fully handles all tax deductions, personal deductions, and the update of payroll
data related to each employee.
It provides for the actual payment of employees, a record of that payment, the modification of all payroll records, and the
preparation of payroll reports. The payroll system must also generate all tax documents to include pay-cheques, W-2 statements,
941 quarterly reports, and a wide range of state and municipal employment tax filings.

Another payroll responsibility is the accurate reporting of all personal deductions to include bonds, medical and life insurance,
profit sharing plans, stock options, credit union deductions, and the garnishing of an employee’s salary by a creditor.

These accumulated totals must be reported accurately to both the recipient of these movies and the individuals from whose salaries
these amounts were deducted. The computer’s support makes it possible to accurately and promptly process a payroll, providing
the input data are properly handled on a timely basis.

2. Personnel Business System:


Personnel system describes varied aspects of an organisation’s work force. The outputs generated by personnel systems are
frequently used in compiling central & state labor power reports. Retail organisations are major users of accounts receivable
systems, since these systems detail monies that are owed to an organisation.

Conversely, accounts payable systems focus on the monies that are owed to an organisation. These two systems parallel to each
other, requiring the continued maintenance of files, their update reporting on movies due and owed, providing customer
statements and invoices, and recording payments made.

3. Accounts Receivable System:


An account receivable systems are monitors the flow of money. An accounts receivable system monitors the people who owe
money to a business. It provides the means to process all data for credit cards and other kinds of charge accounts.

The files contain the individual customer data, including names, addresses, financial charges like, payments received and current
charges. The information is issued as monthly statements of each customer and also provides useful information for management’s
use.

4. Accounts Payable System:


Accounts payable system monitors the organisation to which money is owed. The file structures and input/output (I/O) formats are
similar as the accounts receivable system. It contains the accounts of vendors to whom money is owed. Input will have goods and
services received by the company while outputs include issue of payments and management reports.

5. Inventory System:
Inventory system monitors the status of items held in an inventory. These systems report on the quantities of goods on hand, as
well as when items should be purchased to replenish stock and what critical items are needed. Inventory systems are crucial to
organisations that maintain large and costly inventories.

You might also like