Guide To Project Design Evaluation
Guide To Project Design Evaluation
Dear colleagues, below are some elements to help guide your supervisees to considering in their
design projects. It should be noted that the supervisors have the duty to discuss with their students
and oriented them on how to go about with their projects. Some project topics are very similar, so
the supervisors should work with the students to define concise and concrete objectives of their
projects as well has oriented the topic such that these objectives can be attained upon completion
of their projects. Students should be encouraged to use up-to-date technologies in their projects.
When time will come for us to evaluate the students’ systems design, several critical activities
would be carefully assessed to ensure they can successfully develop their projects such that they
can be robust and efficient. Below are some main elements that the students should include in their
systems design, it should be noted that not all of them are mandatory and will vary depending on
whether the project is a networking project or a software project.
➢ Adequacy of Requirements Analysis should take care of the thoroughness and accuracy of
the gathered requirements, ensuring they align with objectives and user needs.
➢ Requirements Traceability should give the ability to trace requirements to specific system
functionalities and design components, ensuring comprehensive coverage and alignment.
➢ Completeness of Requirements Specifications presents the completeness and clarity of
requirements documentation, ensuring they provide a clear roadmap for system
development.
➢ The Functional Requirements should list the services that the system must perform, and it
should be indicated how the system reacts to certain input data, how it behaves in certain
situations, etc. In some cases, it is indicated what the system should not do. Standard forms
for specifying functional requirements:
▪ A description of a function or object.
▪ Description of the input data and their sources.
▪ Description of the output with an indication of their destination.
▪ An indication of what is needed to execute the function.
Page 1 of 5
▪ If this is a function specification, a description of the preconditions that must be
met before the function is called, and a description of the final condition
(postconditions) that must be met after the completion of the function is required.
▪ Description of side effects (if any).
➢ The Non-Functional Requirements are not directly related to the functions performed by
the system. They are related to the integration properties of the system such as reliability,
response time, security, performance, extensibility, sustainability, reliability, system size
etc. In addition, non-functional requirements can impose restrictions on the system, such
as input and output bandwidth, or the data formats used in the system interface.
➢ Use case diagrams, activity diagrams, state-machine diagrams and sequence diagrams
should be used at this stage to model the system. The sequence diagrams might still be
presented at the design phase.
➢ Estimation of important parts-this activity involves estimating the resources, costs,
benefits, risks, and feasibility of the system.
➢ The project plan should be presented using a Gantt Chart. It should carry the different tasks
of the projects: task, starting date, ending date, duration, dependencies etc.
Architectural Design:
➢ High-level component design involves designing the main components or modules of the
system, such as the hardware, software, network, and user interface, as well as defining
their functions, interactions, and interfaces.
➢ System Architecture focus should be on the effectiveness of the system’s architectural
design, considering modularity, scalability, cohesion, coupling, the ease of integration with
existing systems and future enhancements.
➢ Technology Selection takes care of the appropriateness of technologies (soft and hardware
tools) chosen for system development, including databases, frameworks, and platforms,
based on their alignment with business needs and long-term viability.
➢ Security and Compliance Considerations should consider the incorporation of security and
compliance measures into the system architecture, ensuring adherence to industry
standards and regulatory requirements.
➢ Non-functional requirements should guide the architectural design.
Page 2 of 5
➢ Detailed design involves specifying the detailed features, algorithms, protocols, and
standards of each component or module, as well as testing and verifying their functionality
and performance.
➢ Class diagrams, entity relationship diagrams, component diagrams, data dictionary come
in at this stage.
➢ Development Methodology or Methodologies that will be used in the implementation of
the project should be presented.
➢ Usability and Accessibility should show the ease of use, and accessibility of the system’s
user interface, considering target user demographics and diverse user needs.
➢ The consistency of design elements and user experience should be considered.
➢ User-Centric Design should be adopted in which the system is designed from the
perspective of user interactions, ensuring that the design prioritizes user needs, workflows,
and navigational pathways.
➢ Third-Party Integrations should be considered for students whose projects require a 3rd
party. The effectiveness of third-party integrations, ensuring seamless communication and
interaction with external systems and services should be presented.
➢ API Design should be considered for systems that will require that APIs should be designed
or used, ensuring clarity, consistency, and standard compliance for integration purposes.
➢ Students whose projects will be built on legacy systems should consider Interoperability
with the Legacy Systems. The system’s compatibility and interoperability with existing
legacy systems, should be shown to ensure a smooth transition and coexistence within the
ecosystem.
Security:
➢ The incorporation of security controls, encryption, access controls, and other security
measures, ensuring the protection of sensitive data and system resources should be
presented explicitly.
Page 3 of 5
For Networking Projects
➢ It borrows from some aspects stated in the software requirements section and adds the
aspect of analysing and defining the business goals, technical objectives, and functional
specifications of the network, as well as identifying the network scope, constraints, and
assumptions.
➢ It borrows from some aspects stated in the software design section and adds the aspect of
selecting and applying the appropriate network design principles, architectures, and
frameworks, such as the hierarchical model, the Cisco Enterprise Architectures, or the
PPDIOO lifecycle.
➢ This involves evaluating the network performance, scalability, availability, security, and
manageability, as well as identifying and resolving the potential network bottlenecks,
failures, or vulnerabilities.
➢ This involves testing and verifying the network design using various methods, such as
simulation, modelling, prototyping, or pilot deployment, as well as collecting and
analysing the feedback and results.
➢ The scalability and flexibility of the network architecture to accommodate future growth
and evolving business requirements.
➢ The network topology for redundancy and fault tolerance, ensuring high availability and
resilience against network failures.
Page 4 of 5
➢ Review the network segmentation strategy to ensure proper isolation of critical assets and
secure data traffic.
➢ The effectiveness of access control measures, including authentication, authorisation, and
identity management, to prevent unauthorised access and data breaches.
➢ The implementation of encryption and secure communication protocols to safeguard data
in transit and protect against eavesdropping and data interception.
➢ The network’s ability to handle anticipated bandwidth demands and ensure optimal data
transfer rates.
➢ The implementation of QoS mechanisms to prioritize critical network traffic, ensuring
consistent application performance and minimising latency.
➢ Network monitoring and optimisation practices to proactively identify and address
performance bottlenecks and network congestion issues.
➢ The appropriateness of selected network protocols, ensuring that they align with
operational requirements and provide efficient and secure communication.
➢ The integration of emerging technologies such as SD-WAN, IoT, and cloud networking,
identifying their role in enhancing network capabilities and business operations.
➢ The network’s compatibility with existing legacy systems and infrastructure, ensuring
seamless integration and coexistence within the ecosystem.
➢ The network’s capability to integrate with third-party services, applications, and external
systems, facilitating secure communication and data exchange.
Page 5 of 5