|
IDCS
Syllabus - DSD202
- Systems Development |
|
|
Introduction The
purpose of Systems Development is to
give candidates the knowledge of the methods, disciplines, techniques and skills
used in IT systems development teams so that they have a thorough appreciation
of how such teams operate. This specifically does not require candidates to have
any detailed skills in programming or other aspects of the development process.
Candidates will, however, be expected to have a good understanding of some of
the mathematical techniques that are necessary for system design. General Objectives Upon
successful completion of this module candidates will be able to demonstrate a
satisfactory performance in the following topic areas: A. Systems Project Team. Discuss the need for collaboration between users
and the systems project team. B.
System Life-Cycle Models. Define the basic principles, activities and
deliverables in each stage of a classical (waterfall) model and other life-cycle
models. C.
Software Design. Describe current software design methods and be
able to use some simple examples. D.
Programming Languages. Classify the properties of groups of common
programming languages and their suitability for specific applications. E. Computer-Related Mathematics. Apply computer-related mathematics needed in the
design and implementation of computer systems. F.
Documentation Standards. Discuss the need for system documentation to
agreed standards. G.
Software Testing. Describe the management and documentation of software testing from initial design to implementation and operational performance. Specific Objectives Objective
A: Systems
Project Team A1.Define the range of roles and functions in a typical system development project. A2.Discuss the relationship between user, analyst and
programmer and the need for clear agreement about users' requirements. A3.Specify the tasks and contributions of the members of a systems project
team. A4.Describe the nature of the “systems cycle” and
the need for maintainable systems that have been developed and documented to
defined standards. A5.Apply the concepts of user-driven and user-friendly systems. Objective
B: System
Life-Cycle Models B1.Justify the rationale for the use of a systems development life-cycle. B2.Describe the stages in the waterfall life-cycle model. B3.Discuss the objections to the waterfall model. B4.Show how an alternative model such as the ‘V’ model
may be more useful for managing the development process. B5.Discuss the advantages and applications of other approaches such as the
spiral Objective C: Software Design C1.Name and describe, in outline, some popular
structured design methods, including Object Oriented Design. Relate these to
complete analysis and design methodologies. C2Explain the need for software design methods. C3.Use different methods of specifying design
including pseudo-code, structure diagrams, structured flowcharts and decision
tables. C4.Describe the advantages and disadvantages of the use of each of these methods. C5.Describe the part played by such
methods/methodologies in Software Engineering. Objective
D: Programming Languages D1.Define machine code and show how the CPU executes such code. D2.Explain why it is impractical to write applications in machine code. D3.Describe the characteristics of low level, different types of high level and object oriented programming languages. D4.Describe languages that are used for application
programming with desktop GUI based systems. D5.Describe languages that are used to develop large
integrated, database oriented applications. D6.Discuss the choice of suitable languages for both
application and systems software. Objective E: Computer-Related Mathematics E1. Identify the characteristics of number systems,
describe the benefits and drawbacks of different number systems and why they are
used in given applications. E2.Convert between binary, denary and hexadecimal
integers and perform simple operations up to finding the difference between two
addresses in four-digit Hex. E3.Perform basic arithmetic operations on integers and
real numbers, including base conversions of reals. E4.Select appropriate numerical or logical data types
and data structures and operate on them. E5.Generate, append and test check digits. E6.Define and give examples of a universal set, a
subset of a set, the complement of a set, union and intersection of sets. E7.Draw Venn diagrams to show relations in up to three sets within the
universal set. E8.Use Venn diagrams to demonstrate two-state logic
and the operators AND, NOT, OR and XOR. E9.Construct and use truth tables. E10. Define and operate on two-dimensional numeric arrays using
scalar, vector and array addition and multiplication. E11.
Use simple Cartesian co-ordinates to describe geometrical figures. E12.
Plot simple shapes on graph paper and express them as two-dimensional
matrices. E13.
Perform simple vector additions to effect translations. E14. Enlarge and reduce shapes by matrix manipulations and
demonstrate the effects on graph paper. E15.
Reflect shapes by matrix operations. Objective F: Documentation Standards F1.Explain the need for documentation and coding standards. F2.List the attributes of good documentation. F3.Produce and assess documentation including flowchart,
structure diagram and/or decision table, program listing, sample output, and
operation instructions for the user and notes on any special techniques used. F4.List and describe documentation produced at each stage of the system
life-cycle. Objective G: Software Testing G1.Show how testing forms a part of the processes
needed to produce good quality robust software. G2.Describe a good overall test system strategy.
Develop a test plan for a computer program, and suggest suitable test
data. G3.Understand how a programmer should desk check
a program design and dry run the corresponding code. G4.Describe some diagnostic aids generated during compilation or runtime. G5.Describe some typical facilities available during interactive debugging, including tools that form part of an integrated development environment. G6.Explain the problems, economics and techniques of program maintenance. 1.5. Notes on Systems Development Candidates are not required to learn or to use any programming languages. However, they do need to understand the software development process and to communicate with other people who may be members of such a project team or managers of user departments. |