Revision

.docx
School
Masinde Muliro University of Science and Technology**We aren't endorsed by this school
Course
COMPUTER S 1014
Subject
Information Systems
Date
Dec 23, 2024
Pages
14
Uploaded by BrigadierMink4215
BIT310 : SOFTWARE ENGINEERING. a)(i) The concept of dominant designs existing in every industry holds true for software engineering as well.In fact,as of 2020, there are 4distinct technologies that are considers dominant. Identify the technologies. ii) A software development company wants to develop a software system to aid in the management and monitoring of transactional activities in a financial institution, they areusing CASE tools computer-based products to support in software engineering activities within the software development process.State the methodologies they are likely to develop using these tools Cloud Computing:Definition: Cloud computing involves the delivery of computing services, including storage, processing power, and software, over the internet (the cloud).Key Providers: Major cloud service providers include Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), and others.Advantages: Scalability, cost-efficiency, flexibility, and the ability to access resources remotely.Microservices:Definition: Microservices is an architectural style that structures an application as a collection of small, independent services that can be developed, deployed, and scaled independently.Characteristics: Decentralized data management, independence of each service, and the ability to use different programming languages and technologies for each service.Advantages: Agility, scalability, easier maintenance, and the ability to adopt different technologies for different components.OOPDEVOPS(ii) CASR tools (Computer-Aided Software Engineering tools) are designed to support various activities in the software development process. Given that the software development company aims to develop a system for managing and monitoring transactional activities in a financial institution, they are likely to use methodologies that align with the characteristics of financial transaction systems. Some methodologiesthey might consider include:Waterfall Model:This is a linear and sequential approach where each phase must be completed before the next one begins. It could be suitable if the requirements for the financial transaction system are well-defined and unlikely to change.Incremental Model:This model involves breaking down the system into smaller, manageable parts, and developing them incrementally. It could be useful if the company wants to deliver partial functionality quickly and iteratively.Agile Methodology:Agile methodologies, such as Scrum or Kanban, are well-suited for projects with evolving requirements. They emphasize collaboration, customer feedback,and the ability to respond to changes during development.RAD (Rapid Application Development):RAD focuses on rapid prototyping and quick feedback. This might be beneficial if the company wants to quickly create a prototype of the system to gather user feedback.
Background image
b)(i) Distinguish between cohesion and coupling as used in SE ii)Software testing is a fundamental necessity during software implementation to ensure that it meets end userrequirements. State software testing strategies that you are likely to use in testing the viability of software system iii) Define what is meant by reverse engineering and re-engineering of a software system, distinguish between these two processes and explain how these two processes are related c)(i) Explain how as a software project manager you would estimate and measure the software development productivity of your team ii)A software cost estimation model is an empirical model derived from data from many software projects.These have been widely used and evaluated.Discuss the relevance of software cost estimation models to an agile software development team in terms of advantages and disadvantages QUESTION 2 MMUST should wish to develop E-waste management software to assist in tracking E-waste material.Some of the activities in E-waste is to receive unused electronic materials and analyse their separation and clasification such as those parts can be reused, those taht can be resolved and those that can be disposed. As a Software engineer you are requested to develop a design of such a software system using the known design approaches QUESTION 3 a) It is widely recognized that change in any complex system such as a software application is inevitable.Discuss why this is the case, outlining atleast reasons and what steps can be taken to prepare to meet the cahallenges in preparation for the inevitable changes. b)Explain what is meant by impact analysis in the context of software change management and outline the process of change management discussing when and how Impact analysis is carried out, and why it is important QUESTION 4 You have been appointed as project a manager for a small company trying to develop the next gen of web technologies for a very competitive retail market. a) Discuss your approach to teamselection and structures and the mechanisms you would choose to control and deliver project success for this organization. b) Discuss the view that managing the software projects of today is no different from managing the projects in other business sectors QUESTION 5 a) Microservices architecture seems like the obvious choice for software development but is it that obvious when you're migrating from a monolithic architectureto a microservices one? Well, not quite. For instance, your problems with your current architecture might not be a s severe as they were in the case of Netflix or as growth inhibiting as in the case of Uber.Maybe the monolithic architecture works 'just fine as it is'. in this case how do you convince your team that the microservices is the way ahead b) What is common between the four dominant software engineering Designs For efficient implementation of microservices, there must be an ecosystem several technologies which include docker, kubernetes, Github and a programming language. Provide an illustration on the role of each in the ecodydtem.ChatGPTChatGPTLet's break down each part of your questions:Question (b):(i) Distinguish between cohesion and coupling as used in SE:Cohesion: Cohesion refers to the degree to which elements within a module or component are related to one another. It measures how closely the components in a module work together to achieve a single purpose. High cohesion is generally desirable because it leads to more maintainable and modular code.Coupling: Coupling, on the other hand, is the degree of dependence between modules or components. It measures how much one module relies on another. Low coupling is typically desired as it makes the system more modular and easier to maintain.
Background image
(ii) Software testing strategies:Unit Testing: Testing individual units or components in isolation.Integration Testing: Testing interactions between integrated components or systems.System Testing: Testing the entire system as a whole.Acceptance Testing: Ensuring the software meets user requirements.Regression Testing: Checking for unintended side effects after changes.Performance Testing: Assessing the system's responsiveness, speed, and scalability.Security Testing: Identifying vulnerabilities and ensuring data protection.(iii) Reverse engineering vs. re-engineering:Reverse Engineering: Analyzing an existing system to understand its components and functions without having access to its source code or design documentation.Re-engineering: Restructuring or modifying existing software to improve its performance, maintainability, or other qualities.Question (c):(i) Estimating and measuring software development productivity:Estimation: Use historical data, expert judgment, and project requirements to estimate effort and time.Measurement: Track progress, analyze metrics like lines of code written, issues resolved, and adherence to schedules.(ii) Software cost estimation models in Agile:Advantages: Provide initial estimates, help with resource allocation.Disadvantages: Agile projects embrace change, and fixed estimates may conflict with this flexibility.Question 2:Develop a design for E-waste management software using known design approaches.Question 3:(a) Reasons for inevitable change in software applications:Evolving Requirements: Business needs and user expectations change.Technological Advances: New technologies may offer better solutions.Regulatory Changes: Compliance requirements may change.Question 4:(a) Team selection and project success:Team Selection: Consider expertise, communication skills, and compatibility.Project Success Mechanisms: Clear goals, effective communication, regular assessments.(b) Managing software projects vs. other sectors:Similarities: Goal alignment, resource management, risk assessment.Differences: Rapid technology changes, iterative development in software.Question 5:
Background image
(a) Convincing a team on Microservices:Highlight Benefits: Scalability, modularity, independent deployment.Provide Examples: Case studies of successful transitions.Address Concerns: Address potential challenges and risks.(b) Commonalities between dominant software engineering designs:Cloud Computing: Emphasizes accessibility and scalability.Microservices: Promotes modularity and scalability.Agile Development: Focused on flexibility and customer collaboration.CASR Tools: Support for Computer-Aided Software Engineering activities.Microservices Ecosystem:Docker: Containerization for packaging and deploying microservices.Kubernetes: Orchestration for managing and scaling containerized applications.GitHub: Version control and collaboration platform.Programming Language: Chosen based on project requirements and team expertise.SOFTWARE ENGINEERINGPAPER 2QUESTION 1a)Define the following terms; software, software engineering, software engineerb) Briefly explain the modern way of building softwarec)Good software must deliver on its functional and non-functional requirements.For a case of software for automating student clearance from a university, suggest any 5 ; functional requirements , non-functional requirementsd) State and explain any four roles played by a software engineere) Differentiate between the following software engineering concepts ; software engineering vs computer science, software maintainability vs dependability , software acceptability vs efficiencyf) identify any 4 elements of software sengineeringQUESTION 2In a certain university it was observed that students make very long queues with manual clearance forms in different offices during the process of clearance. As an ICT manager, you decide to write a board paper for approval to create a software that can aid student clearance, Write a sample board paper to this effectQUESTION 3 a) Discuss the various software design levels differentiating among themb)Cohesion is a measure that defines the degree of intra-dependability within elements of a module.The greater the cohesion the better the programme design. There are seven types of cohesion. Explain those known to you
Background image
QUESTION 4Discuss the concept of computer crime in relation to global health and emporiatrics. Specify and suggest ways of solving and preventing themQUESTION 5a) Distinguish between software process metrics and software product metricsb) Write a brief overview of the various forms of software process metrics available today and discuss how they might be usefully employed from the initial project stages, through to the commisioning of a new system. Illustrate your anser with examplesc) Define what is meant by reverse engineering and re-engineering of a software system, distinguish between these two processes and explain how these two processes are relatedChatGPTQUESTION 1:(a) Definitions:Software: Software refers to a set of instructions that tell a computer how to perform specific tasks. It includes programs, scripts, and data required for the computer to execute tasks.Software Engineering: Software engineering is the systematic design, development, testing, and maintenance of software. It involves applying engineering principles to software development processes.Software Engineer: A software engineer is a professional who applies engineering principles to the entire software development process, from requirements gathering to maintenance. They design, develop, test, and maintain software systems.(b) Modern Way of Building Software:The modern way of building software often involves Agile methodologies, DevOps practices, and cloud-based technologies. It emphasizes iterative development, continuous integration, and delivery.(c) Functional and Non-functional Requirements for Student Clearance Software:Functional Requirements:
Background image
User Authentication: The system should authenticate users, ensuring that only authorized individuals can access and use the clearance system.Clearance Form Submission: Students should be able to submit electronic clearance forms through the system.Automated Approval Workflow: The system should facilitate an automated workflow for clearance approval by relevant authorities.Real-time Status Updates: Students and administrators should be able to view real-time clearance status updates.Data Export: The system should allow the export of clearance data for reporting purposes.Non-functional Requirements:Performance: The system should respond within 2 seconds under normal load conditions.Scalability: The system should handle a 20% increase in user load without performance degradation.Security: Data should be encrypted during transmission, and the system should comply with university data security policies.Usability: The system should have an intuitive user interface, and training should not exceed one hour for end-users.Reliability: The system should be available 99.9% of the time.(d) Roles Played by a Software Engineer:Software Developer: Designs, codes, and tests software applications.Systems Analyst: Analyzes user requirements and designs system solutions.Quality Assurance Engineer: Ensures software quality through testing and quality control.Project Manager: Manages the planning, execution, and closing of software projects.(e) Differentiating Software Engineering Concepts:Software Engineering vs. Computer Science: Software engineering focuses on designingand building software systems, while computer science encompasses a broader range of theoretical and practical aspects of computing, including algorithms, data structures, and programming languages.Software Maintainability vs. Dependability: Maintainability refers to how easily software can be modified or updated, while dependability emphasizes the reliability, availability, and security of a system.Software Acceptability vs. Efficiency: Acceptability considers user satisfaction and adherence to user requirements, while efficiency relates to the system's performance and resource utilization.
Background image
(f) Elements of Software Engineering:Requirements Engineering: Gathering, analyzing, and documenting user requirements.Software Design: Creating a blueprint for software structure and behavior.Coding/Implementation: Writing the actual code based on design specifications.Testing: Evaluating software to ensure it meets specified requirements.QUESTION 2:Board Paper Sample:[Your University's Letterhead][Date][Recipient's Name and Title][University Name]Subject: Proposal for Software Development to Streamline Student ClearanceDear [Recipient's Name],I am writing to propose the development of a software solution aimed at optimizing and streamlining the student clearance process within our university.Background:Our current manual clearance process leads to long queues, inefficiencies, and potentialerrors. Implementing a software solution would not only enhance the overall clearance experience but also improve accuracy and data management.Objective:The objective of this proposal is to gain approval for the development of a comprehensive student clearance system that automates the entire clearance workflow.Key Features:User Authentication: Ensure secure access to the system for authorized personnel.Electronic Form Submission: Allow students to submit clearance forms electronically.
Background image
Automated Approval Workflow: Implement an automated workflow for faster clearance processing.Real-time Status Updates: Enable students and administrators to track clearance status in real-time.Data Export: Facilitate easy data export for reporting and auditing purposes.Benefits:Reduced queues and waiting times.Increased accuracy and data integrity.Improved communication between students and administrators.Enhanced reporting and monitoring capabilities.Cost Estimate:A detailed cost estimate will be provided upon approval to proceed with the project.Timeline:The estimated timeline for the development and implementation is [insert duration].Conclusion:Implementing this software solution aligns with our commitment to efficiency, accuracy,and a positive user experience for both students and administrative staff. I request yourapproval to proceed with this project, and I am available for any further clarification or discussion.Thank you for considering this proposal.Sincerely,[Your Full Name][Your Title][Your Contact Information]QUESTION 3:(a) Various Software Design Levels:Architectural Design: High-level structure and relationships.High-level Design: Subsystem specifications and interactions.Detailed Design: Component-level specifications and algorithms.(b) Seven Types of Cohesion:
Background image
Coincidental Cohesion: Elements are grouped arbitrarily, with no meaningful relationship.Logical Cohesion: Elements perform similar tasks, but there is no strong relationship.Temporal Cohesion: Elements are grouped based on timing or order of execution.Procedural Cohesion: Elements are grouped because they are part of a common procedure.Communicational Cohesion: Elements are grouped because they operate on the same data.Sequential Cohesion: Elements are grouped because the output of one is the input of another.Functional Cohesion: Elements are grouped based on related functionality, considered the strongest and most desirable type.QUESTION 4:Discussing computer crime in relation to global health and emporiatrics, along with prevention and solutions, exceeds the character limit. Please specify if you'd like me to focus on a particular aspect.QUESTION 5:(a) Software Process Metrics vs. Software Product Metrics:Software Process Metrics: Measure the efficiency of the software development process itself (e.g., time to deliver, defect density, productivity).Software Product Metrics: Measure characteristics of the software product (e.g., code complexity, reliability, maintainability).(b) Overview of Software Process Metrics:Lead Time: Time taken from project initiation to completion.Cycle Time: Time taken to complete one cycle of the development process.Effort: The amount of human resources expended on the project.Defect Density: Number of defects per size of the software product.These metrics can be employed from the initial project stages for planning and resourceallocation, through development for progress tracking, and finally to commissioning for evaluating the success of the system.(c) Reverse Engineering vs. Re-engineering:
Background image
Reverse Engineering: Analyzing an existing system to understand its design and functionality without access to its source code.Re-engineering: Restructuring or modifying existing software to improve its performance, maintainabilityBIT 312: INFORMATION MANAGEMENTPAPER 1YouQUESTION 1 a) Briefly discuss the managerial roles with respect to IS in an organization b) State types of maintanance that may be carried out on IS c) What roles does an IS play in an organization d) Describe the functionality of Decision Support System e) Explain your understanding of Information System resources f) Briefly describe the management hierachy g) What are the types of IS control? QUESTION 2 a) MMUST intends to install an ERP, discuss the objectives of this IS b) ICT manager of MMUST is required to give a talk to new recruits on ethical issues related to using ICT systems. Explain points the manager should highlight c) Distinguish between physical and humanInformation Systems resources QUESTION 3 a) Evaluate ways in which ICT governance could assist an organisation in its strategies b) DIstinguish between 'bussiness ethics' and 'technology ethics' c) Evaluate any challenges that are likely to be encountered during project implementation d) Explain the components of management IS QUESTION 4 a) DSS is an interactive computer based system which help decision makers utilize data and model to solve unstructured problems. Discuss the merits of this system b) Explain factord that would prompt an organization to automate its processes c) State and explain the managerial functions as applied in IM QUESTION 5 a) Businesss process is define as a set of activities performed across the organization creating an output of value to the customer. Discuss the elements inherent in the above process b) Explain ways in which technologies in industry 4.0 have revolutionized organizationsChatGPTChatGPTQUESTION 1a) Managerial Roles with Respect to IS in an Organization:Managers play variousroles in managing information systems (IS) within an organization. These roles can be categorized into three main types:1.Interpersonal Roles:Involving activities such as figurehead, leader, and liaison.2.Informational Roles:Involving activities such as monitor, disseminator, and spokesperson.3.Decisional Roles:Involving activities such as entrepreneur, disturbance handler, resource allocator, and negotiator.b) Types of Maintenance for IS:There are different types of maintenance that may be carried out on IS:1.Corrective Maintenance:Fixing errors or bugs.
Background image
2.Adaptive Maintenance:Adapting the system to changes in the environment.3.Perfective Maintenance:Enhancing and improving system performance.4.Preventive Maintenance:Proactively preventing potential issues.5.Security Maintenance:Improve systems’ security and prevent breaches6.Routine Maintenance:Scheduled maintenance of the IS7.Hardware Maintenance:Carried out on physical components of the IS such as servers8.Database Maintenance:Optimize and manage the DBMS that supports the ISc) Roles of an IS in an Organization:Information Systems play various critical roles, including:1.Supporting Business Processes:Automation and optimization of business processes.2.Providing Decision Support:Supplying information for decision-making.3.Facilitating Communication and Collaboration:Enhancing communication within and outside the organization.4.Managing Data and Information:Storage, retrieval, and management of data.5.Enhancing operation efficiency:through automation of repetitive and boring tasks d) Functionality of Decision Support System (DSS):A DSS is designed to assist decision-makers by providing interactive access to relevant data and analytical tools. It helps in solving unstructured problems by:1.Data Collection and Analysis:Gathering relevant data.2.Modeling:Using models for decision-making scenarios.3.What-If Analysis:Exploring various scenarios.4.Interactive User Interface:Allowing users to interact with the system.e) Understanding of Information System Resources:Information System resources include hardware, software, data, procedures, and people. These resources collectively contribute to the effective functioning of an information system within an organization.f) Management Hierarchy:The management hierarchy typically consists of three main levels:1.Top-level Management:Responsible for strategic decisions.2.Middle-level Management:Coordinates and implements policies.3.Front-line (Operational) Management:Involved in day-to-day operations.g) Types of IS Control:There are various types of IS control, including:1.Access Controls:Managing user access to information.2.Data Integrity Controls:Ensuring data accuracy and reliability.3.Security Controls:Protecting against unauthorized access.4.Audit Controls:Monitoring and tracking system activities.QUESTION 2
Background image
a) Objectives of Implementing ERP at MMUST:1.Integration of Processes:Streamlining and integrating various organizational processes.2.Improved Data Accuracy:Enhancing the accuracy and reliability of organizational data.3.Enhanced Decision-Making:Providing real-time information for better decision-making.4.Cost Reduction:Eliminating redundancy and improving efficiency.b) Ethical Issues in ICT Systems for New Recruits:The ICT manager should highlight:1.Data Privacy:The importance of respecting and protecting user data.2.Cybersecurity:The need for secure practices to prevent data breaches.3.Software Licensing:Ensuring legal and ethical use of software.4.Professional Conduct:Promoting honesty, integrity, and professionalism in ICT roles.c) Distinguishing Between Physical and Human IS Resources:1.Physical Resources:Hardware, servers, networks, and other tangible assets.2.Human Resources:People, skills, knowledge, and expertise involved in managing and using information systems.QUESTION 3a) ICT Governance Assisting Organizational Strategies:1.Alignment with Business Goals:Ensuring ICT strategies align with overall business objectives.2.Risk Management:Identifying and mitigating risks associated with ICT.3.Resource Optimization:Efficient use of ICT resources to support organizational strategies.b) Business Ethics vs. Technology Ethics:1.Business Ethics:Deals with moral principles in the business environment.2.Technology Ethics:Focuses on ethical considerations related to the development and use of technology.c) Challenges During Project Implementation:1.Budgetary Constraints:Limited financial resources.2.Resistance to Change:Employee reluctance to adopt new technologies.3.Technical Challenges:Issues with software or hardware.4.Communication Problems:Ineffective communication among project stakeholders.
Background image
d) Components of Management IS:Management Information Systems typically consist of:1.Data Input:Gathering relevant data.2.Processing:Analyzing and organizing data.3.Output:Presenting information for decision-making.4.Feedback:Assessing the impact of decisions.QUESTION 4a) Merits of Decision Support Systems (DSS):1.Improved Decision-Making:Providing relevant and timely information.2.Flexibility:Adapting to different decision-making scenarios.3.User-Friendly Interfaces:Making it accessible to non-technical users.4.What-If Analysis:Allowing exploration of various decision options.b) Factors Prompting Automation in Organizations:1.Efficiency:Streamlining processes for increased efficiency.2.Accuracy:Minimizing human errors in repetitive tasks.3.Cost Savings:Reducing labor costs and improving resource utilization.4.Competitive Advantage:Staying competitive in the market.c) Managerial Functions in IM (Information Management):1.Planning:Developing strategies and plans for information management.2.Organizing:Structuring and arranging resources for effective information management.3.Leading:Guiding and motivating individuals in the information management process.4.Controlling:Monitoring and evaluating information management activities.QUESTION 5a) Elements Inherent in Business Process:1.Inputs:Resources, data, and materials required for the process.2.Activities:Tasks and steps involved in the process.3.Outputs:End results or products generated by the process.4.Value to Customer:The impact and benefit the process provides to the customer.b) Technologies in Industry 4.0 Revolutionizing Organizations:1.IoT (Internet of Things):Connecting and optimizing physical devices.2.AI and Machine Learning:Enhancing automation and decision-making.3.Blockchain:Improving transparency and security in transactions.4.Big Data Analytics:Extracting valuable insights from large datasets.
Background image
Background image