Multimedia University of Kenya**We aren't endorsed by this school
Course
IT 25
Subject
Information Systems
Date
Jan 6, 2025
Pages
2
Uploaded by MagistrateWallabyPerson1220
Name: Dennis Ndirangu WangariReg No: CIT-222-004/2021SOFTWARE DEV TOOLS & ENVR (BCT 2308)CAT 1 online1. Explain why professional software is not just the programs that are developed for a customer? (2 marks)- Professional software includes more than just programs for a customer because it encompasses the entire software development process, including design, testing, documentation, and ongoing support, not just the end product.2. What is the most important difference between generic software product development and custom software development? What might this mean in practice for users of generic software products? (3 marks)- The most important difference between generic software product development and custom software development is that generic software is built for a broad audience with diverse needs, while custom software is tailored to a specific customer's unique requirements. This means that users of generic software may need to adapt their processes to fit the software's features, while custom software aligns with the customer's existing workflows more closely.3. What are the four important attributes that all professional software should have? Suggest four other attributes that may sometimes be significant. (4 marks)Important attributes of Professional Software:1. Reliability2. Maintainability3. Scalability4. SecurityOther Significant Attributes:1. Usability2. Performance3. Portability4. Extensibility4. Suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements engineering process. (3 marks)- Distinguishing between user requirements and system requirements is important in requirements engineering because user requirements focus on what the software should do from the user's perspective, while system requirements detail how the software will achieve those objectives from a technical standpoint. This separation ensures that the software meets both user needs and technical constraints.5. Explain the four types of activities in any software process. (4 marks)
a.Specification: Defining what the software should do, its features and requirements.b.Development: Creating the software’s code and components based on the specifications.c.Validation: Ensuring that the software works correctly and meets its requirements through varous testing and quality assuarance activities.d.Evolution: Making ongoing changes, updates and improvements to the software over its lifecycle.6. Give four reasons why software engineering is important? (4 marks)a. Ensures quality and reliability of software.b. Manages complexity in large-scale projects.c. Facilitates collaboration among development teams.d. Enhances cost-effectiveness and project predictability.7. Explain the six activities in software development life cycle. (6 marks)a. Requirements gathering and analysis: Identifying and documenting what the software should do and understanding constraints.b. System design and specification: Creating a design and detailed specifications for the software’s structure and functionality.c. Implementation and coding: Writing the code based on the design and specifications.d. Testing and quality assurance: Thoroughly testing the software to identify and fix defects and ensure it meets requirements.e. Deployment and integration: Releasing the software into the production environment, integrating with other systems and providing user training and support.f. Maintenance and support: Addressing issues, applying updates and making improvements post-deployment to keep the software functional and relevant.8. Requirements engineering is an important stage in software development. Describe the four activities in requirements engineering process. (4 marks)a. Eliciting requirements: Identifying and gathering user needs and expectations.b. Analyzing requirements: Evaluating and refining requirements for clarity, consistency, and feasibility.c. Specifying requirements: Documenting requirements in a structured format that developers can understand and use.d. Validating requirements: Ensuring that the requirements accurately represent what the customer needs and that they are testable and achievable.