0% found this document useful (0 votes)
19 views15 pages

SOFTWARE DESIGN Chapter 2

The document outlines various tools for software design, including modeling, prototyping, IDEs, version control, project management, and testing tools. It also details relevant standards such as ISO/IEC and IEEE standards, software development methodologies, coding standards, and security standards. Additionally, it highlights engineering constraints like technical, time, budget, performance, scalability, maintainability, usability, security, and compliance constraints that must be considered in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views15 pages

SOFTWARE DESIGN Chapter 2

The document outlines various tools for software design, including modeling, prototyping, IDEs, version control, project management, and testing tools. It also details relevant standards such as ISO/IEC and IEEE standards, software development methodologies, coding standards, and security standards. Additionally, it highlights engineering constraints like technical, time, budget, performance, scalability, maintainability, usability, security, and compliance constraints that must be considered in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

Relevant tools, Standards, and /or Engineering Constraints

By: ALLAN JAY L. MORILLO, CCpE


Tools for Software Design
1. Modeling Tools:
• Unified Modeling Language (UML)
tools (e.g., Lucidchart, StarUML,
Visual Paradigm)
• Entity-Relationship Diagram
(ERD) tools (e.g., dbdiagram.io,
MySQL Workbench)
• Flowchart Tools (e.g., Draw.io,
Microsoft Visio)
Tools for Software Design
2. Prototyping Tools:
• Figma, Adobe XD, Axure RP, Sketch
Tools for Software Design
3. Integrated Development
Environments (IDEs):
• Visual Studio, IntelliJ IDEA, Eclipse
Tools for Software Design
4. Version Control Tools:
• Git (GitHub, GitLab, Bitbucket)
• SVN (Subversion)
Tools for Software Design
5. Project Management Tools:
• Jira, Trello, Asana
Tools for Software Design
6. Testing and Debugging Tools:
• Selenium, Postman, JUnit
Relevant Standards
1. ISO/IEC 25010 Standards:
• ISO/IEC 25010: System and
software quality models
• ISO/IEC 12207: Software lifecycle
processes.
• ISO/IEC 27001: Information security
management.
Relevant Standards
2. IEEE Standards:
• IEEE 830-1998: Recommended
practice for software requirements
specification.
• IEEE 1016-2009: Recommended
practice for software design
descriptions.
• IEEE 1471-2000 (suspended by
ISO/IEC 42010): Architecture
description of software-intensive
system.
Standards
1. Software Development
Methodologies:
• Agile: Emphasizes iterative
development, customer feedback,
and flexibility (Scrum, Kanban).
• Waterfall: A more traditional, linear
approach.
Standards
2. Coding Standards:
• Style Guides: (e.g., Google Java
Style Guide, Airbnb JavaScript Style
Guide) Promote consistency and
readability.
• Linting Tools: (e.g., ESLint, Pylint)
Automatically check code for style
and potential issues.
Standards
2. Security Standards:
• OWASP (Open Web Application
Security Project): Provides
guidelines for secure software
development.
• NIST (National Institute of
Standards and Technology): Offers
various cybersecurity frameworks
and standards.
Engineering Constraints
1. Technical Constraints:
• Compatibility with existing systems or
flatforms.
• Performance requirements (e.g.,
response time, throughput).
• Scalability and future growth
considerations.
Engineering Constraints
 Time Constraints
 Budget Constraints
 Performance Constraints
 Scalability Constraints
Maintainability Constraints
 Usability Constraints
 Security Constraints
Compliance Constraints
Important Considerations
 Choosing the right tools and
technologies depends on the
specific project requirements, team
expertise, and available resources.
 Adhering to standards improves
code quality, maintainability, and
team collaboration.
 Understanding and addressing
engineering constraints is crucial
for successful software development.

You might also like