annotated-soft

.pdf

School

Troy University, Troy *

*We aren’t endorsed by this school

Course

3332

Subject

Information Systems

Date

Dec 6, 2023

Type

pdf

Pages

8

Uploaded by HighnessSquirrelMaster1003

Q6.1: When describing a system, explain why you ay have to start the design of the system architecture before the requirements specification is complete (3 points) Iterative and Agile Development: In modern software development methodologies, such as Agile or iterative approaches, it is common to begin with a high-level understanding of the project goals and constraints. Faster Time-to-Market: Starting the system architecture early can help accelerate the development process. It allows developers to begin building the foundational components of the system while the requirements are still being refined. This can be crucial when there's pressure to deliver a minimum viable product (MVP) or meet tight deadlines. Resource Allocation: Building the architectural framework early can help allocate resources effectively Continuous Feedback: By starting architecture early, you create opportunities for feedback loops. Q6.2: You have been asked to prepare and deliver a presentation to a nontechnical manager to justify the hiring of a system architect for a new project. Write a list of bullet points setting out the key points in your presentation in which you explain the importance of software architecture (3 points) Introduction Start with a brief overview of the project and its significance to the organization. What is Software Architecture Explain that software architecture is like the blueprint of a building; it defines the structure and relationships of the software components. The Role of a System Architect Clarify the role of a system architect: to design the overall structure of the software system. Ensuring Project Success Why Hire a System Architect Expertise: They bring specialized knowledge and experience in system design. Efficiency: They help prevent costly errors and rework. Risk Management: They mitigate technical risks and ensure the project stays on track. Quality Assurance: They help ensure a robust, maintainable, and scalable system Key Benefits of Software Architecture Stakeholder Communication: It provides a clear visual representation of the project's structure for effective communication. Adaptability: It allows for easy incorporation of changes in requirements. Resource Allocation: Helps in allocating resources optimally. Performance: Ensures the system will meet performance and scalability requirements. Risks of Not Having a System Architect Highlight potential pitfalls: Increased Costs: Rework and delays are costly. Quality Issues: Without a solid architecture, the system may have reliability and maintainability problems. Highlight that a system architect plays a pivotal role in ensuring the project's success.
Q6.3: Explain why design conflicts might arise when designing an architecture for which both availability and security requirements are the most important non-functional requirements (3 points) Logging and Monitoring vs. Privacy: Availability: Extensive logging and monitoring are crucial for diagnosing issues and ensuring high availability. Security: However, logging sensitive information can introduce privacy concerns and security risks if not managed carefully. Resource Overhead vs. Efficiency: Availability: To maximize availability, you may need to design redundant systems, which can require additional hardware, infrastructure, and operational resources. Security: Security measures, such as encryption and authentication, can introduce resource overhead, which can impact system performance and availability. Access Control vs. Accessibility: Availability: An architecture that allows for wide accessibility and ease of use may grant more users access, potentially increasing availability. Security: However, strict access control and authentication measures are often necessary for security, which can restrict accessibility and potentially reduce availability for unauthorized users. Q6.4: Draw diagrams showing a conceptual view and a process view of the architectures of the following systems: (3 points) -- A ticket machine used by passengers at a railway station -- A computer-controlled video conferencing system that allows video, audio, and computer data to be visible to several participants at the same time -- A robot floor-cleaner that is intended to clean relatively clear spaces such as corridors. The cleaner must be able to sense walls and other obstructions.
Q6.6: Suggest an architecture for a system (such as iTunes) that is used to sell and distribute music on the internet. What Architectural patters are the basis for your proposed architecture? (4 points) Client-Server Architecture: Description: The system employs a classic client-server architecture, where clients interact with a central server to access music, make purchases, and manage their libraries. Components: Client (iTunes Application): This is the user-facing application responsible for user authentication, browsing music, purchasing, and library management. Server (Music Distribution Server): The central server hosts the music catalog, user accounts, purchase history, and handles content delivery and transactions. Content Delivery Network (CDN): Description: To ensure efficient and fast content distribution, leverage a CDN for storing and serving music files to reduce latency and improve the user experience. CDN Servers: These servers are strategically located around the world to cache and serve music content to users. Database Architecture: Description: Use a combination of relational and NoSQL databases to store user data, transaction records, music metadata, and user preferences. Components: Relational Database: Stores structured data such as user accounts, purchase history, and transaction records. NoSQL Database: Stores semi-structured data like music metadata and user-generated content (e.g., playlists and reviews). - Q 7.3. Using the UML graphical notation for object classes, design the following object classes, identifying attributes and operations. Use your own experience to decide on the attributes and operations that should be associated with these objects (3 points). a messaging system on a mobile (cell) phone or tablet a printer for a personal computer a personal music system Object Class: Message Attributes: messageID: int (Unique identifier for the message) sender: User (The sender of the message) recipient: User (The recipient of the message) timestamp: DateTime (Timestamp indicating when the message was sent) content: string (The text or multimedia content of the message) Operations: send(content: string, recipient: User): Message (Send a message to a recipient)
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help