annotated-soft
.pdf
keyboard_arrow_up
School
Troy University, Troy *
*We aren’t endorsed by this school
Course
3332
Subject
Information Systems
Date
Dec 6, 2023
Type
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