0% found this document useful (1 vote)
48 views2 pages

Software Development Course Outline

The document outlines the CS 130 Software Development course at Copperbelt University, detailing the role of systems analysts, software engineering processes, and design techniques. It includes learning outcomes, course content covering software requirements, project planning, and assessment methods. Prescribed and recommended textbooks are also listed to support the course material.

Uploaded by

lukundosikambale
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
48 views2 pages

Software Development Course Outline

The document outlines the CS 130 Software Development course at Copperbelt University, detailing the role of systems analysts, software engineering processes, and design techniques. It includes learning outcomes, course content covering software requirements, project planning, and assessment methods. Prescribed and recommended textbooks are also listed to support the course material.

Uploaded by

lukundosikambale
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

COPPERBELT UNIVERSITY

SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY


INFORMATION SYSTEM DEPARTMENT
CS 130 SOFTWARE DEVELOPMENT
Instructor: Mr C. Kwenda
Email: [Link]@[Link]
Cell: 0779765372

Background and Rationale


a) To understand the role of the systems analyst and the users in developing a computer based
system.
b) Understand and apply the techniques and tools of systems design
c) In-depth study of software engineering processes, procedures and concepts. Various tools
and techniques are introduced for software engineering management. Estimating, planning,
control, metrics, and testing are significant subjects. This course details industry accepted
practices while focusing upon the IEEE standard software development process.

Learning outcomes
 At the end of this course students should be able to:
 appreciate engineering issues involved in developing software systems
 capture, document and analyse requirements
 convert requirements specification into a detailed design
 apply appropriate modelling tools at various stages of development evaluate a
software system

Course Content
1. Introduction
a) Software crisis
b) Causes of software crisis
c) Definitions
i) Software
ii) Software engineering
iii) System engineering
iv) Software process
v) Software process model
vi) CASE
2. Process Models
3. System Design
a) Class diagrams
b) Sequence diagrams
c) Use case diagrams
4. Software Requirements
a) Requirements of the new system
i) User and system requirements
ii) Functional and non-functional requirements
iii) Techniques for describing system requirements
b) Fact finding technique- traditional and modern techniques
i) Interviews
ii) Questionnaires
iii) Observation
iv) Group Interviews
v) JAD
5. Software Cost Estimation
6. Project Planning
a) Who needs software
b) Project management
c) Vision and Scope Document
d) Project Plan
e) Scheduling
f) Risk Plan
7. Verification and Validation
8. System Implementation

Assessment

 Continuous Assessment 40%


 Final Examination 60%

Prescribed Textbooks

1. Sommerville I., Software Engineering, Pearson Education Inc, 9th Edition,

Recommended Textbooks

2. Pressman Roger S., Software Engineering – A Practitioner’s Approach, McGraw Hill, 2009
3. Boehm Barry, Software Engineering Economics, Boehm, Prentice Hall (1981), ISBN: 0-13-
822122-7 3. Brooks Fredrick Jr., The Mythical Man-Month: Essays on Software Engineering,
Brooks, Addison Wesley,1995, ISBN: 0-201-83595-9
4. Harry Andrew, Formal Methods Fact File: VDM and Z, Harry, Wiley,1997, ISBN: 471958573
5. Humphrey Watts, Introduction to the Team Software Process, Humphrey, Addison Wesley,
1999 ISBN: 0-201-47719-X
6. Jones Capers, Assessment and Control of Software Risks, Jones, Prentice-Hall, 1993, ISBN:
0137414064
7. Schach, Irwin, Object Oriented and Classical and Object Oriented Software Engineering,
Schach, Irwin,McGraw-Hill, 8th Edition, 2009 ISBN: 0256182981
8. Yourdon Edward, Death March, Prentice Hall, 2nd Edition, 2003 Yourdon, ISBN: 0-13-
748310-4
9. PBeck K, Fowler M., Planning Extreme Programming, Beck, [Link]., Addison Wesley, 2000,
ISBN: 0-201-71091-9
10. Robillard, [Link]., Software Engineering Processes with UPEDU, AddisonWesley, 2002
Robillard, [Link]., ISBN: 0-201-75454-1

Common questions

Powered by AI

The IEEE standard software development process enhances software engineering projects by providing a structured framework that ensures consistency and quality across the software lifecycle. It emphasizes defined stages such as requirements analysis, design, implementation, and testing, which help project managers provide clear guidelines and checkpoints. This standardization can improve communication, reduce errors, and facilitate better estimation and planning, ultimately leading to more reliable and successful project outcomes .

Class diagrams, sequence diagrams, and use case diagrams each play a unique role in system design. Class diagrams represent the static aspects of the system by showing the system's classes, attributes, operations, and the relationships among objects. Sequence diagrams focus on dynamic behavior by detailing the interaction over time between objects. Use case diagrams capture the functional requirements by outlining the system's interactions with external users or processes. Together, they provide a comprehensive view of both structural and behavioral aspects of system design, ensuring that both current functionalities and future requirements are met .

A vision and scope document outlines the project's high-level goals, objectives, and constraints, providing a clear understanding of what the project aims to achieve. It helps align the expectations among stakeholders and guides the project team by defining the boundaries within which the project operates. This document serves as a reference throughout the project, ensuring that all activities remain aligned with the initial goals, thus contributing to maintaining focus and delivering a successful outcome .

Verification and validation serve different purposes within software systems. Verification focuses on ensuring that the product is built correctly according to specifications and requirements, often through reviews and testing at various stages of development. Validation, on the other hand, ensures that the right product is built by confirming the final software meets the needs of the end-users and stakeholders. Both are necessary as verification prevents errors and issues during development, while validation ensures the delivered system fulfills its intended purpose and contributes to user satisfaction .

Continuous assessment is vital in the software development course as it encourages regular engagement with the material and allows ongoing feedback, which aids in reinforcing learning and addressing knowledge gaps. This approach contrasts with a singular final examination by reducing stress and improving student retention of concepts through frequent evaluation opportunities. It provides a more holistic view of a student's capabilities and progress over time, better preparing students for real-world applications of the course content .

Key challenges leading to a software crisis include the increasing complexity of software systems, inadequate project management, and the lack of standardized processes. These difficulties arise from issues such as ineffective communication between developers and stakeholders, which can lead to unclear requirements and scope creep, contributing significantly to the 'crisis' situation .

The primary components of a project plan in software development include the vision and scope document, detailing the overall goals and boundaries of the project; a project plan outlining the schedule, resources, and milestones; and a risk plan that identifies potential risks and their mitigation strategies. These components ensure that all project aspects are systematically addressed, guiding the project execution and providing a framework for monitoring progress .

Metrics in software engineering management provide quantitative foundations for planning, performing, monitoring, and improving processes and products. They facilitate the assessment of project performance, software quality, and development efficiency, offering insights that guide decision-making. By analyzing metrics, managers can identify trends, anticipate problems, and implement improvements, thus enhancing project management and aligning developments with business objectives .

Software cost estimation is crucial in project planning as it helps in budgeting and resource allocation, influencing decisions regarding feasibility and prioritization. Accurate estimates ensure that projects are financially viable and provide a benchmark against which actual spending can be compared. This reduces the likelihood of budget overruns and helps manage financial risks, ensuring that stakeholders have realistic expectations regarding the costs associated with the project .

Recommended fact-finding techniques include traditional methods such as interviews and questionnaires, and modern techniques like Joint Application Development (JAD). Interviews and questionnaires allow gathering of information directly from users or stakeholders but can be limited by the respondent's articulation of needs or perspectives. JAD sessions involve collaborative workshops with key stakeholders to gather requirements and facilitate consensus, offering a more interactive method that can lead to quicker alignment and discovery of requirements .

You might also like